Para Armando Lagunas (TXBrowse)

Para Armando Lagunas (TXBrowse)

Postby juan_arroyo_t » Sat Jul 08, 2017 3:29 pm

Armando

Disculpame por dirigirme a ti directamente, pero ya me ayudaste anteriormente con una consulta que hice sobre TXBrowse y ojalá pudieras con esta otra

Resulta que quiero mostrar un browse que contenga en el primer caso 4 campos y en el segundo tres

Este es un fragmento de mi código

Code: Select all  Expand view  RUN

# include "fivewin.ch"

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

FUNCTION Tablas()
   LOCAL oDlg := nil, oWChild := nil, oFld := nil
   LOCAL aoObjetos := { 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, nil }
   LOCAL aoCbx := { nil, nil, nil }
   LOCAL oBrw1, oBrw2, oBrw3, oBrw4, oBrw5, oBrw6, oBrw7
   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
   cAliasCop := GetNewAlias( "copasat" )        // catalogo otros pagos 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 de asistencia
   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( "copasat",,cAliasCop,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()

   cNomIsr := "I.s.r."
   cCveTab := 1
   (cAliasIsr)->(QuickScope("1"))

   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", "Departamentos", "Puestos", "Movtos. Asistencia", "Isr", "Salarios Minimos", "Vacaciones" ;
      DIALOGS "DLG_TAB_1", "DLG_TAB_2", "DLG_TAB_2", "DLG_TAB_2", "DLG_TAB_1", "DLG_TAB_2", "DLG_TAB_2"

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

   // Redefine controles dialogo 3 Puestos

   // Redefine controles dialogo 4 Tipo de movimientos de asistencia

   // Redefine controles dialogo 5 Tabla de I.S.R.

   REDEFINE COMBOBOX aoCbx[2] VAR cNomIsr    ID 201 OF oFld:aDialogs[5] UPDATE ;
      ITEMS { "I.s.r.", "Subsidio", "Anual I.s.r.", "Anual Subsidio" } ;
      ON CHANGE( IF( cNomIsr == "I.s.r.", cCveTab := 1, ;
                 IF( cNomIsr == "Subsidio", cCveTab := 2, ;
                 IF( cNomIsr == "Anual I.s.r.", cCveTab := 3, cCveTab := 4))), ;
                 (cAliasIsr)->(QuickScope(AllTrim(cStr(cCveTab)))), oBrw5:cAlias := cAliasIsr, ;
                 oBrw5:refresh(), oBrw5:gotop(), oFld:aDialogs[5]:Update() )

      oBrw5 := TXBrowse():New( oFld:aDialogs[5] )
      oBrw5:CreateFromResource(500)
      oBrw5:cAlias := cAliasIsr

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

      IF cCveTab = 1 .or. cCveTab = 3
         oCol := oBrw5:AddCol()
         oCol:bEditValue := { || (cAliasIsr)->liminf }
         oCol:cEditPicture  :=  "99,999,999.99"
         oCol:cHeader  := "Lim Inf"
         oCol:nWidth        := 82
         oCol:nDataStrAlign := AL_RIGHT
         oCol:nHeadStrAlign := AL_CENTER

         oCol := oBrw5:AddCol()
         oCol:bEditValue := { || (cAliasIsr)->limsup }
         oCol:cEditPicture  :=  "99,999,999.99"
         oCol:cHeader  := "Lim Sup"
         oCol:nWidth        := 82
         oCol:nDataStrAlign := AL_RIGHT
         oCol:nHeadStrAlign := AL_CENTER

         oCol := oBrw5:AddCol()
         oCol:bEditValue := { || (cAliasIsr)->cuotafi }
         oCol:cEditPicture  :=  "99,999,999.99"
         oCol:cHeader  := "Cuota Fija"
         oCol:nWidth        := 82
         oCol:nDataStrAlign := AL_RIGHT
         oCol:nHeadStrAlign := AL_CENTER

         oCol := oBrw5:AddCol()
         oCol:bEditValue := { || (cAliasIsr)->porcexc }
         oCol:cEditPicture  :=  "999.99"
         oCol:cHeader  := "% Exced"
         oCol:nWidth        := 82
         oCol:nDataStrAlign := AL_RIGHT
         oCol:nHeadStrAlign := AL_CENTER
      ELSEIF cCveTab = 2 .or. cCveTab = 4
         oCol := oBrw5:AddCol()
         oCol:bEditValue := { || (cAliasIsr)->liminf }
         oCol:cEditPicture  :=  "99,999,999.99"
         oCol:cHeader  := "Lim Inf"
         oCol:nWidth        := 82
         oCol:nDataStrAlign := AL_RIGHT
         oCol:nHeadStrAlign := AL_CENTER

         oCol := oBrw5:AddCol()
         oCol:bEditValue := { || (cAliasIsr)->limsup }
         oCol:cEditPicture  :=  "99,999,999.99"
         oCol:cHeader  := "Lim Sup"
         oCol:nWidth        := 82
         oCol:nDataStrAlign := AL_RIGHT
         oCol:nHeadStrAlign := AL_CENTER

         oCol := oBrw5:AddCol()
         oCol:bEditValue := { || (cAliasIsr)->subsidio }
         oCol:cEditPicture  :=  "99,999,999.99"
         oCol:cHeader  := "Subsidio"
         oCol:nWidth        := 110
         oCol:nDataStrAlign := AL_RIGHT
         oCol:nHeadStrAlign := AL_CENTER
      ENDIF
 


Esta es el link de la imagen del primer caso

https://screenshot.net/es/8gz1ktk

en el segunco caso unicamente quiero que me muestre lim Inf, lim Sup y Subsidio

De antemano muchas gracias
Juan Arroyo
México
FWH 7.12 VERCE 5.3 xHarbour 1.1.0
juan_arroyo_t@hotmail.com
User avatar
juan_arroyo_t
 
Posts: 196
Joined: Fri May 15, 2009 1:25 am
Location: Cuautitlán, Mexico

Re: Para Armando Lagunas (TXBrowse)

Postby armando.lagunas » Mon Jul 17, 2017 2:35 pm

hola, disculpa, estube con unos dias de permiso.

pregunta:

lo resolviste o todavia no?

espero tu respuesta.
SkyPe: armando.lagunas@hotmail.com
Mail: armando.lagunas@gmail.com
User avatar
armando.lagunas
 
Posts: 346
Joined: Mon Oct 05, 2009 3:35 pm
Location: Curico-Chile

Re: Para Armando Lagunas (TXBrowse)

Postby juan_arroyo_t » Mon Jul 24, 2017 12:54 am

Armando

Fijate que aun no lo soluciono

Las opciones 1 y 4 me muestra correctamente las cuatro columnas pero cuando se trata de la 2 o 3 me sigue mostrando las mismas columnas

De antemano muchas gracias
Juan Arroyo
México
FWH 7.12 VERCE 5.3 xHarbour 1.1.0
juan_arroyo_t@hotmail.com
User avatar
juan_arroyo_t
 
Posts: 196
Joined: Fri May 15, 2009 1:25 am
Location: Cuautitlán, Mexico

Re: Para Armando Lagunas (TXBrowse)

Postby armando.lagunas » Tue Jul 25, 2017 12:31 pm

yo aplico tu mismo concepto, pero defino cada tab del folder por separado antes de usarlo.

Hay un metodo en la clase xbrowse que destruye las columnas definidas sin eliminar el objeto principal, es "oBrw5:Destroy()", que es diferente a "oBrw5:End()", prueba con esto entre las sentencias IF.

Code: Select all  Expand view  RUN

IF cCveTab = 1 .or. cCveTab = 3
   oBrw5:Destroy()
   ...
   ...
ELSEIF cCveTab = 2 .or. cCveTab = 4
   oBrw5():Destroy()
   ...
   ...
ENDIF
 


si no funciona, hay que recontruir el xBrowse desde 0 segun la opción del combo, pasando a una función y devolviendo el control ya definido.
sigo estudiando tu codigo, para reconstruirlo y devolverte una solucion viable.

me comentas tus resultados.


Saludos
SkyPe: armando.lagunas@hotmail.com
Mail: armando.lagunas@gmail.com
User avatar
armando.lagunas
 
Posts: 346
Joined: Mon Oct 05, 2009 3:35 pm
Location: Curico-Chile

Re: Para Armando Lagunas (TXBrowse)

Postby juan_arroyo_t » Tue Jul 25, 2017 7:41 pm

Armando

IF cCveTab = 1 .or. cCveTab = 3
oBrw5:Destroy()
...
...
ELSEIF cCveTab = 2 .or. cCveTab = 4
oBrw5():Destroy()
...
...
ENDIF


Ya hice los cambios y me sigue mostrando 4 columnas en todos los casos
Juan Arroyo
México
FWH 7.12 VERCE 5.3 xHarbour 1.1.0
juan_arroyo_t@hotmail.com
User avatar
juan_arroyo_t
 
Posts: 196
Joined: Fri May 15, 2009 1:25 am
Location: Cuautitlán, Mexico

Re: Para Armando Lagunas (TXBrowse)

Postby armando.lagunas » Wed Jul 26, 2017 4:02 pm

Juan:

Prueba con esto, adapté el codigo a lo que creo que puede funcionar, no lo he probado ya que no tengo tus tablas de datos.



Code: Select all  Expand view  RUN

...
...
...
aItems  := { "I.s.r.", "Subsidio", "Anual I.s.r.", "Anual Subsidio" }


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", "Departamentos", "Puestos", "Movtos. Asistencia", "Isr", "Salarios Minimos", "Vacaciones" ;
                                              DIALOGS "DLG_TAB_1", "DLG_TAB_2", "DLG_TAB_2", "DLG_TAB_2", "DLG_TAB_1", "DLG_TAB_2", "DLG_TAB_2"


                    REDEFINE COMBOBOX aoCbx[ 2] VAR cNomIsr  ITEMS aItems ID 201 OF oFld:aDialogs[5]
                                      aoCbx[ 2]:bChange := {|| FuncionBrowse( cNomIsr, oBrw5 , oFld:aDialogs[5] ) }

                              oBrw5 := TXBrowse():New( oFld:aDialogs[5] )
                              oBrw5:cAlias := cAliasIsr
                              oBrw5:CreateFromResource(500)
//---

STATIC FUNCTION FuncionBrowse ( cValor, oBrw5, oFold )

       (cAliasIsr)->(QuickScope(AllTrim(cStr(cCveTab))))
       oBrw5:cAlias := cAliasIsr
       
       IF      cValor = "I.s.r."   .OR. cValor = "Anual I.s.r."
               oCol := oBrw5:AddCol()                  ;  oCol:bEditValue    := { || (cAliasIsr)->liminf }
               oCol:cEditPicture  :=  "99,999,999.99"  ;  oCol:cHeader       := "Lim Inf"
               oCol:nWidth        := 82                ;  oCol:nDataStrAlign := AL_RIGHT
               oCol:nHeadStrAlign := AL_CENTER

               oCol := oBrw5:AddCol()                  ;  oCol:bEditValue    := { || (cAliasIsr)->limsup }
               oCol:cEditPicture  :=  "99,999,999.99"  ;  oCol:cHeader       := "Lim Sup"
               oCol:nWidth        := 82                ;  oCol:nDataStrAlign := AL_RIGHT
               oCol:nHeadStrAlign := AL_CENTER

               oCol := oBrw5:AddCol()                  ;  oCol:bEditValue := { || (cAliasIsr)->cuotafi }
               oCol:cEditPicture  :=  "99,999,999.99"  ;  oCol:cHeader  := "Cuota Fija"
               oCol:nWidth        := 82                ;  oCol:nDataStrAlign := AL_RIGHT
               oCol:nHeadStrAlign := AL_CENTER

               oCol := oBrw5:AddCol()                  ;  oCol:bEditValue := { || (cAliasIsr)->porcexc }
               oCol:cEditPicture  :=  "999.99"         ;  oCol:cHeader  := "% Exced"
               oCol:nWidth        := 82                ;  oCol:nDataStrAlign := AL_RIGHT
               oCol:nHeadStrAlign := AL_CENTER
       ELSE
               oBrw5:DelCol( 4 )
               oCol := oBrw5:AddCol()                  ;  oCol:bEditValue := { || (cAliasIsr)->liminf }
               oCol:cEditPicture  :=  "99,999,999.99"  ;  oCol:cHeader  := "Lim Inf"
               oCol:nWidth        := 82                ;  oCol:nDataStrAlign := AL_RIGHT
               oCol:nHeadStrAlign := AL_CENTER

               oCol := oBrw5:AddCol()                  ;  oCol:bEditValue := { || (cAliasIsr)->limsup }
               oCol:cEditPicture  :=  "99,999,999.99"  ;  oCol:cHeader  := "Lim Sup"
               oCol:nWidth        := 82                ;  oCol:nDataStrAlign := AL_RIGHT
               oCol:nHeadStrAlign := AL_CENTER

               oCol := oBrw5:AddCol()                  ;  oCol:bEditValue := { || (cAliasIsr)->subsidio }
               oCol:cEditPicture  :=  "99,999,999.99"  ;  oCol:cHeader  := "Subsidio"
               oCol:nWidth        := 110               ;  oCol:nDataStrAlign := AL_RIGHT
               oCol:nHeadStrAlign := AL_CENTER
       ENDIF
       oFold:Refresh()
       oBrw5:refresh()
       oBrw5:gotop()

RETURN .t.

 
SkyPe: armando.lagunas@hotmail.com
Mail: armando.lagunas@gmail.com
User avatar
armando.lagunas
 
Posts: 346
Joined: Mon Oct 05, 2009 3:35 pm
Location: Curico-Chile

Re: Para Armando Lagunas (TXBrowse)

Postby juan_arroyo_t » Thu Jul 27, 2017 1:00 pm

Armando :

Por favor disculpame por tantas molestias

Mis archivos :
https://1drv.ms/u/s!AgM94kAKnz9CjUAjWLKz3NuWzhKg
https://1drv.ms/u/s!AgM94kAKnz9CjUFVrViGKu7xdG1O

imagenes :
https://screenshot.net/es/61jwlhd
https://i.screenshot.net/j6ym0uw

Code: Select all  Expand view  RUN
# include "fivewin.ch"

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

FUNCTION Tablas()
   LOCAL oDlg := nil, oFld := nil
   LOCAL aoObjetos := { 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, nil }
   LOCAL aoCbx := { nil, nil, nil }
   LOCAL oBrw1, oBrw2, oBrw3, oBrw4, oBrw5, oBrw6, oBrw7
   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)}}

   DBCloseAll()
   if ! net_use( "cnp",,,     oApp:xDatos ) .or. ;
      ! net_use( "cnd",,,     oApp:xDatos ) .or. ;
      ! net_use( "copasat",,, oApp:xDatos ) .or. ;
      ! net_use( "ded",,,     oApp:xDatos ) .or. ;
      ! net_use( "dep",,,     oApp:xDatos ) .or. ;
      ! net_use( "incid",,,   oApp:xDatos ) .or. ;
      ! net_use( "isr",,,     oApp:xDatos ) .or. ;
      ! net_use( "otrpag",,,  oApp:xDatos ) .or. ;
      ! net_use( "perc",,,    oApp:xDatos ) .or. ;
      ! net_use( "pue",,,     oApp:xDatos ) .or. ;
      ! net_use( "salmin",,,  oApp:xDatos ) .or. ;
      ! net_use( "sub",,,     oApp:xDatos ) .or. ;
      ! net_use( "vacs",,,    oApp:xDatos )
      return nil; dbCloseAll()
   endif

   cAliasCpe := "cnp"         // catalogo de percepciondes sat
   cAliasCde := "cnd"         // catalogo de deducciones sat
   cAliasCop := "copasat"     // catalogo otros pagos sat
   cAliasDed := "ded"         // catalogo de deducciones empresa
   cAliasDep := "dep"         // catalogo de departamentos
   cAliasInc := "incid"       // catalogo de incidencias
   cAliasIsr := "isr"         // catalogo de i.s.r.
   cAliasOpa := "otrpag"      // catalogo de otros pagos
   cAliasPer := "perc"        // catalogo de percepciones empresa
   cAliasPue := "pue"         // catalogo de puestos
   cAliasSmi := "salmin"      // catalogo de salarios minimos
   cAliasSub := "sub"         // catalogo de subsidio
   cAliasTva := "vacs"        // catalogo de tabla de vacaciones

   cNomCon := "Percepciones"
   cAlias := (cAliasPer)
   cNomIsr := "I.s.r."
   cCveTab := 1
   (cAliasIsr)->(QuickScope("1"))

   cNomSub := "Subsidio"
   cCveTab := 1
   (cAliasSub)->(QuickScope("1"))

   DEFINE DIALOG oDlg RESOURCE "DLG_FLD_TABLAS" TITLE "Tablas del Sistema"

   REDEFINE FOLDER oFld ID 800 OF oDlg ;
      PROMPT "Conceptos", "Departamentos", "Puestos", "Isr", "Subsidio", "Salarios Minimos", "Vacaciones" ;
      DIALOGS "DLG_TAB_1", "DLG_TAB_2", "DLG_TAB_2", "DLG_TAB_1", "DLG_TAB_1", "DLG_TAB_2", "DLG_TAB_2"

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

   // Redefine controles dialogo 2 Departamentos

   // Redefine controles dialogo 3 Puestos

   // Redefine controles dialogo 4 Tabla de Isr

   REDEFINE COMBOBOX aoCbx[2] VAR cNomIsr    ID 201 OF oFld:aDialogs[4] UPDATE ;
      ITEMS { "I.s.r.", "Subsidio", "Anual I.s.r.", "Anual Subsidio" }
      aoCbx[2]:bChange := { || IF( cNomIsr == "I.s.r.", cCveTab := 1, ;
                               IF( cNomIsr == "Subsidio", cCveTab := 2, ;
                               IF( cNomIsr == "Anual I.s.r.", cCveTab := 3, cCveTab := 4))), ;
                               FuncionBrowse( cCveTab, oBrw4, oFld:aDialogs[4] ), oBrw4:refresh(), oBrw4:gotop() }

      oBrw4 := TXBrowse():New( oFld:aDialogs[4] )
      oBrw4:CreateFromResource(500)
      oBrw4:cAlias := cAliasIsr

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

      IF cCveTab = 1 .OR. cCveTab = 3

         oCol := oBrw4:AddCol()
         oCol:bEditValue    := { || (cAliasIsr)->liminf }
         oCol:cEditPicture  := "99,999,999.99"
         oCol:cHeader       := "Lim Inf"
         oCol:nWidth        := 88
         oCol:nDataStrAlign := AL_RIGHT
         oCol:nHeadStrAlign := AL_CENTER

         oCol := oBrw4:AddCol()
         oCol:bEditValue    := { || (cAliasIsr)->limsup }
         oCol:cEditPicture  := "99,999,999.99"
         oCol:cHeader       := "Lim Sup"
         oCol:nWidth        := 88
         oCol:nDataStrAlign := AL_RIGHT
         oCol:nHeadStrAlign := AL_CENTER

         oCol := oBrw4:AddCol()
         oCol:bEditValue    := { || (cAliasIsr)->cuotafi }
         oCol:cEditPicture  := "99,999,999.99"
         oCol:cHeader       := "Cuota Fija"
         oCol:nWidth        := 88
         oCol:nDataStrAlign := AL_RIGHT
         oCol:nHeadStrAlign := AL_CENTER

         oCol := oBrw4:AddCol()
         oCol:bEditValue    := { || (cAliasIsr)->porcexc }
         oCol:cEditPicture  := "99,999,999.99"
         oCol:cHeader       := "% Excedente"
         oCol:nWidth        := 88
         oCol:nDataStrAlign := AL_RIGHT
         oCol:nHeadStrAlign := AL_CENTER

      ELSE

         oCol := oBrw4:AddCol()
         oCol:bEditValue    := { || (cAliasIsr)->liminf }
         oCol:cEditPicture  := "99,999,999.99"
         oCol:cHeader       := "Lim Inf"
         oCol:nWidth        := 88
         oCol:nDataStrAlign := AL_RIGHT
         oCol:nHeadStrAlign := AL_CENTER

         oCol := oBrw4:AddCol()
         oCol:bEditValue    := { || (cAliasIsr)->limsup }
         oCol:cEditPicture  := "99,999,999.99"
         oCol:cHeader       := "Lim Sup"
         oCol:nWidth        := 88
         oCol:nDataStrAlign := AL_RIGHT
         oCol:nHeadStrAlign := AL_CENTER

         oCol := oBrw4:AddCol()
         oCol:bEditValue    := { || (cAliasIsr)->subsidio }
         oCol:cEditPicture  := "99,999,999.99"
         oCol:cHeader       := "Subsidio"
         oCol:nWidth        := 88
         oCol:nDataStrAlign := AL_RIGHT
         oCol:nHeadStrAlign := AL_CENTER

      ENDIF
      ? Len(oBrw4:aCols)
   REDEFINE BUTTON aoBtn[10] ID 400 OF oFld:aDialogs[4] UPDATE ;
      ACTION ( Agrega_Isr( 1, cCveTab ), oBrw4:gotop() )                 //Agrega i.s.r.

   REDEFINE BUTTON aoBtn[11] ID 401 OF oFld:aDialogs[4] UPDATE ;
      ACTION ( Agrega_Isr( 3, cCveTab ), oBrw4:refresh() ) WHEN !(cAliasIsr)->(Eof())     //Elimina i.s.r.                                            //Suprime tipos de movimiento

   REDEFINE BUTTON aoBtn[12] ID 402 OF oFld:aDialogs[4] UPDATE ;
      ACTION ( Agrega_Isr( 4, cCveTab ), oBrw4:gotop() ) WHEN !(cAliasIsr)->(Eof())       // modifica i.s.r.

   //Redefine controles dialogo 6 salarios minimos

   ACTIVATE DIALOG oDlg CENTERED on init oBrw1:refresh()

   DBCloseAll()

RETURN NIL

// ------------------------------------------------------------------------- //

STATIC FUNCTION FuncionBrowse( cCveTab, oBrw4, oFold )
   (cAliasIsr)->(QuickScope(AllTrim(cStr(cCveTab))))
   oBrw4:cAlias := cAliasIsr

   IF cCveTab = 1 .or. cCveTab = 3
      oCol:bEditValue    := { || (cAliasIsr)->liminf }
      oCol:cEditPicture  :=  "99,999,999.99"
      oCol:cHeader       := "Lim Inf"
      oCol:nWidth        := 82
      oCol:nDataStrAlign := AL_RIGHT
      oCol:nHeadStrAlign := AL_CENTER

      oCol := oBrw4:AddCol()
      oCol:bEditValue    := { || (cAliasIsr)->limsup }
      oCol:cEditPicture  :=  "99,999,999.99"
      oCol:cHeader       := "Lim Sup"
      oCol:nWidth        := 82
      oCol:nDataStrAlign := AL_RIGHT
      oCol:nHeadStrAlign := AL_CENTER

      oCol := oBrw4:AddCol()
      oCol:bEditValue := { || (cAliasIsr)->cuotafi }
      oCol:cEditPicture  :=  "99,999,999.99"
      oCol:cHeader  := "Cuota Fija"
      oCol:nWidth        := 82
      oCol:nDataStrAlign := AL_RIGHT
      oCol:nHeadStrAlign := AL_CENTER

      oCol := oBrw4:AddCol()
      oCol:bEditValue := { || (cAliasIsr)->porcexc }
      oCol:cEditPicture  :=  "999.99"
      oCol:cHeader  := "% Exced"
      oCol:nWidth        := 82
      oCol:nDataStrAlign := AL_RIGHT
      oCol:nHeadStrAlign := AL_CENTER
   ELSE
      oBrw4:DelCol(4)
      oCol := oBrw4:AddCol()
      oCol:bEditValue := { || (cAliasIsr)->liminf }
      oCol:cEditPicture  :=  "99,999,999.99"
      oCol:cHeader  := "Lim Inf"
      oCol:nWidth        := 82
      oCol:nDataStrAlign := AL_RIGHT
      oCol:nHeadStrAlign := AL_CENTER

      oCol := oBrw4:AddCol()
      oCol:bEditValue := { || (cAliasIsr)->limsup }
      oCol:cEditPicture  :=  "99,999,999.99"
      oCol:cHeader  := "Lim Sup"
      oCol:nWidth        := 82
      oCol:nDataStrAlign := AL_RIGHT
      oCol:nHeadStrAlign := AL_CENTER

      oCol := oBrw4:AddCol()
      oCol:bEditValue := { || (cAliasIsr)->subsidio }
      oCol:cEditPicture  :=  "99,999,999.99"
      oCol:cHeader  := "Subsidio"
      oCol:nWidth        := 110
      oCol:nDataStrAlign := AL_RIGHT
      oCol:nHeadStrAlign := AL_CENTER
   ENDIF
   ? Len(oBrw4:aCols)   // isr - 4, 9, 14, 19, 24    subsidio - 6, 11, 16, 21, 26
   oFold:Refresh()
   oBrw4:refresh()
   oBrw4:gotop()

RETURN .t.
 


Al accesar la primera vez me muestra el browse correcto, pero voy cambiando a subsidio y luego a isr y despues a subsidio, me va incrementando los campos den el browse ---> isr - 4, 9, 14, 19, 24 subsidio - 6, 11, 16, 21, 26

Saludos
Juan Arroyo
México
FWH 7.12 VERCE 5.3 xHarbour 1.1.0
juan_arroyo_t@hotmail.com
User avatar
juan_arroyo_t
 
Posts: 196
Joined: Fri May 15, 2009 1:25 am
Location: Cuautitlán, Mexico


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 74 guests