Page 1 of 1

Consulta TXBrowse (solucionado)

Posted: Tue Jul 04, 2017 6:14 pm
by juan_arroyo_t
Amigos del foro

Esto es parte de mi codigo

Code: Select all | Expand

# 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

Re: Consulta TXBrowse

Posted: Tue Jul 04, 2017 9:34 pm
by armando.lagunas
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: Select all | Expand


 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  ------------------------------------------------^
 

Re: Consulta TXBrowse

Posted: Tue Jul 04, 2017 11:38 pm
by juan_arroyo_t
Armando

Muchas gracias

Quedo perfecto