FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Favor Ayuda
Posts: 7
Joined: Mon Dec 28, 2009 01:09 PM

Favor Ayuda

Posted: Tue Dec 29, 2009 12:50 PM

Amigos:

Mil disculpas, pero tengo un tremendo problema y me encuentro en la situacion de postear aca, ya que en el otro foro de clipper no he tenido respuesta.

Amigos:

Tengo un problema estoy con Fw ver 20, estoy usando la clase PRINT, la uso porque me permite imprimir en forma libre sobre una hoja, que tiene un encabezado tipo factura y un detalle que puede tener hasta 70 lineas de detalle, para lo cual debo obligatoriamente realizar un salto de pagina. Es aqui donde se me genera el problema, cuando imprimo 40 lineas debo realizar el salto de pagina, generando un ENDPAGE y un nuevo PAGE, al realizar esto, el programa se salta 3 o 4 lineas de detalles de la base de datos, quedandome saltado el informe.

Necesito me puedan ayudar en forma urgente.

Desde ya muchas gracias.

Este es el codigo:

Print oPrint
Define Font oFont1 Name "Arial" Size 0,12 Of oPrint
Define Font oFont2 Name "Arial" Size 0,14 Of oPrint
Define Font oFont5 Name "Arial" Size 0,14 Of oPrint
Define Font oFont3 Name "Arial" Size 0,12 Of oPrint Bold UnderLine
Define Font oFont4 Name "Arial" Size 0,24 Of oPrint Bold Italic

Define Pen oPen Style 0 width 5

nVertical := oPrint:nVertRes()
nHorizontal := oPrint:nHorzRes()
nFila := Round(nVertical/60,0)
nColumna := Round(nHorizontal/80,0)
Fil=nFila
col=nColumna
Page
oPrint:Say(nFila6,nColumna40," Santiago, "+spac(8)+subs(a->fec_inf,1,2)+spac(11)+aMeses[val(subs(a->fec_inf,4,2))]+space(7);
+subs(a->fec_inf,7,4),oFont1)
oPrint:Say(nFila7,nColumna12,"Sr(a)DR(a) : "+OemToAnsi(trim(a->med_sol)),oFont2)
oPrint:Say(nFila9,nColumna12,"Presente ",oFont2)
oPrint:Say(nFila11,nColumna12,OemToAnsi(trim(a->tip_exa)),oFont2)
oPrint:Say(nFila13,nColumna12,OemToAnsi(trim(a->nom_pac)),oFont2)
nAvance := 15.9
Sele b
Set inde to Deinfsc
DbSeek(cFolio)
nPosicion=14.5
nLinea=0
Do While (nro_bon=cFolio).and.!Eof()
nLinea=nLinea+1
nPosicion := nPosicion+1.4
oPrint:Say(nFilanPosicion,nColumna16,OemToAnsi(b->cod_det),oFont5)
if nLinea>29.and.(nro_bon=cFolio).and.!eof()
Endpage
Page
nFila:=fil
nPosicion:=6
nColumna:=col
nLinea:=0

endif
Sele b
DbSkip()

EndDo

nPosicion := nPosicion+3.4

EndPage
EndPrint

Posts: 7
Joined: Mon Dec 28, 2009 01:09 PM

Re: Favor Ayuda

Posted: Tue Dec 29, 2009 03:51 PM

.... Nadie sabe, ni siquiera una sugerencia.

Posts: 446
Joined: Mon Dec 26, 2005 09:11 PM

Re: Favor Ayuda

Posted: Tue Dec 29, 2009 04:29 PM

Tu variable nFila, siempre asume el valor de Fil que se encuentra definida al inicio de tu rutina.
Verifica este trozo, aparentemente aquĆ­ se encuentra tu error..
...
if nLinea>29.and.(nro_bon=cFolio).and.!eof()
Endpage
Page
nFila:=fil <--- Fil viene con valor y lo entrega a nFila
nPosicion:=6
nColumna:=col
nLinea:=0
endif
...
Saludos

Armando

FWH + BCC582 + WorkShop 4.5 + Resource Hacker + Mingw
Mis nuevas herramientas
Comunicacion via WhatsApp (+51) 957549 665
Comunicación via Correo: apic1002002 at yahoo dot es; apic1002002@gmail.com
Posts: 7
Joined: Mon Dec 28, 2009 01:09 PM

Re: Favor Ayuda

Posted: Thu Dec 31, 2009 01:35 PM

Armando:

Muchas gracias por tu respuesta, es exatamente lo que tu dices, elimine esa linea de nfila, y se soluciono el problema.

De la misma forma, te deseo al igual que todo el foro, que tengas unas felices fiesta de fin de aƱo, que el proximo aƱo este lleno de exitos.

FELIZ AƑO 2010.

Posts: 446
Joined: Mon Dec 26, 2005 09:11 PM

Re: Favor Ayuda

Posted: Thu Dec 31, 2009 04:04 PM
Oki... Estoy seguro que todo tiempo nuevo siempre ES mejor.

ferradam wrote:Armando:

Muchas gracias por tu respuesta, es exatamente lo que tu dices, elimine esa linea de nfila, y se soluciono el problema.

De la misma forma, te deseo al igual que todo el foro, que tengas unas felices fiesta de fin de aƱo, que el proximo aƱo este lleno de exitos.

FELIZ AƑO 2010.
FWH + BCC582 + WorkShop 4.5 + Resource Hacker + Mingw
Mis nuevas herramientas
Comunicacion via WhatsApp (+51) 957549 665
Comunicación via Correo: apic1002002 at yahoo dot es; apic1002002@gmail.com

Continue the discussion