Favor Ayuda con REPORT ** SOLUCIONADO

Favor Ayuda con REPORT ** SOLUCIONADO

Postby remtec » Fri Apr 23, 2021 3:44 pm

Hola Amigos.

Tengo un REPORT, que imprime una lista de clientes con una columna con un Total, uso Group para totalizar por Med_Tra, esta aqui esta muy bien, pero necesito que cuando imprima el Total del Group y el Total General del informe, al lado del total, pueda agregar un calculo de ese total.

Ejecmplo: Total Cliente XXXX (18) 25.000 Calculo Requerido ( 2.500 ) que es el 10% de los 25.000 impresos por el Report.

Como puedo agregar este calculo tanto en el Total Group y luego en el Total General del informe?

Muchas gracias y Muchos Saludos.

Antonio.

Dejo el Codigo:
Code: Select all  Expand view  RUN

Function Rep(Titu)


     LOCAL oFont1, oFont2, oFont3,oFont4, oPen1, oPen2

     DEFINE FONT oFont1 NAME "ARIAL" SIZE 0,-10
     DEFINE FONT oFont2 NAME "ARIAL" SIZE 0,-10 BOLD
     DEFINE FONT oFont3 NAME "ARIAL" SIZE 0,-12 BOLD
     DEFINE FONT oFont4 NAME "ARIAL" SIZE 0, -16 BOLD

            DEFINE PEN oPen1 STYLE 0 WIDTH 1 COLOR RGB(0, 0, 0)
            DEFINE PEN oPen2 STYLE PS_DOT WIDTH 1 COLOR RGB(0, 0, 0)

         Sele b

     GO TOP
            cTi0:= "EMPRESA LOCAL"

            cTi1:= Titu
     REPORT oReport ;
                    TITLE cTi1;
          FONT   oFont1,oFont2,oFont3,oFont4;
          PEN    oPen1,oPen2;
          HEADER cTi0,"Fecha: "+dtoc(date()),;
                 "Hora:  "+time(), ;
                 "Página: "+str(oReport:nPage,3) ;
                 RIGHT ;
          FOOTER OemtoAnsi("Pagina: ")+str(oReport:nPage,3) ;
                 CENTERED ;
          PREVIEW

     GROUP ON b->Med_Cli ;
                     HEADER "Cliente : "+oReport:aGroups[1]:cValue;
           FOOTER "Total Cliente "+oReport:aGroups[1]:cValue+ ;
                  " ("+ltrim(str(oReport:aGroups[1]:nCounter))+")" FONT 2

     COLUMN TITLE "Folio" ;
          DATA b->Fol_Ing ;
          PICTURE "9999999999" ;
          SIZE 6 ;
          FONT 1

     COLUMN TITLE "Fecha" ;
          DATA b->Fec_Ate SIZE 8  FONT 1

     COLUMN TITLE "Nombre Cliente" ;
          DATA b->Nom_Cli SIZE 25  FONT 1

     COLUMN TITLE "Valor" ;
          DATA b->Val_Bon ;
          PICTURE "9,999,999" ;
          SIZE 7 ;
          TOTAL        FONT 1
     COLUMN TITLE "T. Ate" ;
          DATA b->Tip_Ate  SIZE 4  FONT 1
     COLUMN TITLE "T. Pago" ;
          DATA b->Tip_Pag  SIZE 4  FONT 1
         COLUMN TITLE "Digi" ;
          DATA b->Cod_Dig  SIZE 4  FONT 1
         COLUMN TITLE "Nro. Dcto." ;
          DATA b->Num_Bon  SIZE 10  FONT 1

     COLUMN TITLE "R.U.T" ;
          DATA b->Rut_Cli RIGHT SIZE 10   FONT 1

     END REPORT

     IF oReport:lCreated
                oReport:nTitleUpLine := RPT_SINGLELINE             // Permite Imprimir Lineas Simples en encabezado
                oReport:nTitleDnLine := RPT_SINGLELINE              // RPT_DOUBLELINE   Para Lineas Dobles
                                                                                                                        //  RPT_NOLINE     No Imprime Lineas
                oReport:nGroupLine := RPT_SINGLELINE
                oReport:oTitle:aFont[1] := {|| 3 }
                oReport:oHeader:aPad[1]:= LINE_LEFT
                oReport:oHeader:aFont[1] := {|| 4 }

                oReport:lJoin := .t.
                oReport:nSeparator := 0


          oReport:cGrandTotal := "Total General"
          oReport:cPageTotal := "Page Total..."


                oReport:bInit := { || b->( DBGOTOP() ) }           // Habilita Boton Excel en Preview

     ENDIF

     ACTIVATE REPORT oReport ON STARTGROUP oReport:NewLine()


     oFont1:End()
     oFont2:End()
     oFont3:End()
     oFont4:End()
     oPen1:End()
     oPen2:End()

         Sele b
         Go top
RETURN NIL

 
Last edited by remtec on Sat Apr 24, 2021 6:31 pm, edited 1 time in total.
FWH 22.10 - HARBOUR - PELLES C
remtec
 
Posts: 719
Joined: Fri May 12, 2017 2:50 pm

Re: Favor Ayuda con REPORT

Postby Antonio Linares » Fri Apr 23, 2021 4:18 pm

Tienes todos estos codeblocks (en DATAs del objeto report) que puedes configurar:

Code: Select all  Expand view  RUN
DATA bFor, bWhile, bInit, bEnd, bStartLine, bEndLine, bStartPage, ;
        bEndPage, bStartGroup, bEndGroup, bSkip, bStdFont, bPreview, ;
        bChange, bPostEnd, bPostPage, bPostGroup, bStartRecord, ;
        bToExcel, bExcelProgress


Puedes probar con bEndGroup y/o bPostGroup

viewtopic.php?p=30828&sid=c9dddc839871d7ad7c933a4df2973ae8#p30828
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42127
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Favor Ayuda con REPORT

Postby remtec » Fri Apr 23, 2021 5:43 pm

Hola Maestro Antonio

Muchas gracias por responder.

De esta forma bien o mal, he logrado obtener el calculo en el Group, pero no tengo ni idea de obtener el calculo aplicado al Total General al final del informe, por lo que sigo luchando para dar con la forma.

Linea modificada del Group:
Code: Select all  Expand view  RUN

           FOOTER "Total Cliente "+oReport:aGroups[1]:cValue+ ;
                  " ("+ltrim(str(oReport:aGroups[1]:nCounter))+")" +"    Impuesto:  "+Transform(oReport:aGroups[1]:aTotal[4]*.10 ,"999,999,999")  FONT 2

 

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

Re: Favor Ayuda con REPORT

Postby Antonio Linares » Sat Apr 24, 2021 5:30 am

Prueba asi:

Code: Select all  Expand view  RUN
ACTIVATE REPORT oRpt ON END CambiaTotal( oRpt )

...

function CambiaTotal( oRpt )

   oRpt:cGrandTotal = "cambiado"

return nil
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42127
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Favor Ayuda con REPORT

Postby remtec » Sat Apr 24, 2021 4:31 pm

Hola Antonio.

Muchas gracias por tu ayuda.

Viendo tu sugerencia, cual seria el nombre de la variable que contiene el total general del informe, ya que tengo que aplicar un % para imprimir un valor adicional como hago en los Group, con tu codigo, lo que se logra es que cambie el nombre del concepto.

Disculpa que no pueda ver lo que me sugieres.

Muchos saludos

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

Re: Favor Ayuda con REPORT ** SOLUCIONADO

Postby remtec » Sat Apr 24, 2021 6:32 pm

Antonio

Muchas gracias por todo.

Ya encontré la forma de hacerlo.

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

Re: Favor Ayuda con REPORT ** SOLUCIONADO

Postby FranciscoA » Sat Apr 24, 2021 7:52 pm

Code: Select all  Expand view  RUN
 ACTIVATE REPORT oReport FOR FIELD->DEBE > 0 ;
              ON STARTGROUP oReport:NewLine() ;
              ON END oReport:cGrandTotal := "Total General          " + "Items: "+ ;
                     " ("+ltrim(str(oReport:nCounter))+")" +"        Impuesto (" + Str(nImpto,5,2) +") : " + Transform(oReport:aColumns[4]:nTotal * nImpto ,"999,999,999.99")  
 
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: Favor Ayuda con REPORT ** SOLUCIONADO

Postby remtec » Mon Apr 26, 2021 2:12 pm

Hola Francisco.

Amigo como estas?

Al aplicar tu codigo, se me presenta el problema:

1. Imprime el Total general de la columna.

2.Sobre la misma linea se imprimen los datos de la linea que me indicas, por lo que queda sobre escrito el total.

Como elimino que no me imprima el total general del punto 1 y que se imprima solo la linea que me indicas tu.

Muchos Saludos.

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

Re: Favor Ayuda con REPORT ** SOLUCIONADO

Postby FranciscoA » Mon Apr 26, 2021 7:42 pm

remtec wrote:Hola Francisco.

Amigo como estas?

Al aplicar tu codigo, se me presenta el problema:

1. Imprime el Total general de la columna.

2.Sobre la misma linea se imprimen los datos de la linea que me indicas, por lo que queda sobre escrito el total.

Como elimino que no me imprima el total general del punto 1 y que se imprima solo la linea que me indicas tu.

Muchos Saludos.

Antonio


Intenta asi:
Code: Select all  Expand view  RUN
       //no imprimir el gran total en la ultima pagina
         oReport:bEnd:= {||oReport:lTotal:=.f.}

ó

 ON END ( oReport:lTotal:=.f. ,;
                oReport:cGrandTotal := "Total General          " + "Items: "+ ;
                     " ("+ltrim(str(oReport:nCounter))+")" +"        Impuesto (" + Str(nImpto,5,2) +") : " + Transform(oReport:aColumns[4]:nTotal * nImpto ,"999,999,999.99")  )
 
 
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: Favor Ayuda con REPORT ** SOLUCIONADO

Postby remtec » Mon Apr 26, 2021 8:56 pm

Amigo Francisco.

Como estas?

Como tu dices, o una o la otra. No me sirve.

Necesito que no me imprime el total general de la columna y SI imprima ON END.

Disculpa las molestias.

Muchos Saludos

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

Re: Favor Ayuda con REPORT ** SOLUCIONADO

Postby FranciscoA » Tue Apr 27, 2021 12:34 am

rentec wrote:
Necesito que no me imprime el total general de la columna y SI imprima ON END.

Code: Select all  Expand view  RUN
  COLUMN TITLE "Valor" ;
          DATA b->Val_Bon ;
          PICTURE "@Z 9,999,999" ;     //  @Z <===
          SIZE 7 ;
          TOTAL        FONT 1


              ON END ( oReport:cGrandTotal := "Total General          " + "Items: "+ ;
                       " ("+ltrim(str(oReport:nCounter))+")" +"        Impuesto (" + Str(nImpto,5,2) +") : " + Transform(oReport:aColumns[4]:nTotal * nImpto ,"999,999,999.99") ,;
                       oReport:aColumns[4]:nTotal:= 0 )
 


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: Favor Ayuda con REPORT ** SOLUCIONADO

Postby remtec » Tue Apr 27, 2021 3:36 pm

Code: Select all  Expand view  RUN
  COLUMN TITLE "Valor" ;
          DATA b->Val_Bon ;
          PICTURE "@Z 9,999,999" ;     //  @Z <===
          SIZE 7 ;
          TOTAL        FONT 1


              ON END ( oReport:cGrandTotal := "Total General          " + "Items: "+ ;
                       " ("+ltrim(str(oReport:nCounter))+")" +"        Impuesto (" + Str(nImpto,5,2) +") : " + Transform(oReport:aColumns[4]:nTotal * nImpto ,"999,999,999.99") ,;
                       oReport:aColumns[4]:nTotal:= 0 )
 


Saludos[/quote]

Amigo Francisco.

Eres un MAESTRO.

Muchas gracias por tu ayuda y preocupación , funciono PERFECTO.

Disculpa por todas las molestias.

Muchos Saludos.

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

Re: Favor Ayuda con REPORT ** SOLUCIONADO

Postby FranciscoA » Tue Apr 27, 2021 7:09 pm

Antonio.
Contento de que hayas resuelto.
Estamos para ayudarnos mutuamente.
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.


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: FiveWiDi, Google [Bot] and 42 guests