Consulta tecnica sobre Reporte.
Consulta tecnica sobre Reporte.
Amigos.
Muy buen dia.
Necesito generar un reporte que tiene 27 columnas, hoy se realiza en forma manual en Excel, tomandodo la DBF, pero me han pedido que lo genere directo desde ell sistema, incluyendo la posbilidad de generar a pdf si lo requiere el usuario.
Mi pregunta es, cual es la opcion mas adecuada para poder generar este informe, ya sea con Print, Report u otro que desconozco?
Quedo atento a sus comentarios.
Muchos saludos
Antonio
Muy buen dia.
Necesito generar un reporte que tiene 27 columnas, hoy se realiza en forma manual en Excel, tomandodo la DBF, pero me han pedido que lo genere directo desde ell sistema, incluyendo la posbilidad de generar a pdf si lo requiere el usuario.
Mi pregunta es, cual es la opcion mas adecuada para poder generar este informe, ya sea con Print, Report u otro que desconozco?
Quedo atento a sus comentarios.
Muchos saludos
Antonio
Last edited by remtec on Tue Sep 20, 2022 8:15 pm, edited 1 time in total.
FWH 22.10 - HARBOUR - PELLES C
- karinha
- Posts: 7932
- Joined: Tue Dec 20, 2005 7:36 pm
- Location: São Paulo - Brasil
- Been thanked: 3 times
- Contact:
Re: Consulta tecnica sobre Reporte.
Buen día. Puedes hacer fácilmente ambas clases. Aunque, con TPRINTER.PRG, tendrás un DISPLAY() mucho mejor y su control es mucho más sencillo.
Gracias,
Regards, saludos.
Gracias,
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
- cmsoft
- Posts: 1297
- Joined: Wed Nov 16, 2005 9:14 pm
- Location: Mercedes - Bs As. Argentina
- Been thanked: 2 times
Re: Consulta tecnica sobre Reporte.
Si el objetivo es simplemente pasarlo a Excel, una buena opción sería mostrarlo en un Xbrowse y usar los métodos ToExcel y Report de xbrowse
Claro que tienes que configurar bien las columnas, pero es el camino más corto.
Claro que tienes que configurar bien las columnas, pero es el camino más corto.
Code: Select all | Expand
#include "FiveWin.ch"
function Main()
local oDlg, oBrw, oBtn
use customer alias "customer"
DEFINE DIALOG oDlg SIZE 980,400 PIXEL TITLE "REPORTE y EXPORTACION RAPIDA"
oDlg:lHelpIcon := .f.
@ 40,10 XBROWSE oBrw SIZE -10,-10 PIXEL OF oDlg ;
ALIAS "customer" AUTOCOLS ;
CELL LINES FOOTERS NOBORDER
WITH OBJECT oBrw
:CreateFromCode()
END
@ 08,10 BTNBMP oBtn ;
PROMPT "Exportar" RESOURCE "EXCE" SIZE 30,30;
PIXEL OF oDlg FLAT TOP ;
ACTION oBrw:ToExcel()
@ 08,50 BTNBMP oBtn ;
PROMPT "Report" RESOURCE "IMPR" SIZE 30,30;
PIXEL OF oDlg FLAT TOP ;
ACTION oBrw:Report("Reporte de Personas",.t.)
@ 08,90 BTNBMP oBtn ;
PROMPT "Salir" RESOURCE "SALE" SIZE 30,30;
PIXEL OF oDlg FLAT TOP ;
ACTION oDlg:End()
ACTIVATE DIALOG oDlg CENTERED
return nil
Re: Consulta tecnica sobre Reporte.
karinha wrote:Buen día. Puedes hacer fácilmente ambas clases. Aunque, con TPRINTER.PRG, tendrás un DISPLAY() mucho mejor y su control es mucho más sencillo.
Gracias,
Regards, saludos.
Hola João
Muchas gracias por tu amabilidad.
Saludos
Antonio
FWH 22.10 - HARBOUR - PELLES C
Re: Consulta tecnica sobre Reporte.
karinha wrote:Buen día. Puedes hacer fácilmente ambas clases. Aunque, con TPRINTER.PRG, tendrás un DISPLAY() mucho mejor y su control es mucho más sencillo.
Gracias,
Regards, saludos.
Hola João
Muchas gracias por tu amabilidad.
Saludos
Antonio
FWH 22.10 - HARBOUR - PELLES C
Re: Consulta tecnica sobre Reporte.
cmsoft wrote:Si el objetivo es simplemente pasarlo a Excel, una buena opción sería mostrarlo en un Xbrowse y usar los métodos ToExcel y Report de xbrowse
Claro que tienes que configurar bien las columnas, pero es el camino más corto.Code: Select all | Expand
#include "FiveWin.ch"
function Main()
local oDlg, oBrw, oBtn
use customer alias "customer"
DEFINE DIALOG oDlg SIZE 980,400 PIXEL TITLE "REPORTE y EXPORTACION RAPIDA"
oDlg:lHelpIcon := .f.
@ 40,10 XBROWSE oBrw SIZE -10,-10 PIXEL OF oDlg ;
ALIAS "customer" AUTOCOLS ;
CELL LINES FOOTERS NOBORDER
WITH OBJECT oBrw
:CreateFromCode()
END
@ 08,10 BTNBMP oBtn ;
PROMPT "Exportar" RESOURCE "EXCE" SIZE 30,30;
PIXEL OF oDlg FLAT TOP ;
ACTION oBrw:ToExcel()
@ 08,50 BTNBMP oBtn ;
PROMPT "Report" RESOURCE "IMPR" SIZE 30,30;
PIXEL OF oDlg FLAT TOP ;
ACTION oBrw:Report("Reporte de Personas",.t.)
@ 08,90 BTNBMP oBtn ;
PROMPT "Salir" RESOURCE "SALE" SIZE 30,30;
PIXEL OF oDlg FLAT TOP ;
ACTION oDlg:End()
ACTIVATE DIALOG oDlg CENTERED
return nil
Hola Amigo Cesar.
Como estas?
Muchas gracias por tu ayuda.
Lo que se necesita es reemplazar el método actual y llevarlo a una opción que permita imprimir el informe, llevarlo a PDF o Excel, según sea el requerimiento de momento, mi complicación esta por la cantidad de columnas.
Considerando esta opción, tendría que crear una base especial, para poder grabar los datos necesarios y dejarlos listos para pasar la dbf a Xbrowse, la idea que pueda salir con los totales en las columnas que se requiera y se defina, pero creo que esto ya complicaría el Xbrowse!!
Muchas gracias y muchos saludos
Antonio
FWH 22.10 - HARBOUR - PELLES C
- karinha
- Posts: 7932
- Joined: Tue Dec 20, 2005 7:36 pm
- Location: São Paulo - Brasil
- Been thanked: 3 times
- Contact:
Re: Consulta tecnica sobre Reporte.
Antonio,
Buen día. Haga que el .DBF esté disponible en el Mega Upload y veré si puedo crear algo para usted.
Regards, saludos.
Buen día. Haga que el .DBF esté disponible en el Mega Upload y veré si puedo crear algo para usted.
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Re: Consulta tecnica sobre Reporte.
karinha wrote:Antonio,
Buen día. Haga que el .DBF esté disponible en el Mega Upload y veré si puedo crear algo para usted.
Regards, saludos.
Hola João
Buenas tardes.
Muchas gracias y muy amable.
Te dejo un Link para bajar una Dbf.
Muchos Saludos
Antonio
https://drive.google.com/file/d/1SZ2Ntu ... sp=sharing
FWH 22.10 - HARBOUR - PELLES C
- karinha
- Posts: 7932
- Joined: Tue Dec 20, 2005 7:36 pm
- Location: São Paulo - Brasil
- Been thanked: 3 times
- Contact:
Re: Consulta tecnica sobre Reporte.
karinha wrote:Antonio, Se requiere permiso.
Use Mega Upload, és más simples:
https://mega.nz/
Regards, saludos.
Hola João
Muchas gracias por su preocupacion.
Libere el acceso al link, para bajar el archivo, es de pocos registros.
Muchos Saludos
Antonio.
FWH 22.10 - HARBOUR - PELLES C
- karinha
- Posts: 7932
- Joined: Tue Dec 20, 2005 7:36 pm
- Location: São Paulo - Brasil
- Been thanked: 3 times
- Contact:
Re: Consulta tecnica sobre Reporte.
remtec wrote:karinha wrote:Antonio, Se requiere permiso.
Use Mega Upload, és más simples:
https://mega.nz/
Regards, saludos.
Hola João
Muchas gracias por su preocupacion.
Libere el acceso al link, para bajar el archivo, es de pocos registros.
Muchos Saludos
Antonio.
Antonio, mira se ayuda. Usando REPORT.PRG
Dudas, pregunte.
link para download:
https://mega.nz/file/1dcU3brC#SmftI20Eq1EOZRt-AZmAYgLJu4XlH83JXZL8UBRzxW4
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Re: Consulta tecnica sobre Reporte.
karinha wrote:remtec wrote:karinha wrote:Antonio, Se requiere permiso.
Use Mega Upload, és más simples:
https://mega.nz/
Regards, saludos.
Hola João
Muchas gracias por su preocupacion.
Libere el acceso al link, para bajar el archivo, es de pocos registros.
Muchos Saludos
Antonio.
Antonio, mira se ayuda. Usando REPORT.PRG
Dudas, pregunte.
link para download:
https://mega.nz/file/1dcU3brC#SmftI20Eq1EOZRt-AZmAYgLJu4XlH83JXZL8UBRzxW4
Regards, saludos.
Hola João
Muchas gracias por tu ayuda y tiempo dedicado.
He visto tu código, la diferencia con lo que me están pidiendo, es reemplazar la planilla Excel manual, que tiene por cada código, 28 columnas y no puedo modificar el formato, de todas formas seguiré viendo si logo adaptarlo.
Muchos saludos
Antonio
FWH 22.10 - HARBOUR - PELLES C
- karinha
- Posts: 7932
- Joined: Tue Dec 20, 2005 7:36 pm
- Location: São Paulo - Brasil
- Been thanked: 3 times
- Contact:
Re: Consulta tecnica sobre Reporte.
Antonio, mira se ayuda:
Regards, saludos.
Code: Select all | Expand
// C:\FWH\SAMPLES\EXCELREM.PRG - kapiabafwh@gmail.com - 23/09/2022
#Include "FiveWin.ch"
// Defines para o segundo parâmetro - Ejemplo by Rochinha. FiveWin Brasil.
#define xlCSV 6 // CSV *.csv
#define xlCSVMSDOS 24 // MSDOS CSV *.csv
#define xlCSVWindows 23 // Windows CSV *.csv
#define xlDBF3 8 // Dbase 3 format *.dbf
#define xlExcel8 56 // Excel 97-2003 Workbook *.xls
#define xlHtml 44 // HTML format *.htm; *.html
#define xlTextMSDOS 21 // MSDOS Text *.txt
FUNCTION Main()
HB_GCALL( .F. )
SET CENTURY ON
SET DATE BRITISH
SET TIME FORMAT TO "HH:MM:SS"
SET EPOCH TO YEAR( DATE() ) - 30
SET SOFTSEEK OFF
SET WRAP ON
SETCANCEL( .F. )
SET CONFIRM OFF
SET DELETED ON
SET _3DLOOK ON
SET UNIQUE OFF
SET ESCAPE OFF
SET EXACT ON // CONTROLA O :=, = e ==
SET EXCLUSIVE OFF
SET MULTIPLE OFF
MsgRun( "AGUARDE... ABRINDO OS BANCOS DE DADOS. ", ;
"Por Favor, Espere Abertura. Pode demorar.", ;
{ || WinExec( Excel_Remtec() ), 3 } )
DbCommitAll()
DbUnLockAll()
DbCloseAll()
FreeResources()
Release All
SysRefresh()
HB_GCALL( .T. )
CLEAR MEMORY
PostQuitMessage( 0 )
QUIT
RETURN NIL
FUNCTION Excel_Remtec()
LOCAL oExcel, oWorkbook, oWorksheet
TRY
oExcel := TOleAuto():New( "Excel.Application" )
CATCH
TRY
oExcel = CreateObject( "Excel.Application" )
CATCH
MsgInfo( "Excel is not installed on this PC. " + ;
"You need Excel to continue", "Ooooopppsss" )
RETURN( .F. )
END
END
oWorkbook := oExcel:WorkBooks
// Apertura del *.DBF
oWorkbook:Open( "c:\temp\REMTEC.DBF" )
oExcel:DisplayAlerts := .F.
oExcel:Visible := .T.
oWorksheet := oExcel:Get( "ActiveSheet" )
// Graba
oWorksheet:SaveAs( "c:\temp\tabela.CSV", 6 ) // Segundo parâmetro informa o tipo de saída
oWorksheet:SaveAs( "c:\temp\tabela.XLS", 56 ) // Segundo parâmetro informa o tipo de saída
RETURN NIL
// FIN
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341