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

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

Postby jose_murugosa » Tue Mar 29, 2022 1:19 pm

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  RUN


          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?
Last edited by jose_murugosa on Thu Mar 31, 2022 7:06 pm, edited 1 time in total.
Saludos/Regards,
José Murugosa
"Los errores en programación, siempre están entre la silla y el teclado y la IA!!"
User avatar
jose_murugosa
 
Posts: 1180
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay

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

Postby cmsoft » Wed Mar 30, 2022 1:45 am

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  RUN
COLUMN TITLE "Peso Promedio";  
               DATA ( oRs:PesoNeto / oRs:Cantidad ) ;
               PICTURE "999,999.99"   ;
               SIZE 12                ;          
               TOTAL;
               FONT 1
User avatar
cmsoft
 
Posts: 1291
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

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

Postby jose_murugosa » Wed Mar 30, 2022 12:11 pm

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  RUN

          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
Saludos/Regards,
José Murugosa
"Los errores en programación, siempre están entre la silla y el teclado y la IA!!"
User avatar
jose_murugosa
 
Posts: 1180
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay

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

Postby cmsoft » Wed Mar 30, 2022 8:02 pm

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.
User avatar
cmsoft
 
Posts: 1291
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

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

Postby FranciscoA » Thu Mar 31, 2022 2:51 am

José:
Nunca lo he hecho con SUMARY y SQL, pero intenta asi:
Code: Select all  Expand view  RUN
oReport:bEndGroup:={||  oReport:aGroups[1]:aTotal[3]:= (oReport:aGroups[1]:aTotal[2] / oReport:aGroups[1]:aTotal[1] )  }
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: Treport de Tabla SQL con FWH nativo ( parte 3 )

Postby jose_murugosa » Thu Mar 31, 2022 7:06 pm

Queridos Francisco y César

Gracias mil por vuestra ayuda!!!!!

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

          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
Saludos/Regards,
José Murugosa
"Los errores en programación, siempre están entre la silla y el teclado y la IA!!"
User avatar
jose_murugosa
 
Posts: 1180
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Antonio Linares, Google [Bot], groiss and 56 guests