Page 1 of 1

Treport de Tabla SQL con FWH nativo ( parte 3 ) (RESUELTO)

PostPosted: Tue Mar 29, 2022 1:19 pm
by jose_murugosa
Como que ya me siento mal de estar preguntando cosas que debería tener resueltas, pero lo cierto es que tengo un nuevo problema con treport y rowset que no he logrado resolver.

Code: Select all  Expand view


          PRINT oPrn FILE ".\PDFS\" + wfecha + "-" + whora + ".pdf"
          REPORT oReport ;
               TITLE  "
*** Informe de Entrada al Desosado ***",;
                    wfecha + "
de las " + wHorainic + " hasta las " + wHoraFin ;
               HEADER "
Fecha: " + dtoc(date()),;
                    "
Hora:  " + time() ;
                    RIGHT ;
                    FOOTER "
Página: " + str(oReport:nPage,4) ;
                    CENTERED ;
                    SUMMARY ;
                    TO DEVICE oPrn
           
          COLUMN TITLE "
Cantidad" ;
               DATA oRs:Cantidad  ;
               PICTURE "
99,999"   ;
               SIZE 14             ;
               FONT 1             ;
               TOTAL
     
          COLUMN TITLE "
Peso Neto";  
               DATA oRs:PesoNeto  ;
               PICTURE "
99,999.99";
               SIZE 12            ;          
               FONT 1             ;
               TOTAL
               
          COLUMN TITLE "
Peso Promedio";  
               DATA ( oRs:PesoNeto / oRs:Cantidad ) ;
               PICTURE "
999,999.99"   ;
               SIZE 12                ;          
               FONT 1        
     
     GROUP ON oRs:ProductoId ;
               HEADER "
Producto: " + Alltrim( oRs:ProductoId ) + "-" + oRs:DescProd font 1
     
     END REPORT
     
     oReport:bInit :=  {|| oRs:movefirst()}
     oReport:bSkip :=  {|| oRs:movenext()}
   
     ACTIVATE REPORT oReport WHILE !oRs:Eof() ON STARTGROUP oReport:NewLine()  ;
                                              ON STARTPAGE  StartPage()



Este es el resultado, la ultima columna en blanco.

Image

¿Que podrá ser?

Re: Treport de Tabla SQL con FWH nativo ( parte 3 )

PostPosted: Wed Mar 30, 2022 1:45 am
by cmsoft
José:
Al estar SUMMARY, y la columna 3 no tener TOTAL, es esperable que salga de esa manera.
Agrega la clausula TOTAL a la columna 3
Code: Select all  Expand view
COLUMN TITLE "Peso Promedio";  
               DATA ( oRs:PesoNeto / oRs:Cantidad ) ;
               PICTURE "999,999.99"   ;
               SIZE 12                ;          
               TOTAL;
               FONT 1

Re: Treport de Tabla SQL con FWH nativo ( parte 3 )

PostPosted: Wed Mar 30, 2022 12:11 pm
by jose_murugosa
Muchas gracias por tu respuesta César.
Tienes razón, no me había dado cuenta.

Pero ahora el problema es otro, el total en la columna de peso neto me da igual que el de peso neto/cantidad.
Code: Select all  Expand view

          PRINT oPrn FILE ".\PDFS\" + wfecha + "-" + whora + ".pdf"
          REPORT oReport ;
               TITLE  "
*** Informe de Entrada al Desosado ***",;
                    wfecha + "
de las " + wHorainic + " hasta las " + wHoraFin ;
               HEADER "
Fecha: " + dtoc(date()),;
                    "
Hora:  " + time() ;
                    RIGHT ;
                    FOOTER "
Página: " + str(oReport:nPage,4) ;
                    CENTERED ;
                    SUMMARY ;
                    TO DEVICE oPrn
           
          COLUMN TITLE "
Cantidad" ;
               DATA oRs:Cantidad  ;
               PICTURE "
99,999"   ;
               SIZE 14            ;
               FONT 1             ;
               TOTAL
     
          COLUMN TITLE "
Peso Neto";  
               DATA oRs:PesoNeto  ;
               PICTURE "
99,999.99";
               SIZE 12            ;          
               FONT 1             ;
               TOTAL
         
          COLUMN TITLE "
Peso Promedio";  
               DATA ( oRs:PesoNeto / oRs:Cantidad ) ;
               PICTURE "
999,999.99"   ;
               SIZE 12                ;          
               FONT 1                 ;        
               TOTAL


Image

OTRA PREGUNTA: EXISTE UNA CLAUSULA PARA QUE EN LUGAR DE TOTALIZAR SAQUE UN PROMEDIO

Re: Treport de Tabla SQL con FWH nativo ( parte 3 )

PostPosted: Wed Mar 30, 2022 8:02 pm
by cmsoft
Segun lo que entiendo, debería darte la suma de los precios promedios...
Puedes cambiarle la formula de calculo del total a la columna 3,
oReport:aColumns[3]:btotalexpr = {|| Tufuncion()}
Pero nunca lo he hecho, habría que buscar en el foro a ver si hay ejemplos.

Re: Treport de Tabla SQL con FWH nativo ( parte 3 )

PostPosted: Thu Mar 31, 2022 2:51 am
by FranciscoA
José:
Nunca lo he hecho con SUMARY y SQL, pero intenta asi:
Code: Select all  Expand view
oReport:bEndGroup:={||  oReport:aGroups[1]:aTotal[3]:= (oReport:aGroups[1]:aTotal[2] / oReport:aGroups[1]:aTotal[1] )  }

Re: Treport de Tabla SQL con FWH nativo ( parte 3 )

PostPosted: Thu Mar 31, 2022 7:06 pm
by jose_murugosa
Queridos Francisco y César

Gracias mil por vuestra ayuda!!!!!

Finalmente quedó con estos cambios:
Code: Select all  Expand view

          oReport:bEndGroup  := {|| oReport:aGroups[1]:aTotal[3]:= (oReport:aGroups[1]:aTotal[2] / oReport:aGroups[1]:aTotal[1] )  }
          oReport:bEnd           := {|| oReport:aColumns[3]:nTotal := oReport:aColumns[2]:nTotal / oReport:aColumns[1]:nTotal }
          oReport:bInit           := {|| oRs:movefirst()}
          oReport:bSkip          := {|| oRs:movenext()}
          oReport:lPageTotal  := .f.
 


Gracias por dedicarme tiempo para que pudiera salir del atolladero. :D