Imprimir factura mediante comandos

915 views
Skip to first unread message

Roberto Lemos

unread,
May 17, 2011, 11:54:27 AM5/17/11
to Comunidad de Visual Foxpro en Español
Hola Amigos,

Necesito imprimir facturas mediante comandos, "??", la verdad es que
hace mucho tiempo no lo hago y no recuerdo, como configurar el tamaño
del papel con estos comandos.

Ademas las facturas tienen una particularidad, en el lado izquierdo
del papel estan los datos tipicos de la factura, y en el lado derecho
aparecen otros tipos de datos, como hago para imprimir todo esto con
instrucciones ???

Saludos

Roberto

Claudio Luna

unread,
May 17, 2011, 12:15:33 PM5/17/11
to publice...@googlegroups.com
Roberto,
Porque no lo haces con @ say ???
De esa forma tenes control total de la posición del cabezal de impresión.
Saludos
Claudio

Jorge Montúfar

unread,
May 17, 2011, 12:17:37 PM5/17/11
to publice...@googlegroups.com
LO MEJOR SERIA CON UN @ F,C SAY " " CON UN DEVICE TO PRINT, PERO TAMBIEN CON ?

REVISA ESTA RUTINA TAL VEZ TE SIRVA

PROCEDURE PTra056

 SET PRINTER TO NAME VALES
    SET DEVICE TO PRINT
    SET CONSOLE OFF

    xSubTit = 'NOTA DE MOVIMIENTO DE MERCADERIA A LABORATORIO '
   
    ??? CHR(27) + CHR(67) + CHR(33)
    ??? CHR(27) + CHR(15)
    @ 02, 02 SAY 'REP056   '+ DTOC(xFecTra) +"    "+ TIME()
    @ 03, 02 SAY xTitSis
    *@ 04, 02 SAY "No. VENDEDOR "+ xCodUsu + "VENDEDOR " +xnomusu
    @ 05, 40 SAY ALLTRIM(xSubTit)
    @ 06,100 SAY 'No. ' + ALLTRIM(xNumTra)
    @ 08, 13 SAY 'Cantidad'
    @ 08, 38 SAY 'Código'
    @ 08, 60 SAY 'Número de Serie Inicial'
    @ 08, 90 SAY 'Descripcion'
    @ 09, 10 SAY REPLICATE('-', 95)

    xLinIni = 10
    CONTADOR=0
    AGREGAR=0
    SELECT ECORDOC
    LOCATE FOR ECORDOC->ENUMREG = 60
    IF FOUND()
       xConSer = 0
       xconSer =  ECORDOC->ENUMCOR
endif
    SELECT TMP33
    GO TOP
   
    SCAN FOR !EOF()
         IF !EMPTY(ALLTRIM(TMP33->TCODPRO)) .AND. !EMPTY(ALLTRIM(TMP33->TDESPRO)) .AND. ;
             TMP33->TCANTRA > 0
              XSERFIN=0
              @ xLinIni, 13 SAY ALLTRIM(TRANSFORM(TMP33->TCANTRA, '999999'))
           
              @ xLinIni, 38 SAY ALLTRIM(TMP33->TCODPRO)
              if TMP33->TCANTRA>1
                XSERFIN =     TMP33->TCANTRA+TMP33->TSERINI
                xserfin = xserfin-1
             else
                   XSERFIN =     TMP33->Tserini
             endif
         *     @ xLinIni, 60 SAY ALLTRIM(TRANSFORM(TMP33->TSERINI, '999999'))+" - "+ ALLTRIM(TRANSFORM(XSERFIN, '999999'))
              @ xLinIni, 90 SAY ALLTRIM(TMP33->TDESPRO)
                xLinIni = xLinIni + 1
                AGREGAR=TMP33->TCANTRA
             CONTADOR=CONTADOR+AGREGAR
              IF    xLinIni>29
                    xSubTit = 'NOTA DE MOVIMIENTO DE MERCADERIA A LABORATORIO '
                    ??? CHR(27) + CHR(67) + CHR(33)
                    ??? CHR(27) + CHR(15)
                    @ 02, 02 SAY 'REP056   '+ DTOC(xFecTra) +"    "+ TIME()
                    @ 03, 02 SAY xTitSis
                    @ 05, 40 SAY ALLTRIM(xSubTit)
                    @ 06,100 SAY 'No. ' + ALLTRIM(xNumTra)
                    @ 08, 13 SAY 'Cantidad'
                    @ 08, 38 SAY 'Código'
                    @ 08, 60 SAY 'Número de Serie Inicial'
                    @ 08, 90 SAY 'Descripcion'
                    @ 09, 10 SAY REPLICATE('-', 95)
                    xLinIni = 10
                    CONTADOR=0
                    AGREGAR=0
              ENDIF
                             
         ENDIF
        
         SELECT TMP33
    ENDSCAN
    @ xLinIni, 04 SAY "TOTAL "+TRANSFORM(CONTADOR, '9999')
    @ 29,04 SAY 'Pedido Por : _________________________ ' + SPACE(02) + ;
                'Despachado Por : __________________________ ' + SPACE(02) + ;
                'Recibido Por : ________________________ '
   
    @ 33,01 SAY '.'

    SET DEVICE TO SCREEN
    SET PRINTER TO
    SET CONSOLE ON
RETURN


ATT.
JORGE MONTUFAR
GUATEMALA
WebRep
Overall rating
 

Roberto Lemos

unread,
May 17, 2011, 12:18:06 PM5/17/11
to publice...@googlegroups.com
Y como controlo el tamaño del papel para el salto a la siguiente factura

Roberto Lemos

unread,
May 17, 2011, 12:19:57 PM5/17/11
to publice...@googlegroups.com
Y como controlo el tamaño del papel?
 
----- Original Message -----
Sent: Tuesday, May 17, 2011 11:17 AM
Subject: Re: [vfp] Imprimir factura mediante comandos

Jorge Montúfar

unread,
May 17, 2011, 12:20:20 PM5/17/11
to publice...@googlegroups.com
BUENO YO GENERO UN FORMATO NUEVO EN LA IMPRESORA, PERO TAMBIEN EXISTE PARA HACERLO  MEDIANTE ?, PROBA EL CODIGO QUE TE ENVIE Y SI NO ME AVISAS

Walter R. Ojeda Valiente

unread,
May 17, 2011, 12:21:38 PM5/17/11
to publice...@googlegroups.com
? CHR(12)

Hace un EJECT (salto a la siguiente página).

Saludos.

Walter.




From: lemo...@gmail.com
To: publice...@googlegroups.com

Subject: Re: [vfp] Imprimir factura mediante comandos
Date: Tue, 17 May 2011 11:18:06 -0500

Jorge Montúfar

unread,
May 17, 2011, 12:22:43 PM5/17/11
to publice...@googlegroups.com
   ??? CHR(27) + CHR(67) + CHR(33) (33 LINEAS)
PROBALO Y ME DECIS


2011/5/17 Roberto Lemos <lemo...@gmail.com>

Roberto Lemos

unread,
May 17, 2011, 12:28:47 PM5/17/11
to publice...@googlegroups.com
Listo gracias, si me pueden ayudar con la 2da parte de la pregunta?
 
 
Ademas las facturas tienen una particularidad, en el lado izquierdo
del papel estan los datos tipicos de la factura, y en el lado derecho
aparecen otros tipos de datos, como hago para imprimir todo esto con
instrucciones ???


 
 
 

Jorge Montúfar

unread,
May 17, 2011, 12:32:32 PM5/17/11
to publice...@googlegroups.com
COMPAÑERO REVISA BIEN EL CODIGO QUE TE ENVIE AHI TENES LA RESPUESTA, SOLO ES NECESARIO LEER Y ANALIZAR UN POQUITO

SALUDOS CORDIALES

Intel Man

unread,
May 17, 2011, 12:47:55 PM5/17/11
to publice...@googlegroups.com
Hola, y al generar un formato nuevo en la impresora, como haces para que otras estaciones de red (por ejemplo 50 estaciones), tengan ese nuevo formato sin estar configurando cada estación?

Gracias.

Saludos.



Date: Tue, 17 May 2011 10:20:20 -0600

Subject: Re: [vfp] Imprimir factura mediante comandos

Ricardo Pina

unread,
May 17, 2011, 12:52:47 PM5/17/11
to publice...@googlegroups.com
Hola Intel

Nosotros para esas situaciones utilizamos reportes externos y los colocamo en el servidor, asi se actualizan todas las estaciones de trabajo.

Saludos
--
Ricardo Pina
D&SIP
Desarrollo y Servicios Informáticos Profesionales
www.dsip.com.ar

Intel Man

unread,
May 17, 2011, 1:51:30 PM5/17/11
to publice...@googlegroups.com
Hola, gracias por responder solo preguntaba para saber como hacia porque parece que el ya resolvió ese problema.

Pero yo lo uso como comandos @say para imprimir las facturas y asi no tengo problemas de estar creando un nuevo formato de pagina para cada pc.

Y tambien imprimo directamente a la impresora sin usar un archivo de texto intermedio como hacen muchos de aqui que me parece que está demas de esa manera; ya lo expliqué como lo hago, es por eso que varios tienen problemas con nuevas impresoras USB y algunos que usan la dll DOSPRINT creo que se llama; no se para que se complican tanto la gente si el visual foxpro puede imprimir sin problemas, y no nececesito reportes externos porque desde visualfoxpro lo puedo manejar sin problemas :)

ahhhhhh me olvidaba con ese metodo podría hasta imprimir en impresoras inalambricas :)

Saludos y gracias por responder




From: ric...@gmail.com
Date: Tue, 17 May 2011 13:52:47 -0300

Subject: Re: [vfp] Imprimir factura mediante comandos

Jorge Montúfar

unread,
May 17, 2011, 2:01:19 PM5/17/11
to publice...@googlegroups.com
yo creo el formato en un reporte de fox, el codigo que envie esta en vfp6 y yo trabajo en 9 y prefiero hacerlo con repor form y puedo enviarlo a cualquier impresora, en resumen y con el afan de ayudar yo todos lo informes, recibos, facturas y libretas de ahorro (que es necesario portear en una linea especifica) lo hago con create repor y lo imprimo con repor form.

Walter R. Ojeda Valiente

unread,
May 17, 2011, 2:18:29 PM5/17/11
to publice...@googlegroups.com
Es correcto, todos los informes puedes hacerlos con CREATE REPORT e imprimirlos con REPORT FORM.

En el caso de los informes que tienen muchos datos y que además tienen recuadros, líneas, etc., lo más sencillo es enviarlos a una planilla Excel y que los impriman desde allí.

Saludos.

Walter.




Date: Tue, 17 May 2011 12:01:19 -0600
Reply all
Reply to author
Forward
0 new messages