Tdolphin y dudas

Tdolphin y dudas

Postby kpidata » Tue Sep 26, 2017 3:13 pm

Estimados amigos, estoy en el paso de pasar, de dbf a mysql, pero estoy pasando por no entender algunas cosas, favor de poder guiarme o ayudarme,, he revisado los ejemplos.. me he leido el listado del foro de consulta y no pude ver esto...

a) como puedo imprimir una query, usando esta misma opción,

Function Print_Cco(cEmpresa)
Local oRepFam
LOCAL AFont1, AFont2, Afont3

DEFINE FONT AFont1 NAME "ARIAL" SIZE 0,-10

PrinterSetup()
REPORT oRepFam ;
FONT AFONT1, AFONT2, AFONT3;
CAPTION "Tabla/Archivo Maestro de Departamentos.. " ;
TITLE " ",;
"Tabla/Archivo Maestro de Departamentos.. ",;
" ";
CENTER;
HEADER cEmpresa[1]

Go top
COLUMN TITLE "Código" DATA Tab_Cco->Cod_Cco; intente cambiar la dbf por tab_cco:cod_cco donde tab_cco es la query pero no me arrojo nada
FONT 1;
GRID
COLUMN TITLE "Descripción" DATA Tab_Cco->Nom_Cco;
FONT 1;
GRID

END REPORT
oRepFam:oDevice:lPrvModal := .T.
ACTIVATE REPORT oRepFam
AFont1:End()
RETURN NIL

A lo anterior, como deberia hacerlo de DBF a mysq, usando Tdolphin

FUNCTION Imp_Egreso()
Local Estado, oPrn, oFntMedia, oFntPeque, oFntNormal, oFntNegrita, oFntGrande, II
LOCAL lPrint := .F.
LOCAL nFila := 0
LOCAL nDoc := 0
LOCAL Pinicial := 0
LOCAL Pfinal := 0
LOCAL fila := 0
Local aTop := Array(02), aTam := Array(02)
For II = 1 to 2
aTop [II]:=0
aTam [II]:=0
Next II

PrinterSetup()
PRINTER oPrn Preview Modal

PageBegin()

oPrn:CmSay( 2.5,05.5, "COMPROBANTE DE EGRESO Nº", oFntGrande )
oPrn:Cmsay( 2.5,14.5, TRANSFORM(cNro_Egr,"@Z 99-99-999"),oFntGrande)

oPrn:CmSay( 3.5,01.0, "Fecha :"+Dtoc(cFec_Egr) , oFntNormal)
oprn:Cmsay( 3.5,04.0, "Glosa :"+Alltrim(cGlo_Egr),oFntNegrita)

Oprn:Cmsay( 4.0,01.0, "---------------------------------------------------------------------------------------------------------------------------------------------------------------------",oFntNormal)
Oprn:Cmsay( 4.5,01.0, " Cuenta Nombre Cuenta Sub-Cuenta Folio Numero Debe Haber ",oFntNormal)
Oprn:Cmsay( 5.0,01.0, "---------------------------------------------------------------------------------------------------------------------------------------------------------------------",oFntNormal)
go top
fila:=5.5

Do While .Not. eof()
if !Empty((Archi)->Nro_Cta)
oPrn:Cmsay( fila,01.0, (Archi)->Nro_Cta, oFntMedia)
oPrn:Cmsay( fila,17.2, TRANSFORM((Archi)->Deb_Cta,"@E 9,999,999,999"),oFntMedia,,,,2) /// aca cambio... deberia usar egreso:deb_cta que es la query...
oPrn:Cmsay( fila,19.5, TRANSFORM((Archi)->Hab_Cta,"@E 9,999,999,999"),oFntMedia,,,,2)
fila:=fila+0.5
ENDIF
Endif
skip
Enddo
Oprn:Cmsay( fila,01.0, "---------------------------------------------------------------------------------------------------------------------------------------------------------------------",oFntNormal)
fila++
PageEnd()
ENDPRINT
RETURN NIL

y por ultimo... la misma historia por excel...

Function Exe_Hora()
local oFileXLS
Local lIni := .t., nReg := RecNo()
local nFormat1, nFormat2
local nFont1, nFont2, nFont3, nFont4

Local nRow, nRowActividad
DEFINE XLS FONT nFont1 NAME "Arial" HEIGHT 12 BOLD
DEFINE XLS FONT nFont2 NAME "Arial" UNDERLINE BOLD
DEFINE XLS FONT nFont3 NAME "Times New Roman" HEIGHT 8

XLS oFileXLS FILE ".\PLANILLA\Tab_Hora.Xls" AUTOEXEC

XLS COL 1 WIDTH 10 OF oFileXLS
XLS COL 2 WIDTH 25 OF oFileXLS
nRow := 2
@ nRow,2 XLS SAY "Tabla/Archivo Valor Hora Hombre... " FONT nfont1 OF oFileXLS
nRow += 2

@ nRow,1 XLS SAY "CODIGO" FONT nfont3 OF oFileXLS ;
BORDER BORDER_ALL;
ALIGNAMENT ALING_CENTER

@ nRow,2 XLS SAY "NOMBRE" FONT nfont3 OF oFileXLS ;
BORDER BORDER_ALL;
ALIGNAMENT ALING_CENTER

nRow += 1

GO TOP
DO WHILE .NOT.EOF()

@ nRow,01 XLS SAY Trim(Tab_Hora->Cod_Hora) FONT nFont3 OF oFileXLS //COMO REEMPLAZO ESTO EN DBF POR LA CONSULTA EN TDOLPHIN... ??
@ nRow,02 XLS SAY Trim(Tab_Hora->Nom_Hora) FONT nFont3 OF oFileXLS

nRow++
SKIP
ENDDO

nRow++
GOTO nReg

XLS PAGE BREAK AT nRow OF oFileXLS

SET XLS TO DISPLAY ;
NOGRIDLINES ;
OF oFileXLS

SET XLS TO PRINTER ;
HEADER "&DPágina Nº &P" ;
FOOTER "" ;
TOP MARGIN 0.6 ;
BOTTOM MARGIN 0.8 ;
LEFT MARGIN 0 ;
OF oFileXLS

ENDXLS oFileXLS
Return nil
kpidata
 
Posts: 80
Joined: Tue Jul 26, 2016 9:52 pm

Re: Tdolphin y dudas

Postby cmsoft » Tue Sep 26, 2017 8:47 pm

Code: Select all  Expand view  RUN

Function Print_Cco(cEmpresa)
Local oRepFam
LOCAL AFont1, AFont2, Afont3

DEFINE FONT AFont1 NAME "ARIAL" SIZE 0,-10

PrinterSetup()
REPORT oRepFam ;
FONT AFONT1, AFONT2, AFONT3;
CAPTION "Tabla/Archivo Maestro de Departamentos.. " ;
TITLE " ",;
"Tabla/Archivo Maestro de Departamentos.. ",;
" ";
CENTER;
HEADER cEmpresa[1]

tab_cco:GoTop()
COLUMN TITLE "Código" DATA tab_cco:cod_cco FONT 1;
GRID
COLUMN TITLE "Descripción" DATA tab_cco:Nom_Cco;
FONT 1;
GRID

END REPORT
oRepFam:oDevice:lPrvModal := .T.
oRepFam:bInit := {|| tab_cco:GoTop() }
oRepFam:bSkip := {|| tab_cco:Skip() }
ACTIVATE REPORT oRepFam WHILE !tab_cco:EOF()
AFont1:End()
RETURN NIL
 

Segunda funcion
Code: Select all  Expand view  RUN

FUNCTION Imp_Egreso()
Local Estado, oPrn, oFntMedia, oFntPeque, oFntNormal, oFntNegrita, oFntGrande, II
LOCAL lPrint := .F.
LOCAL nFila := 0
LOCAL nDoc := 0
LOCAL Pinicial := 0
LOCAL Pfinal := 0
LOCAL fila := 0
Local aTop := Array(02), aTam := Array(02)
For II = 1 to 2
aTop [II]:=0
aTam [II]:=0
Next II

PrinterSetup()
PRINTER oPrn Preview Modal

PageBegin()

oPrn:CmSay( 2.5,05.5, "COMPROBANTE DE EGRESO Nº", oFntGrande )
oPrn:Cmsay( 2.5,14.5, TRANSFORM(cNro_Egr,"@Z 99-99-999"),oFntGrande)

oPrn:CmSay( 3.5,01.0, "Fecha :"+Dtoc(cFec_Egr) , oFntNormal)
oprn:Cmsay( 3.5,04.0, "Glosa :"+Alltrim(cGlo_Egr),oFntNegrita)

Oprn:Cmsay( 4.0,01.0, "---------------------------------------------------------------------------------------------------------------------------------------------------------------------",oFntNormal)
Oprn:Cmsay( 4.5,01.0, " Cuenta Nombre Cuenta Sub-Cuenta Folio Numero Debe Haber ",oFntNormal)
Oprn:Cmsay( 5.0,01.0, "---------------------------------------------------------------------------------------------------------------------------------------------------------------------",oFntNormal)
egreso:GoTop()
// Suponiendo que oQry es la query que trajiste y que viene bien cargada
fila:=5.5

Do While !egreso:End()
if !Empty(egreso:Nro_Cta)
oPrn:Cmsay( fila,01.0, egreso:Nro_Cta, oFntMedia)
oPrn:Cmsay( fila,17.2, TRANSFORM(egreso:Deb_Cta,"@E 9,999,999,999"),oFntMedia,,,,2)
oPrn:Cmsay( fila,19.5, TRANSFORM(egreso:Hab_Cta,"@E 9,999,999,999"),oFntMedia,,,,2)
fila:=fila+0.5
ENDIF
Endif
skip
Enddo
Oprn:Cmsay( fila,01.0, "---------------------------------------------------------------------------------------------------------------------------------------------------------------------",oFntNormal)
fila++
PageEnd()
ENDPRINT
RETURN NIL
 


Code: Select all  Expand view  RUN
Function Exe_Hora()
local oFileXLS
Local lIni := .t., nReg := RecNo()
local nFormat1, nFormat2
local nFont1, nFont2, nFont3, nFont4

Local nRow, nRowActividad
DEFINE XLS FONT nFont1 NAME "Arial" HEIGHT 12 BOLD
DEFINE XLS FONT nFont2 NAME "Arial" UNDERLINE BOLD
DEFINE XLS FONT nFont3 NAME "Times New Roman" HEIGHT 8

XLS oFileXLS FILE ".\PLANILLA\Tab_Hora.Xls" AUTOEXEC

XLS COL 1 WIDTH 10 OF oFileXLS
XLS COL 2 WIDTH 25 OF oFileXLS
nRow := 2
@ nRow,2 XLS SAY "Tabla/Archivo Valor Hora Hombre... " FONT nfont1 OF oFileXLS
nRow += 2

@ nRow,1 XLS SAY "CODIGO" FONT nfont3 OF oFileXLS ;
BORDER BORDER_ALL;
ALIGNAMENT ALING_CENTER

@ nRow,2 XLS SAY "NOMBRE" FONT nfont3 OF oFileXLS ;
BORDER BORDER_ALL;
ALIGNAMENT ALING_CENTER

nRow += 1
// Supongamos que la query se llama oQry
oQry:goTop()
DO WHILE !oQry:EOF()

@ nRow,01 XLS SAY Trim(oQry:Cod_Hora) FONT nFont3 OF oFileXLS
@ nRow,02 XLS SAY Trim(oQry:Nom_Hora) FONT nFont3 OF oFileXLS

nRow++
oQry:SKIP()
ENDDO

nRow++
oQry:Goto(nReg)

XLS PAGE BREAK AT nRow OF oFileXLS

SET XLS TO DISPLAY ;
NOGRIDLINES ;
OF oFileXLS

SET XLS TO PRINTER ;
HEADER "&DPágina Nº &P" ;
FOOTER "" ;
TOP MARGIN 0.6 ;
BOTTOM MARGIN 0.8 ;
LEFT MARGIN 0 ;
OF oFileXLS

ENDXLS oFileXLS
Return nil
 


No verifique todas las funciones, pero creo que esta la idea.
Para moverte de registro oQry:Skip()
Para ir al principio oQry:GoTop()
Etc...
Fijate en el foro que hay muchisima documentacion.
Espero te sirva
User avatar
cmsoft
 
Posts: 1293
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 114 guests