Ayuda Para Totalizar Columna en XBROWSE

Ayuda Para Totalizar Columna en XBROWSE

Postby remtec » Tue Oct 29, 2019 11:00 pm

Hola Amigos.

Tengo un problema, por mas que copio otros codigos donde totalizo Columna con Xbrowse, aqui no doy con la Solución.

Tengo un Xbrowse con un Array de 5 Columnas, debo Totalizar la Columna 5 y contar cantidad de registro digitados.

Ademas, no logro que el Boton Salir, cierre el Dialogo y vuelva desde donde lo envio.

Los datos son ingresados desde un Get y agregados al Xbrowse.

Desde ya, muchos gracias.

Muchos Saludos.

Antonio

Dejo el Código que debo solucionar:
Code: Select all  Expand view  RUN

        @ 20,68 GET oCodi    Var Cod_Ara1       SIZE 50,10 PIXEL OF oDlg1   PICTURE "@!"   COLOR RGB(0,0,128)   FONT oFont2 UPDATE;
                        Valid IF(!Exis_Exa(Tip_Ate1,Tip_Pag1,Cod_Ara1,aCodigos),(MsgStop("CODIGO DIGITADO NO EXISTE"),.F.), (oDlg1:Refresh(),Cod_Ara1:=Spac(7),oBrw1:Refresh(),oCodi:Refresh(),oCodi:SetFocus(), .T.) )

    @ 19.5,130 BTNBMP SIZE 15, 15  OF oDlg1 PIXEL 2007 Resource "#8018" FONT oFont2 ;
                    ToolTip  "BUSCAR CODIGO";
                    ACTION Buscar_Cod()

    @ 35,10 XBROWSE oBrw1 SIZE -10,-60 PIXEL OF oDlg1 DATASOURCE aCodigos FONT oFont3;
                        HEADERS 'Codigo','Descripción','Cantidad','Valor Prestación','Valor Total';
                      COLUMNS 1, 2,3,4,5;
                        COLSIZES 70, 280, 70, 110, 110;
                        PICTURES '@!','@!','9999','999,999,999','999,999,999';
                        CELL LINES AUTOSORT NOBORDER;
                    oBrw1:nMarqueeStyle := MARQSTYLE_HIGHLWIN7
                    oBrw1:nColDividerStyle := LINESTYLE_INSET
                    oBrw1:nRowDividerStyle := LINESTYLE_INSET
                        oBrw1:bClrHeader := {|| { nRGB(140, 0, 0), nRGB( 231, 242, 255 ), } }
                        oBrw1:nOpacity    := 230


                        oBrw1:bClrStd             := {|| { nRGB(  0,  0,  0), nRGB(255,248,220) } }
                        oBrw1:bClrSelFocus        := {|| { nRGB(  255,  255,  255), nRGB(102, 178, 255) } }
                        oBrw1:lFooter := .t.
                        oBrw1:lHScroll := .f.
                                        oBrw1:lIncrFilter      := .f.
                                        oBrw1:lSeekWild        := .F.                  
                        oBrw1:SetStyle( 2018)
                        oBrw1:nColorPen := CLR_RED
                        oBrw1:aCols[2]:cFooter := "TOTAL INGRESOS -->"
                                        oBrw1:aCols[2]:nFootStrAlign := AL_LEFT
                        oBrw1:nFooterLines:=1

                        WITH OBJECT oBrw1
                                 :aCols[03]:cEditPicture    := "999,999"
                                 :aCols[03]:nFooterType := AGGR_COUNT   // No Cuenta

                                 :aCols[05]:cEditPicture    := "999,999,999"
                                             :aCols[05]:nFooterType    := AGGR_TOTAL                // No Totaliza
                                 :MakeTotals()


                                 :CreateFromCode()
                        END


   @ 245,180 BTNBMP SIZE 35, 35 PROMPT "SALIR" OF oDlg1 PIXEL 2007 Resource "#8002" FONT oFont2 ;      // Este Boton NO Cierra el Dialogo, Siempre pide Ingreso de Codigo en  oCodi
                    ToolTip  "SALIR DEL SISTEMA";
                    ACTION oDlg1:End()

   ACTIVATE DIALOG oDlg1 CENTERED ON INIT oCodi:SetFocus()

 
FWH 22.10 - HARBOUR - PELLES C
remtec
 
Posts: 719
Joined: Fri May 12, 2017 2:50 pm

Re: Ayuda Para Totalizar Columna en XBROWSE

Postby remtec » Wed Oct 30, 2019 12:52 pm

Amigos

Alguna Luz ??

Saludos
Antonio
FWH 22.10 - HARBOUR - PELLES C
remtec
 
Posts: 719
Joined: Fri May 12, 2017 2:50 pm

Re: Ayuda Para Totalizar Columna en XBROWSE

Postby leandro » Wed Oct 30, 2019 1:44 pm

Yo lo utilizo de la siguiente manera:

Code: Select all  Expand view  RUN

...
    oCol          = oBrwItem:AddCol()
    oCol:bStrData := {|| if(Len( oFac:detalle ) > 0 , Transform(oFac:detalle[oBrwItem:nArrayAt]["total"],oLamcla:PIC7)  ,"" ) }
    oCol:cHeader  = "Total"
    oCol:nWidth   = 81
    oCol:nHeadStrAlign = AL_RIGHT
    oCol:nDataStrAlign = AL_RIGHT   
    oCol:oHeaderFont = oFont
    oCol:bFooter       = {|| Transform(oFac:hEncabezado["total"],oLamcla:PIC7) } //variable a mostrar
    oCol:nFootStrAlign = 1
    oCol:oFooterFont = oFont3   

....

METHOD sumaTotales() CLASS cFact
Local vCanti := 0
Local vSubto := 0
Local vVrIva := 0
Local vTotal := 0

FOR i:=1 TO len(::detalle)
    vCanti := vCanti + ::detalle[i]["cantidad"]
    vSubto := vSubto + ::detalle[i]["subtotal"]
    vVrIva := vVrIva + ::detalle[i]["iva"]
    vTotal := vTotal + ::detalle[i]["total"]
NEXT

::hEncabezado["cantitotal"] := vCanti
::hEncabezado["subtotal"] := vSubto
::hEncabezado["iva"] := vVrIva
::hEncabezado["total"] := vTotal
return nil

 


Utilizo una variable independiente y la refresco cada vez que realice algún cambio que afecte los totales, la verdad también intente hacerlo con la funcion maketotals(), pero no me maqueto los resultados.
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1682
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Ayuda Para Totalizar Columna en XBROWSE

Postby remtec » Wed Oct 30, 2019 2:40 pm

Hola Leandro

Como estas?

Muchas gracias por responder.

Mira, con DBF funciona, por que lo tengo corriendo y lo hace bien. Pero en este caso estoy usando Array y no aqui el codigo no funciona el Totalizar, pero extrañamente se actualiza Solo al hacer Click en la barra " lVScroll ", cargo el array desde el Get y la unica forma que se actualice es Cliqueando en la Barra del Scroll.

Espero por su ayuda.

Muchos Saludos.

Antonio.
FWH 22.10 - HARBOUR - PELLES C
remtec
 
Posts: 719
Joined: Fri May 12, 2017 2:50 pm

Re: Ayuda Para Totalizar Columna en XBROWSE

Postby FranciscoA » Thu Oct 31, 2019 8:33 pm

Ademas, no logro que el Boton Salir, cierre el Dialogo y vuelva desde donde lo envio.


Intenta asi:

Code: Select all  Expand view  RUN
local oBt1
 @ 245,180 BTNBMP oBt1 SIZE 35, 35 PROMPT "SALIR" OF oDlg1 PIXEL 2007 Resource "#8002" FONT oFont2 ;      // Este Boton NO Cierra el Dialogo, Siempre pide Ingreso de Codigo en  oCodi
                    ToolTip  "SALIR DEL SISTEMA";
                    ACTION oDlg1:End()
      oBt1:lCancel := .t.


Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Ayuda Para Totalizar Columna en XBROWSE

Postby remtec » Fri Nov 01, 2019 6:16 pm

Hola Francisco

Muchas Gracias por tu ayuda.

Ya he logrado solucionar el problema, en relación a Totalizar, use variables y una linea especial, lo que poder abandonar el dialogo, logre que pudiera salir del Get y salir del dialogo.

Desde ya muchas gracias por toda tu ayuda.

Muchos Saludos
Antonio.
FWH 22.10 - HARBOUR - PELLES C
remtec
 
Posts: 719
Joined: Fri May 12, 2017 2:50 pm


Return to FiveWin para Harbour/xHarbour

Who is online

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