Problemas al imprimir con bematech mp-4000 th

3,375 views
Skip to first unread message

German Abdala

unread,
Apr 13, 2011, 9:03:58 AM4/13/11
to publice...@googlegroups.com
Estoy trantando de configurar es impresora de ticket no fiscal y tengo vs problemas, la idea es emitir comandas,  estoy armando algo tipo

SET PRINTER ON
SET DEVICE TO print
SET PRINTER TO NAME Comanda

@ PROW(),0 say  "prueba"
 
o tambien

 ? 'prueba'

tengo inconveniente que es como que queda el ultimo trabajo en cola, mas alla de q mande un eject, etc.. no se si alguno tiene experiencia con estos equipos,

Muchas gracias...

saludos..



Guillermo MDQ

unread,
Apr 13, 2011, 9:12:41 AM4/13/11
to Comunidad de Visual Foxpro en Español
No probaste con ???, que envia directo a la impresora.

??? "Prueba"


Saludos
Guillermo

German Gmail

unread,
Apr 13, 2011, 9:32:37 AM4/13/11
to publice...@googlegroups.com
si, hace lo mismo..

German Abdala

unread,
Apr 13, 2011, 9:33:36 AM4/13/11
to publice...@googlegroups.com
Guillermo, si, hace lo mismo...

Arnaldo Toledano

unread,
Apr 13, 2011, 10:19:02 AM4/13/11
to publice...@googlegroups.com
Suponiendo que la impresion la hace via puerto COM, (me parece bastante
raro por el codigo), salvo que hayas emulado el puerto LPT como puerto
COM, via sistema operativo,
el problema que tenes es que NO CERRAS la impresora.
Cuando la cerras, te envia lo que tiene en "cola".
OJO, lee bien porque creo que con el cierre tenes que enviar otro comando.

Arnaldo


El 13/04/2011 10:03 a.m., German Abdala escribi�:

GeoSys Diseño de Software

unread,
Apr 13, 2011, 12:36:28 PM4/13/11
to publice...@googlegroups.com
German Abdala, debes de ejecutar el comando SET PRINTER TO si es que lo haces en impresión directa:
EJEMPLO:

???'Esta es una prueba'+chr(10)+CHR(13)
???[Esta es otra linea]+chr(10)+CHR(13)
???"Esta es la tercera linea"+chr(10)+CHR(13)
SET PRINTER TO && Este comando debes de ponerlo para que no quede nada en cola como tu dices.

No se si a eso te refieres.

Saludos

Anthony contreras Peralta

Costa Rica.

German Gmail

unread,
Apr 13, 2011, 3:34:45 PM4/13/11
to publice...@googlegroups.com
Tal cual, el comando SET PRINTER TO, libera lo q esta pendiente de imprimirse.
 
Muchas gracias !

Daniel Del Giudice

unread,
Apr 13, 2011, 4:24:00 PM4/13/11
to Comunidad de Visual Foxpro en Español
Yo trabajo con las Bematech hace mucho. Te paso mi rutina para
imprimir, aunque por supuesto debes descartar todo lo particular de mi
sistema. Al cliente le permito configurar tamaño de letra, negrita o
normal y de acuerdo a eso imprime la información en distintos
formatos. También le permito elegir por cuál impresora imprime, en
caso de haber más de una en la red. Suerte!


parameters _factsec
private _factsec, _area, _abrefact, _longituf

set order to presec in precios
if used("facturas") && Desde caja
select facturas
_abrefact = .f.
else && Desde ventas
select 0
use facturas
_abrefact = .t.
endif

if seek(_factsec, "facturas", "factsec")
_cliente = trim(cliente)
if empty(_cliente)
_cliente = "Consumidor Final"
endif
_numero = _factsec
_fecha = fecha

if descuento_con_iva = 0
_titulo1 = "TOTAL "
_subtotal = total
store "" to _titulo2, _titulo3
store 0 to _descuento, _total
else
_titulo1 = "Subtotal "
_titulo2 = "Descuento"
_titulo3 = "TOTAL "
_subtotal = subtotal_con_iva
_descuento = descuento_con_iva
_total = total
endif

if _abrefact
use facturas_detalle
else
select facturas_detalle
endif
set relation to presec into precios

set printer to name (o.nombre_impresora_mini)
_estilo = iif(o.mini_estilo_fuente = "Normal", "N", "B")
set printer font 'Courier New', o.mini_tamaño_fuente style _estilo
set printer on
set console off

? o.mini_texto_encabezado
? "." + SPACE(o.mini_columnas-2) + "."
? "Cliente: " + left(_cliente,o.mini_columnas-9)
? "." + SPACE(o.mini_columnas-2) + "."
? "Fecha: "
?? datetime()

? trim(o.mini_comprobante) + " N°: " + transform(_factsec, "@l
99999999")

_espacio1 = space(ceiling((o.mini_columnas - 27) / 2))
_espacio2 = space(floor((o.mini_columnas - 27) / 2))

? "." + SPACE(o.mini_columnas-2) + "."
? replicate("-", o.mini_columnas)
? " D e s c r i p c i ó n "
? " Cantidad" + _espacio1 + " Precio" + _espacio2 + " Importe"
? replicate("-", o.mini_columnas)

count for factsec = _factsec to _lineas
_numero_linea = 0
scan for factsec = _factsec
if eof("precios")
d = "(" + trim(codigo_propio) + ") " + trim(descripcion)
else
if empty(precios.forma_descripcion)
_forma = o.descripcion_predeterminada
else
_forma = precios.forma_descripcion
endif
d = descripcion(_forma, codigo_propio, descripcion,
rubros.descripcion, vehiculos.descripcion, marcas.descripcion)
endif
do while len(d) > o.mini_columnas
d2 = left(d,o.mini_columnas)
? d2
d = right(d, len(d) - o.mini_columnas)
enddo
if len(d) > 0
? d
endif
? transform(cantidad, "99999.999")
?? _espacio1
?? transform(precio, "99999.999")
?? _espacio2
?? transform(importe, "999999.99")
_numero_linea = _numero_linea + 1
if _numero_linea < _lineas
? space(10)
endif
endscan

? replicate("-", o.mini_columnas)
? _titulo1
?? space(o.mini_columnas - 18) + transform(_subtotal, "@z
999999.99")
if _descuento > 0
? _titulo2
?? space(o.mini_columnas - 18) + transform(_descuento, "@z
999999.99")
? _titulo3
?? space(o.mini_columnas - 18) + transform(_total, "@z 999999.99")
endif
? "." + SPACE(o.mini_columnas-2) + "."
? o.mini_texto_pie
set printer off
set printer to default && ESTO TE FALTA A VOS!!!
endif
if _abrefact && LLamado desde Ventas
use
set order to codigo_pro in precios
else
set order to "" in precios
endif

Mariano Masa

unread,
Jul 21, 2012, 10:33:04 PM7/21/12
to publice...@googlegroups.com
Hola amigos, una consulta le instale tres Bematech 4200 a una farmacia y el problema que encuentro es que también tiene una láser HP y al querer sacar alguna impresión por la láser me sale con el formato de ticket digamos de la bematech y no se como solucionarlo, es como quedan todas las impresoras con ese formato ahora, a alguien le sucedió y lo resolvió? Gracias 

Mariano

unread,
Jul 21, 2012, 10:54:23 PM7/21/12
to publice...@googlegroups.com
No la verdad que nada de experiencia en estos equipos y me complicaron bastante 

--
 
 
 

Walter R. Ojeda Valiente

unread,
Jul 21, 2012, 11:10:36 PM7/21/12
to publice...@googlegroups.com
¿Y no has probado direccionar la impresora antes de enviar el informe?

SET PRINTER TO NAME ImpresoraElegida

Si usas Visual FoxPro 9 también en tu informe podrías verificar que esté checada la opción "Save printer environment..."

Saludos.

Walter.





Date: Sat, 21 Jul 2012 19:33:04 -0700
From: marian...@gmail.com
To: publice...@googlegroups.com
Subject: [vfp] Re: Problemas al imprimir con bematech mp-4000 th
--
 
 
 

Mariano

unread,
Jul 21, 2012, 11:11:35 PM7/21/12
to publice...@googlegroups.com
La direcciono pero lo mismo

--
 
 
 

Hector Kuhn

unread,
Jul 22, 2012, 12:50:06 PM7/22/12
to publice...@googlegroups.com
        SET DEVICE TO PRINTER &miprinter
        SET PRINTER TO (miprinter)


        SET CONSOLE OFF       
        SET PRINTER ON

        ??chr(27)+'@'
   @ PROW()+1,0 say "DOCUMENTO NO FISCAL"
   @ PROW()+1,0 say ObjReporter.titulo2
   @ PROW()+1,0 say lcdireccion
   @ PROW()+1,0 say "Emision:"+DTOC(DATE())

   @ PROW()+4,0 say ""
   ? CHR(27)+"m"    && cuchilla parcial

         SET DEVICE TO SCREEN
         SET CONSOLE ON
        SET PRINTER OFF           
        SET PRINTER TO
                   


--
 
 
 

José Medina

unread,
Jul 24, 2012, 9:23:47 AM7/24/12
to publice...@googlegroups.com

German;

Si lo que deseas es imprimir tickets con una impresora etiquetera, te cuento mi experiencia. Al principio intenté el mismo procedimiento con comandos de impresión con resultados poco satisfactorios. Lo que hice fue poner (temporalmente) la etiquetera como impresora predeterminada (desde windows), luego cree un informe con los datos a imprimir en el ticket, al ingresar al informe con la etiquetera por defecto aparece automáticamente el tamaño y características del papel (tickets) en el editor de informes. Adicionalmente utilizas el entorno del informe, es decir, grabar la impresora etiquetera en el entorno del informe, de esa manera no importará qué impresora esté por defecto al momento de imprimir el ticket, pues siempre lo hará en la etiquetera.

El manual de usuario de la impresora te dará algunas luces adicionales con los comandos de escape específicos, como por ejemplo indicarle a la etiquetera que realice un corte de papel, o que emita un avance de papel, etc.

Saludos.


José Medina

unread,
Jul 24, 2012, 9:38:26 AM7/24/12
to publice...@googlegroups.com, marian...@gmail.com
Mariano;
 Yo he trabajado con varias impresoras a la vez, algunas etiqueteras (tickets de máquinas registradoras)  otras etiqueteras (tickets propiamente dichos, aquellos adhesivos, incluso con códigos de barra); en ningún caso he utilizado comandos de impresión (  @ say, set tio print, etc); siempre he utilizado, en todos los casos, el editor de informes y todo radica en el entorno del informe, es decir;

1. Poner, desde windows, la impresora que se desea utilizar para imprimir el informe como impresora por defecto.
2. Crear el informe o ingresar al informe ya creado, ir a propiedades del informe y grabar el check "Save printer environment".
3. Para los demás reportes el check "Save printer environment" debe estar desmarcado (fíjate ese detalle porque es importantísimo).
4. Finalmente por por defecto, desde windows, la impresora donde se deben imprimir los demás reportes.

Con lo anterior, tus facturas, checkes, etiquetas, tickects, en fin se imprimirán en la impresora correcta y los demás informes en la impresora por defecto que windows tiene actualmente.

Saludos.

jvir...@elmar.com.ve

unread,
Jun 30, 2014, 11:32:38 AM6/30/14
to publice...@googlegroups.com


Hola Buenos dias

yo tengo un pequeño problema con la impresora y es que me imprime algunas cosas y otras no, por ejemplo tengo dos facturas de series diferentes y una me la imprime pero la otra no, ademas de ese tengo que apagar la impresora y volver a encenderla para que me saque la factura y la pagina de prueba tampoco la acepta 
Reply all
Reply to author
Forward
0 new messages