FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Mejor manera de imprimir la factura?
Posts: 1335
Joined: Fri Jun 13, 2008 11:04 AM
Mejor manera de imprimir la factura?
Posted: Mon May 18, 2009 01:07 PM
Hola a todos,

Soy muy nuevo para la impresi贸n utilizando FWH. Debo imprimir las facturas de la aplicaci贸n usando FWH en una impresora l谩ser.
Estoy tratando de convertir s贸lo la impresi贸n de una vieja aplicaci贸n Clipper. Mi nuevo FWH aplicaci贸n tendr谩 un di谩logo con un cuadro de texto en que la aceptaci贸n de la factura no. Una vez que el usuario las teclas en la factura no. FWH la solicitud deber谩 imprimir en un papel de tama帽o A4 en blanco en una impresora l谩ser con toda la Denominaci贸n, domicilio, n 潞 de factura, fecha, Cajas / L铆neas y, a continuaci贸n, el detalle las l铆neas que contengan los elementos y, a continuaci贸n, al final de la p谩gina con el proyecto de ley y total Statuatory otras declaraciones.

En DOS Clipper que estoy haciendo esto, utilizando el c贸digo

Code (fw): Select all Collapse
@prow()+1,00 say BOLD_ON+PADC("Company Name",80) +BOLD_OFF
@prow()+1,00 say PADC("Company Address",80)

@prow()+1,00 say "Invoice No : "+str(nInvoiceNo,4)
@prow()   ,50 say "Invoice Dt  : "+dtoc(dInvDate)

@prow()+1,00 say "/---------------------------------------------------------------------------------------------\"
@prow()+1,00 say "| Sr# | Item Name     | Qty  |  Price | VAT % | VAT Amt | Total Amt |"
@prow()+1,00 say "|-------|--------------------|--------|----------|----------|--------------|---------------|"

// Process and Print the Line Items
Do while Bill->InvoiceNo == nInvoiceNo .and. !eof()
    cLine:="|"+str(n++,5)+"| "+ITEM_NAME+" | "+str(QTY,3)+" | "+STR(PRICE,8,2)+" | "+str(VAT_TYPE)
    cLine+=+" | "+ STR(VAT_AMT,8,2)+" | "+str(TOTAL_AMT)+" |"
    @prow()+1,00 say cLine

    Select Bill 
    Skip
Enddo
@prow()+1,00 say "|-------|--------------------|--------|----------|----------|--------------|---------------|"
@prow()+1,00 say "|                                                             TOTAL       |"+str(GRAND_TOTAL)+" |"
@prow()+1,00 say "\---------------------------------------------------------------------------------------------/"

Proyecto de ley debe aparecer como este

Code (fw): Select all Collapse
                         [b]ABC Company[/b]
    Address 12/123445, That Street, Pincode : 999999

Invoice No :  23                                          Invoice Dt : 15-05-2009
/---------------------------------------------------------------------------------------------\
| Sr# | Item Name           | Qty  |  Price | VAT % | VAT Amt | Total Amt |
|-------|--------------------|--------|----------|----------|--------------|---------------|
|    1  | Item 1             |  3    | 10.00  |    4%   |     0.40    |   10.40     |
|    2  | Item 2             |  5    | 15.00  |    4%   |     0.40    |   15.40     |
|    3  | Item 3             |  2    | 20.00  |    4%   |     0.40    |   20.40     |
|       |                    |        |         |           |              |               |
|       |                    |        |         |           |              |               |
|       |                    |        |         |           |              |               |
|       |                    |        |         |           |              |               |
|-------|--------------------|--------|----------|----------|--------------|---------------|
|                                                                TOTAL    |   46.20     |
\---------------------------------------------------------------------------------------------/
Goods once sold will not be take back .........
Alguien me puede ayudar donde debo comenzar para obtener una impresi贸n similar a la anterior.
Cualquier c贸digo de ejemplo ser谩 煤til. Estoy confundido despu茅s de ver las muestras TestPrn3 etc etc como CMSay ()
Tambi茅n me gustar铆a utilizar los recuadros y l铆neas en lugar de la naturaleza a fin de que la "-----" imprimir aparece limpio y ordenado

Gracias y Saludos

Anser
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: Mejor manera de imprimir la factura?
Posted: Mon May 18, 2009 02:26 PM

Anserkk:
Aqui te dejo un ejemplo funcional que facilmente puedes adaptarlo a tus necesidades. Espero te sea 煤til.
Saludos.

Francisco J. Alegr铆a P.

//------------------------------------------------
Function ImpCdiario(aConcepto,aDoctos,dFecha, nDocActual)
LOCAL aMes := { "Ene", "Feb", "Mar", "Abr", "May", "Jun","Jul", "Ago", "Sep", "Oct", "Nov", "Dic" }
LOCAL oPrn
local oFont, oFont1, oFontEmpre1,oFontEmpre2,oPen1

local nRowStep:=0, nColStep:=0
local nRow := 0
local Tdebe:=0, Thaber:=0
local nPag := 0
local cCodicont

local nCol1 :=0, nCol2 :=0, nCol3 :=0, nCol4 :=0, nCol5 :=0
local nLinMax :=0, nLinTotales :=0, nLinNumCD :=0, nColNumCD :=0
local nLinFecha := 0, nColFecha :=0, nLinConcep :=0, nColConcep :=0
local nLinInicio :=0

local nColsRepo:=80,nRowsRepo:=66

LOCAL cOLDSELE:=SELECT()

DBSELECTAREA("CDIARIO")
DBSETORDER(0)
DBGOTOP()

  • PrnSetSize( 2160, 2480 ) //ancho,alto
  • PrnSetSize( 2160, 2790 ) //ancho,alto
    PrinterSetup(oPrn)

PRINT oPrn NAME "Cdiario" PREVIEW

While Empty( oPrn:hDC )
MsgStop( "Impresora no esta lista!","Alto" )
enddo

DEFINE FONT oFont NAME "Arial" SIZE 0, -09 OF oPrn
DEFINE FONT oFont1 NAME "Arial" SIZE 0, -10 OF oPrn BOLD
DEFINE FONT oFontEmpre1 NAME "Arial" SIZE 0, -14 BOLD OF oPrn
DEFINE FONT oFontEmpre2 NAME "Arial" SIZE 0, -10 BOLD OF oPrn
DEFINE PEN oPen1 WIDTH 1

nRowStep = oPrn:nVertRes() / nRowsRepo //66 //lineas
nColStep = oPrn:nHorzRes() / nColsRepo //80 // columnas

nCol1 := Val(GetPvProfString("Cdiario","Columna1","2",cIniFile)) * ncolStep //codigo
nCol2 := Val(GetPvProfString("Cdiario","Columna2","17",cIniFile)) * nColStep //descrip
nCol3 := Val(GetPvProfString("Cdiario","Columna3","53",cIniFile)) * ncolStep //parcial
nCol4 := Val(GetPvProfString("Cdiario","Columna4","65",cIniFile)) * ncolStep //debe
nCol5 := Val(GetPvProfString("Cdiario","Columna5","77",cIniFile)) * ncolStep //haber
nLinMax := Val(GetPvProfString("Cdiario","MaxLineas","54",cIniFile)) * nRowStep
nLinTotales := Val(GetPvProfString("Cdiario","LinTotales","56",cIniFile)) * nRowStep
nLinNumCD := Val(GetPvProfString("Cdiario","LinNumCD","10",cIniFile)) * nRowStep
nColNumCD := Val(GetPvProfString("Cdiario","ColNumCD","35",cIniFile)) * nColStep
nLinFecha := Val(GetPvProfString("Cdiario","LinFecha","5",cIniFile)) * nRowStep
nColFecha := Val(GetPvProfString("Cdiario","ColFecha","74",cIniFile)) * nColStep
nLinConcep := Val(GetPvProfString("Cdiario","LinConcep","11",cIniFile)) * nRowStep
nColConcep := Val(GetPvProfString("Cdiario","ColConcep","5",cIniFile)) * nColStep
nLinInicio := Val(GetPvProfString("Cdiario","LinInicio","14",cIniFile)) * nRowStep //Lin Inic codificacion

nRow:=0

PAGE

DibujeCD(oPrn,oPen1,nRowStep,nColStep,oFont,oFont1,oFontEmpre1,oFontEmpre2,nColsRepo,nRowsRepo)

nPag += 1
oPrn:Say( 1*nRowStep, nCol5, str(nPag), oFont,,,,PAD_RIGHT )

if !empty(aDoctos)
oPrn:Say( nLinNumCD, nColNumCD, transform(nDocActual,"####-##-####"), oFont1,,,,PAD_RIGHT )
endif

oPrn:Say( nLinFecha, nColFecha, Upper(aMes[Month(dfecha)])+". "+;
Transform(Day(dfecha),"99")+"/"+;
Transform(Year(dfecha),"9999"), oFont,,,,PAD_RIGHT )

nRow:=nLinConcep
oPrn:Say( nLinConcep, nColConcep, aConcepto[1], oFont )
nRow+= nRowStep
oPrn:Say( nRow, nColConcep, aConcepto[2], oFont )
nRow+= nRowStep
oPrn:Say( nRow, nColConcep, aConcepto[3], oFont )
nRow+= nRowStep
oPrn:Say( nRow, nColConcep, aConcepto[4], oFont ) // DIC/2008

//Codificacion del comprobante
dbGotop()

nRow:=nLinInicio

WHILE !eof()

cCodiCont:=field->cuenta+field->scuenta+field->sscuenta+field->ssscuenta+field->sssscuenta

if len(Alltrim(cCodiCont)) = 4 //mayor
nRow+=nRowStep
endif

nRow+= nRowStep
oPrn:Say( nRow, ncol1, cCodiCont, if(len(Alltrim(cCodiCont)) = 4, oFont1, oFont) )
oPrn:Say( nRow, ncol2, field->NOMBRE, if(len(Alltrim(cCodiCont)) = 4, oFont1, oFont) )
if len(alltrim(cCodiCont))=4
oPrn:Say( nRow, nCol4, transform(field->MOVDEBE, "@Z 999,999,999.99"), if(len(alltrim(cCodiCont))=4, oFont1, oFont),,,,PAD_RIGHT )
oPrn:Say( nRow, nCol5, transform(field->MOVHABER,"@Z 999,999,999.99"), if(len(alltrim(cCodiCont))=4, oFont1, oFont),,,,PAD_RIGHT )
else
oPrn:Say( nRow, nCol3, transform(field->MOVDEBE, "@Z 999,999,999.99"), oFont,,,,PAD_RIGHT )
oPrn:Say( nRow, nCol3, transform(field->MOVHABER,"@Z 999,999,999.99"), oFont,,,,PAD_RIGHT )
endif

if len(alltrim(cCodiCont))=4 //Para gran total solo suma cta mayor
Tdebe += field->MOVDEBE
Thaber+= field->MOVHABER
endif

dbSkip()

if nRow >= nLinMax
oPrn:Say( nLinTotales, nCol3, "Sub-Total -->", oFont,,,,PAD_RIGHT )
oPrn:Say( nLinTotales, nCol4, transform(Tdebe, "@Z 999,999,999.99"), oFont,,,,PAD_RIGHT )
oPrn:Say( nLinTotales, nCol5, transform(Thaber,"@Z 999,999,999.99"), oFont,,,,PAD_RIGHT )

ENDPAGE
nRow := 0
PAGE
  if lDibujarComp
     DibujeCD(oPrn,oPen1,nRowStep,nColStep,oFont,oFont1,oFontEmpre1,oFontEmpre2,nColsRepo,nRowsRepo)
  endif
nPag += 1
oPrn:Say( 1*nRowStep, nCol5, str(nPag), oFont,,,,PAD_RIGHT )

if !empty(aDoctos)
  oPrn:Say( nLinNumCD, nColNumCD, transform(nDocActual,"####-##-####"), oFont1,,,,PAD_RIGHT )
endif

oPrn:Say( nLinFecha, nColFecha, Upper(aMes[Month(dfecha)])+". "+;
                       Transform(Day(dfecha),"99")+"/"+;
                       Transform(Year(dfecha),"9999"), oFont,,,,PAD_RIGHT )

nRow:=nLinConcep
oPrn:Say( nLinConcep, nColConcep, aConcepto[1], oFont )
nRow+= nRowStep
oPrn:Say( nRow, nColConcep, aConcepto[2], oFont )
nRow+= nRowStep
oPrn:Say( nRow, nColConcep, aConcepto[3], oFont )
nRow+= nRowStep
oPrn:Say( nRow, nColConcep, aConcepto[4], oFont ) // DIC/2008

nRow:=nLinInicio
endif

if eof()
oPrn:Say( nLinTotales, nCol3, "BALANCE -->", oFont1,,,,PAD_RIGHT )
oPrn:Say( nLinTotales, nCol4, transform(Tdebe, "@Z 999,999,999.99"), oFont1,,,,PAD_RIGHT )
oPrn:Say( nLinTotales, nCol5, transform(Thaber,"@Z 999,999,999.99"), oFont1,,,,PAD_RIGHT )
EXIT
endif

ENDDO

ENDPAGE
oFont:End()
oFont1:End()
oFontEmpre1:End()
oFontEmpre2:End()
oPen1:End()

ENDPRINT

CDIARIO->(DBCLOSEAREA())
** FERASE("CDIARIO.DBF")
** FERASE("CDIARIO.NTX")

** DBSELECTAREA("FICHERO")
DBSELECTAREA(cOLDSELE)

return nil

//-----------------------//DIBUJA EL FORMATO DEL COMPROBANTE
Function DibujeCD(oPrn,oPen1,nRowStep,nColStep,oFont,oFont1,oFontEmpre1,oFontEmpre2,nColsRepo,nRowsRepo)

local nLinFirmas:= VAL(GetPvProfString("Cdiario","LinFirmas", "52", cIniFile)) * nRowStep
local nColHecho:= VAL(GetPvProfString("Cdiario","ColHecho", "3", cIniFile)) * nColStep
local nColRevisado:= VAL(GetPvProfString("Cdiario","ColRevisado", "33", cIniFile)) * nColStep
local nColAutoriza:= VAL(GetPvProfString("Cdiario","ColAutoriza", "63", cIniFile)) * nColStep

local nLinTitEmpre1:= VAL(GetPvProfString("Cdiario","LinTitEmpre1", "6", cIniFile)) * nRowStep
local nColTitEmpre1:= VAL(GetPvProfString("Cdiario","ColTitEmpre1", "56", cIniFile)) * nColStep
local nLinTitEmpre2:= VAL(GetPvProfString("Cdiario","LinTitEmpre2", "5", cIniFile)) * nRowStep
local nColTitEmpre2:= VAL(GetPvProfString("Cdiario","ColTitEmpre2", "30", cIniFile)) * nColStep

local nLinTitCols:= VAL(GetPvProfString("Cdiario","LinTitCols", "15", cIniFile)) * nRowStep

local cNomHabilit:=Alltrim(Field->MODIFICADO) //usamos este campo p/identific Habilitado
local cComprob:="COMPROBANTE DE DIARIO"

nColTitEmpre1:=(( nColsRepo-len(cNomHabilit)-4 )/2) * nColStep //centrar (-4 es por el tam de ofont)
nColTitEmpre2:=(( nColsRepo-len(cComprob)-6 )/2) * nColStep //centrar (-4 es por el tam de ofont)

  **oPrn:SayBitMap( 30,50, "IcoEmpre.bmp" )
  oPrn:Say( nLinTitEmpre1, nColTitEmpre1, cNomHabilit, oFontEmpre1 )
  oPrn:Say( nLinTitEmpre2, nColTitEmpre2, cComprob, oFontEmpre2 )

//caja del cuerpo
  Caja(13,2, 63,78,oPrn,oPen1,nRowStep,nColStep)

//Linea Horiz (enmarca descrip columnas)
  Linea(15,2, 15,78,oPrn,oPen1,nRowStep,nColStep)
  oPrn:Say( nLinTitCols, 4*nColStep,  "CODIGO CONTABLE", oFont )
  oPrn:Say( nLinTitCols, 20*nColStep, "DESCRIPCION O CONCEPTO", oFont )
  oPrn:Say( nLinTitCols, 58*nColStep, "DEBITOS", oFont )
  oPrn:Say( nLinTitCols, 68*nColStep, "CREDITOS", oFont )

//Linea Vert1 codigo/concepto
  Linea(13,18, 57,18,oPrn,oPen1,nRowStep,nColStep)
//Linea Vert3 parcial/debitos
  Linea(13,54, 57,54,oPrn,oPen1,nRowStep,nColStep)
//Linea Vert4 debitos/creditos
  Linea(13,66, 57,66,oPrn,oPen1,nRowStep,nColStep)

if upper(GetPvProfString("Cdiario","Parcial","N",cIniFile))="S"
   oPrn:Say( nLinTitCols, 45*nColStep, "PARCIAL", oFont )
   //Linea Vert2 concepto/parcial
   Linea(13,42, 57,42,oPrn,oPen1,nRowStep,nColStep)
endif

//Linea Horiz (enmarca las firmas)
  Linea(57,2, 57,78,oPrn,oPen1,nRowStep,nColStep)
  oPrn:Say( nLinFirmas, nColHecho, "Hecho por:", oFont )
  oPrn:Say( nLinFirmas, nColRevisado, "Revisado por:", oFont )
  oPrn:Say( nLinFirmas, nColAutoriza, "Autorizado por:", oFont )

Return nil

//-----------------------------------------------------------------
Function Caja(nlin1,nCol1,nLin2,nCol2,oPrn,oPen1,nRowStep,nColStep)
oPrn:Box(nLin1nRowStep, nCol1nColStep, nLin2nRowStep, nCol2nColStep,oPen1)
return nil
//-----------------------------------------------------------------
Function Linea(nLin1,nCol1,nLin2,nCol2,oPrn,oPen1,nRowStep,nColStep)
oPrn:Line(nLin1nRowStep, nCol1nColStep,nLin2nRowStep,nCol2nColStep,oPen1)
return nil

Francisco J. Alegr铆a P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: Mejor manera de imprimir la factura?
Posted: Mon May 18, 2009 02:32 PM

Esta es la parte del .INI.
Saludos

[CDIARIO]
FormaPredeterm=N
DibujarComp=s
LinNumCD=5.5
ColNumCD=54.00
LinFecha=5.5
ColFecha=74.00
LinConcep=8.00
ColConcep=3.00
LinInicio=14.00
MaxLineas=53.00
LinTotales=56
Columna1=4.00
Columna2=20.00
Columna3=53.00
Columna4=65.00
Columna5=77.00
AnchPapel=2100
AltoPapel=2770
AnchFPred=2100
AltoFPred=2790

LinTitCols=13.6
LinFirmas=57.3
ColHecho=3
ColRevisado=33
ColAutoriza=63
LinTitEmpre1=4
**ColTitEmpre1=0
LinTitEmpre2=5.5
ColTitEmpre2=30

Francisco J. Alegr铆a P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 1445
Joined: Mon Oct 10, 2005 02:38 PM
Re: Mejor manera de imprimir la factura?
Posted: Mon May 18, 2009 07:53 PM
Mi elecci贸n ha sido TUtilprn y TImprime de Rafa Carmona.

Con est谩s clases podr谩s hacer lo que quieras, incluso c贸digo de barras con TBarlib.

Si no estoy equivocado, viene con ejemplos de facturas.

Vale la pena dedeicar un par de horas a ver que hacen estas clases, te permiten muchas cosas (cuadrados, rect谩ngulos, c铆rculos, BMP, etc).

Un Saludo
Carlos G.



anserkk wrote:Hola a todos,

Soy muy nuevo para la impresi贸n utilizando FWH. Debo imprimir las facturas de la aplicaci贸n usando FWH en una impresora l谩ser.
Estoy tratando de convertir s贸lo la impresi贸n de una vieja aplicaci贸n Clipper. Mi nuevo FWH aplicaci贸n tendr谩 un di谩logo con un cuadro de texto en que la aceptaci贸n de la factura no. Una vez que el usuario las teclas en la factura no. FWH la solicitud deber谩 imprimir en un papel de tama帽o A4 en blanco en una impresora l谩ser con toda la Denominaci贸n, domicilio, n 潞 de factura, fecha, Cajas / L铆neas y, a continuaci贸n, el detalle las l铆neas que contengan los elementos y, a continuaci贸n, al final de la p谩gina con el proyecto de ley y total Statuatory otras declaraciones.

En DOS Clipper que estoy haciendo esto, utilizando el c贸digo

Code (fw): Select all Collapse
@prow()+1,00 say BOLD_ON+PADC("Company Name",80) +BOLD_OFF
@prow()+1,00 say PADC("Company Address",80)

@prow()+1,00 say "Invoice No : "+str(nInvoiceNo,4)
@prow() 聽 ,50 say "Invoice Dt 聽: "+dtoc(dInvDate)

@prow()+1,00 say "/---------------------------------------------------------------------------------------------\"
@prow()+1,00 say "| Sr# | Item Name 聽 聽 | Qty 聽| 聽Price | VAT % | VAT Amt | Total Amt |"
@prow()+1,00 say "|-------|--------------------|--------|----------|----------|--------------|---------------|"

// Process and Print the Line Items
Do while Bill->InvoiceNo == nInvoiceNo .and. !eof()
聽 聽 cLine:="|"+str(n++,5)+"| "+ITEM_NAME+" | "+str(QTY,3)+" | "+STR(PRICE,8,2)+" | "+str(VAT_TYPE)
聽 聽 cLine+=+" | "+ STR(VAT_AMT,8,2)+" | "+str(TOTAL_AMT)+" |"
聽 聽 @prow()+1,00 say cLine

聽 聽 Select Bill 
聽 聽 Skip
Enddo
@prow()+1,00 say "|-------|--------------------|--------|----------|----------|--------------|---------------|"
@prow()+1,00 say "| 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 TOTAL 聽 聽 聽 |"+str(GRAND_TOTAL)+" |"
@prow()+1,00 say "\---------------------------------------------------------------------------------------------/"

Proyecto de ley debe aparecer como este

Code (fw): Select all Collapse
 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 [b]ABC Company[/b]
聽 聽 Address 12/123445, That Street, Pincode : 999999

Invoice No : 聽23 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽Invoice Dt : 15-05-2009
/---------------------------------------------------------------------------------------------\
| Sr# | Item Name 聽 聽 聽 聽 聽 | Qty 聽| 聽Price | VAT % | VAT Amt | Total Amt |
|-------|--------------------|--------|----------|----------|--------------|---------------|
| 聽 聽1 聽| Item 1 聽 聽 聽 聽 聽 聽 | 聽3 聽 聽| 10.00 聽| 聽 聽4% 聽 | 聽 聽 0.40 聽 聽| 聽 10.40 聽 聽 |
| 聽 聽2 聽| Item 2 聽 聽 聽 聽 聽 聽 | 聽5 聽 聽| 15.00 聽| 聽 聽4% 聽 | 聽 聽 0.40 聽 聽| 聽 15.40 聽 聽 |
| 聽 聽3 聽| Item 3 聽 聽 聽 聽 聽 聽 | 聽2 聽 聽| 20.00 聽| 聽 聽4% 聽 | 聽 聽 0.40 聽 聽| 聽 20.40 聽 聽 |
| 聽 聽 聽 | 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽| 聽 聽 聽 聽| 聽 聽 聽 聽 | 聽 聽 聽 聽 聽 | 聽 聽 聽 聽 聽 聽 聽| 聽 聽 聽 聽 聽 聽 聽 |
| 聽 聽 聽 | 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽| 聽 聽 聽 聽| 聽 聽 聽 聽 | 聽 聽 聽 聽 聽 | 聽 聽 聽 聽 聽 聽 聽| 聽 聽 聽 聽 聽 聽 聽 |
| 聽 聽 聽 | 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽| 聽 聽 聽 聽| 聽 聽 聽 聽 | 聽 聽 聽 聽 聽 | 聽 聽 聽 聽 聽 聽 聽| 聽 聽 聽 聽 聽 聽 聽 |
| 聽 聽 聽 | 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽| 聽 聽 聽 聽| 聽 聽 聽 聽 | 聽 聽 聽 聽 聽 | 聽 聽 聽 聽 聽 聽 聽| 聽 聽 聽 聽 聽 聽 聽 |
|-------|--------------------|--------|----------|----------|--------------|---------------|
| 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽TOTAL 聽 聽| 聽 46.20 聽 聽 |
\---------------------------------------------------------------------------------------------/
Goods once sold will not be take back .........
Alguien me puede ayudar donde debo comenzar para obtener una impresi贸n similar a la anterior.
Cualquier c贸digo de ejemplo ser谩 煤til. Estoy confundido despu茅s de ver las muestras TestPrn3 etc etc como CMSay ()
Tambi茅n me gustar铆a utilizar los recuadros y l铆neas en lugar de la naturaleza a fin de que la "-----" imprimir aparece limpio y ordenado

Gracias y Saludos

Anser

Un Saludo

Carlos G.



FiveWin 25.12 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 11 Home

Posts: 244
Joined: Fri Oct 28, 2005 06:29 PM
Re: Mejor manera de imprimir la factura?
Posted: Mon May 18, 2009 08:08 PM

Yo hago algo parecido a lo que hace FranciscoA para imprimir los datos pero ( genero las facturas en vista preliminar ) en cuando al formulario en si, hago el dise帽o gr谩fico en un bmp o bien puedes escanear una factura impresa y adaptarla a tu gusto y luego la rutina de impresion es en dos etapas:
La primera es imprimir el .bmp con el dibujo de la factura y luego divido la factura en tres rutinas: Header(), Cuerpo() y Footer(), en la vista preliminar los datos se ven impresos sobre el bmp quedando cada valor en su lugar.

Muchos saludos!

Alejandro Cebolido

Buenos Aires, Argentina
Posts: 215
Joined: Fri Feb 02, 2007 03:38 PM
Re: Mejor manera de imprimir la factura?
Posted: Mon May 18, 2009 08:14 PM

Hola anserk,

La clase Tprinter ha sido excelente para mis aplicaciones, puedes hacer cuadros, circulos, tipos de letra, formularios enteros etc etc, te la dejo para que la anexes a todas las sugerencias de los amigos del foro y le des una chequeada,

Desde Managua, Nicaragua

Ramon Paredes

... Desde la Tierra de lagos y Volcanes......
Posts: 1335
Joined: Fri Jun 13, 2008 11:04 AM
Re: Mejor manera de imprimir la factura?
Posted: Tue May 19, 2009 04:57 AM

Queridos todos,

Quiero dar las gracias a todos y cada uno de usted para proporcionar la informaci贸n requerida's.

Mr.Francisco 's c贸digo de ejemplo ser谩 煤til para m铆 para empezar.

Estimado Mr.Carlos,

De donde puedo obtener la CLASE TUtilprn y TImprime por Rafa Carmona. ?

Como ya he dicho estoy muy nuevo para la impresi贸n en FWH y necesito algo muy simple para empezar. Una clase con un muy buen ejemplo de generar una factura ser铆a el ideal para m铆.

Saludos

Anser

Posts: 731
Joined: Fri Oct 07, 2005 07:42 AM
Re: Mejor manera de imprimir la factura?
Posted: Mon May 25, 2009 02:52 PM

Aqui las tienes;

viewtopic.php?f=17t=2501

&

Saludos

Rafa Carmona ( rafa.thefullARROBAgmail.com___quitalineas__)
Posts: 1335
Joined: Fri Jun 13, 2008 11:04 AM
Re: Mejor manera de imprimir la factura?
Posted: Tue May 26, 2009 06:34 AM

TheFull,

Muchas gracias

Anser

Continue the discussion