FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Consulta TXBrowse (solucionado)
Posts: 196
Joined: Fri May 15, 2009 01:25 AM

Consulta TXBrowse (solucionado)

Posted: Tue Jul 04, 2017 06:14 PM
Amigos del foro

Esto es parte de mi codigo

Code (fw): Select all Collapse
# include "fivewin.ch"
# include "xbrowse.ch"

STATIC cAliasCpe, cAliasCde, cAliasDed, cAliasDep, cAliasInc, cAliasIsr, cAliasOpa
STATIC cAliasPer, cAliasPue, cAliasSmi, cAliasTip, cAliasTva, cAlias

FUNCTION Tablas()
   LOCAL oDlg := nil, oWChild := nil, oFld := nil
   LOCAL aoSay := { nil, nil, nil, nil, nil, nil }
   LOCAL aoObjetos := { nil, nil, nil, nil, nil, nil, nil, nil, nil }
   LOCAL aoBtn := { nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, ;
                    nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil }
   LOCAL aoCbx := { nil, nil, nil, nil, nil, nil, nil }
   LOCAL oBrw1, oBrw2, oBrw3, oBrw4, oBrw5, oBrw6, oBrw7
   LOCAL cSay1, cSay2, cSay3, cSay4, cSay5
   LOCAL cMen := "Tablas Control de Personal"
   LOCAL cCveTab, cNomCon, cNomIsr
   LOCAL aGradBarSelFocus:= { { 1, RGB(252,232,171)   , RGB(248,195, 34) } }
   LOCAL aGradBarSel:= {{1, RGB(252,235, 184), RGB(251,222,88)}}

   cAliasCpe := GetNewAlias( "cpersat" )        // catalogo de percepciondes sat
   cAliasCde := GetNewAlias( "cdedsat" )        // catalogo de deducciones sat
   cAliasDed := GetNewAlias( "deduc" )          // catalogo de deducciones empresa
   cAliasDep := GetNewAlias( "deptos" )         // catalogo de departamentos
   cAliasInc := GetNewAlias( "incid" )          // catalogo de incidencias
   cAliasIsr := GetNewAlias( "isr" )            // catalogo de i.s.r.
   cAliasOpa := GetNewAlias( "otrpag" )         // catalogo de otros pagos
   cAliasPer := GetNewAlias( "perc" )           // catalogo de percepciones empresa
   cAliasPue := GetNewAlias( "puestos" )        // catalogo de puestos
   cAliasSmi := GetNewAlias( "salmin" )         // catalogo de salarios minimos
   cAliasTip := GetNewAlias( "tipmov" )         // catalogo de tipos de movimientos
   cAliasTva := GetNewAlias( "tabvac" )         // catalogo de tabla de vacaciones

   if ! net_use( "cpersat",,cAliasCpe,oApp:xDatos ) .or. ;
      ! net_use( "cdedsat",,cAliasCde,oApp:xDatos ) .or. ;
      ! net_use( "deduc",,  cAliasDed,oApp:xDatos ) .or. ;
      ! net_use( "deptos",, cAliasDep,oApp:xDatos ) .or. ;
      ! net_use( "incid",,  cAliasInc,oApp:xDatos ) .or. ;
      ! net_use( "isr",,    cAliasIsr,oApp:xDatos ) .or. ;
      ! net_use( "otrpag",, cAliasOpa,oApp:xDatos ) .or. ;
      ! net_use( "perc",,   cAliasPer,oApp:xDatos ) .or. ;
      ! net_use( "puestos",,cAliasPue,oApp:xDatos ) .or. ;
      ! net_use( "salmin",, cAliasSmi,oApp:xDatos ) .or. ;
      ! net_use( "tabvac",, cAliasTva,oApp:xDatos ) .or. ;
      ! net_use( "tipmov",, cAliasTip,oApp:xDatos )
      return nil; dbCloseAll()
   endif

   oApp:oMnuTab:Disable()
   oApp:aoBtn[5]:Disable()

   cNomCon := "Percepciones"
   cAlias := (cAliasPer)
   cNomIsr := "I.s.r."

   DEFINE WINDOW oWChild mdichild of oApp:oWnd title "Tablas de Control de Personal" ;
      from 00,00 TO 00,00 nomaximize

   DEFINE DIALOG oDlg RESOURCE "DLG_FLD_TABLAS" OF oWChild

   REDEFINE FOLDER oFld ID 800 OF oDlg ;
      PROMPT "Conceptos", "Areas ", "Puestos", "Tipo de movimientos", "Isr", "Salarios Minimos", "Vacaciones", "Datos Patronales" ;
      DIALOGS "DLG_TAB_1", "DLG_TAB_2", "DLG_TAB_2", "DLG_TAB_2", "DLG_TAB_1", "DLG_TAB_2", "DLG_TAB_2", "DLG_TAB_3"

   // Redefine controles dialogo 1 Conceptos de percepciones, deducciones, otros pagos e incidencias

   REDEFINE COMBOBOX aoCbx[1] VAR cNomCon    ID 201 OF oFld:aDialogs[1] UPDATE ;
      ITEMS { "Percepciones", "Deducciones", "Otro Tipo de Pago", "Incidencias", "Cuotas O/P" } ;
      ON CHANGE( IF(Left(cNomCon,1)=="D",cAlias := (cAliasDed), ;
                 IF(Left(cNomCon,1)=="O",cAlias := (cAliasOpa), ;
                 IF(Left(cNomCon,1)=="I",cAlias := (cAliasInc), cAlias := (cAliasPer)))), (cAlias)->(DBGoTop()), oBrw1:refresh(), oBrw1:gotop() )

      oBrw1 := TXBrowse():New( oFld:aDialogs[1] )
      oBrw1:CreateFromResource(500)
      oBrw1:cAlias = cAlias

      oBrw1:nMarqueeStyle       := MARQSTYLE_HIGHLROW
      oBrw1:nColDividerStyle    := LINESTYLE_LIGHTGRAY
      oBrw1:nRowDividerStyle    := LINESTYLE_LIGHTGRAY
      oBrw1:lColDividerComplete := .t.
      oBrw1:bClrStd    := { || If( oBrw1:KeyNo() % 2 == 0, ;
               { CLR_BLACK, RGB( 224, 236, 255 ) }, ;
               { CLR_BLACK, RGB( 189, 211, 253 ) } ) }
      oBrw1:bClrSel       := {|| { nRGB(  0,  0,255), aGradBarSel } }  // para barra de linea selecc cuando el control no tiene el foco
      oBrw1:bClrSelFocus := { || { CLR_BLACK, aGradBarSelFocus } }     // para barra de linea selecc cuando el control tiene el foco
      oBrw1:nFreeze             := 1
      oBrw1:nFooterLines        := 1

      oCol := oBrw1:AddCol()
      oCol:bEditValue := { || (cAlias)->id }
      oCol:cHeader       := "Clave"
      oCol:nWidth        := 70
      oCol:nDataStrAlign := AL_LEFT

      oCol := oBrw1:AddCol()
      oCol:bEditValue := { || (cAlias)->nombre }
      oCol:cHeader       := "Nombre"
      oCol:nWidth        := 300
      oCol:nDataStrAlign := AL_LEFT

   REDEFINE BUTTON aoBtn[1] ID 400 OF oFld:aDialogs[1] UPDATE ;
      ACTION ( cCveTab := Left(cNomCon,1), Agrega_Conceptos(1, cCveTab), oBrw1:refresh() )

   REDEFINE BUTTON aoBtn[2] ID 401 OF oFld:aDialogs[1] UPDATE ;
      ACTION ( cCveTab := Left(cNomCon,1), Agrega_Conceptos(3, cCveTab), oBrw1:refresh() ) WHEN (cAlias)->(LastRec()) > 0

   REDEFINE BUTTON aoBtn[3] ID 402 OF oFld:aDialogs[1] UPDATE ;
      ACTION ( cCveTab := Left(cNomCon,1), Agrega_Conceptos(4, cCveTab), oBrw1:GoTop() ) WHEN (cAlias)->(LastRec()) > 0



Cuando hago el cambio en el combo me muestra el browse me muestra muchos registros cuando en realidad tengo un solo


Si alguien pudiera ayudarme

Muchas gracias
Juan Arroyo
México
FWH 7.12 VERCE 5.3 xHarbour 1.1.0
juan_arroyo_t@hotmail.com
Posts: 346
Joined: Mon Oct 05, 2009 03:35 PM

Re: Consulta TXBrowse

Posted: Tue Jul 04, 2017 09:34 PM

REDEFINE COMBOBOX aoCbx[1] VAR cNomCon ID 201 OF oFld:aDialogs[1] UPDATE ;
ITEMS { "Percepciones", "Deducciones", "Otro Tipo de Pago", "Incidencias", "Cuotas O/P" } ;
ON CHANGE( IF(Left(cNomCon,1)=="D",cAlias := (cAliasDed), ;
IF(Left(cNomCon,1)=="O",cAlias := (cAliasOpa), ;
IF(Left(cNomCon,1)=="I",cAlias := (cAliasInc), cAlias := (cAliasPer)))), (cAlias)->(DBGoTop()), oBrw1:refresh(), oBrw1:gotop() )

oBrw1 := TXBrowse():New( oFld:aDialogs[1] )
oBrw1:CreateFromResource(500)
oBrw1:cAlias = cAlias


lo que veo es que a oBrw1 le pierdes la pista del alias

prueba con esto:

Code (fw): Select all Collapse
 REDEFINE COMBOBOX aoCbx[1] VAR cNomCon    ID 201 OF oFld:aDialogs[1] UPDATE ;
      ITEMS { "Percepciones", "Deducciones", "Otro Tipo de Pago", "Incidencias", "Cuotas O/P" } ;
      ON CHANGE( IF(Left(cNomCon,1)=="D",cAlias := (cAliasDed), ;
                 IF(Left(cNomCon,1)=="O",cAlias := (cAliasOpa), ;
                 IF(Left(cNomCon,1)=="I",cAlias := (cAliasInc), cAlias := (cAliasPer)))), (cAlias)->(DBGoTop()), oBrw1:cAlias := cAlias  , oBrw1:refresh(), oBrw1:gotop() )

      oBrw1 := TXBrowse():New( oFld:aDialogs[1] )
      oBrw1:CreateFromResource(500)
      oBrw1:cAlias = cAlias                              <-------     esto  ------------------------------------------------^
SkyPe: armando.lagunas@hotmail.com

Mail: armando.lagunas@gmail.com
Posts: 196
Joined: Fri May 15, 2009 01:25 AM

Re: Consulta TXBrowse

Posted: Tue Jul 04, 2017 11:38 PM

Armando

Muchas gracias

Quedo perfecto

Juan Arroyo
México
FWH 7.12 VERCE 5.3 xHarbour 1.1.0
juan_arroyo_t@hotmail.com

Continue the discussion