Power Builder - Imprimir PrintOpen()

 
Vista:

Imprimir PrintOpen()

Publicado por Edwin (7 intervenciones) el 06/10/2013 04:15:34
Buenas noches:

estoy utilizando este tipo de impresión y mi problema es que la impresión se para en la primera pagina..


como puedo hacer para que siga imprimiendo hasta que termine.

ulong job
job = PrintOpen()

-----------------------------
-----------------------------
-------------------------------
--------------------------------

-----------------------

----


PrintClose(Job)


muchas gracias de antemano...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Imprimir PrintOpen()

Publicado por Leopoldo Taylhardat (710 intervenciones) el 06/10/2013 14:28:42
Saludos...
En realidad no explicas para que utilizas este tipo de impresión...

Yo utilizo este tipo de impresión solo cuando necesito imprimir algo linea a linea...
por ejemplo con las impresoras de tickets en puntos de venta y en
impresoras de código de barra para etiquetas personalizadas...

Para impresión de dw o datastore se usa el proceso normal de impresión...
dw_xxx.Print()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Imprimir PrintOpen()

Publicado por Edwin (7 intervenciones) el 06/10/2013 18:16:58
Si es para imprimir un bloque de etiquetas código de barras algo de 500 etiquetas distintas por trabajador es para controlar comisiones.

000010000001 000010000002
000010000003 000010000004
000010000005 000010000006



000010000499 000010000500



Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Imprimir PrintOpen()

Publicado por Edwin (7 intervenciones) el 07/10/2013 18:09:04
Si es para imprimir un bloque de etiquetas código de barras algo de 500 etiquetas distintas por trabajador es para controlar comisiones.

000010000001 000010000002
000010000003 000010000004
000010000005 000010000006



000010000499 000010000500



Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Imprimir PrintOpen()

Publicado por Leopoldo Taylhardat (710 intervenciones) el 08/10/2013 02:23:47
Saludos.

En que impresora estás imprimiendo???
que tipo de código de barra utilizas???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Imprimir PrintOpen()

Publicado por Edwin (7 intervenciones) el 08/10/2013 03:51:13
LOS CÓDIGO DE BARRAS CODE 128 LO GENERO SIN PROBLEMAS
IMPRIMO EN UNA IMPRESORA DE TINTA, PERO VOY A UTILIZAR UNA IMPRESORA DE ETIQUETA CUANDO IMPRIMA LAS ETIQUETAS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Imprimir PrintOpen()

Publicado por Leopoldo Taylhardat (710 intervenciones) el 09/10/2013 03:00:34
Saludos...
Bien..
Si la impresora se tranca, debieras mandar los codigo como si fueran una linea de impresión solamente y hacer una espera...de un segundo para probar..

Para imprimir con una impresora de etiqueta ZEBRA (en el caso)
debes programar un proceso con el lenguaje EPL para armar la etiqueta
y luego proceder a la impresión con los valores que quieras dar...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Imprimir PrintOpen()

Publicado por Edwin (7 intervenciones) el 09/10/2013 04:17:54
Leopoldo Taylhardat

Si fuera mucha molestia tienes algún ejemplo con impresora ZEBRA

por favor te lo agradecería.

si tiene algún tipo de costo comunícame por favor
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Imprimir PrintOpen()

Publicado por kelly (1 intervención) el 30/09/2017 20:48:20
hola que tal...

puedes mostrarme algun ejemplo de como imprimir un codigo de barras y texto desde PB utilizando la impresora Zebra GC420t

saludos & gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Adolfo
Val: 250
Bronce
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

Imprimir PrintOpen()

Publicado por Adolfo (260 intervenciones) el 15/11/2017 00:53:59
Hola Edwin:
Para imprimir sobre una impresora Zebra GC420t tienes que definir si sería via puerto serie ó por los drivers propios de zebra.
Lo primero tiene la ventaja de que es mas rápido pero necesitas saber como abrir un puerto serie RS232, si te interesa tengo el codigo y el activex, escribeme a: [email protected] o responde por aqui.
Para imprimir desde windows requieres el disco de instalacion yo lo tengo si te interesa escribe a mi correo o por aqui.
Si vas ha imprimir via RS232 debes utilizar el lenguaje ZPL aqui el ejemplo que ves en las imágenes:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
String ls_folio, ls_cliente, ls_proid, ls_pronom, ls_empid, le_empnom, ls_usuid, ls_usunom, ls_linid, ls_linnom, ls_chofer
 
ls_folio		= Ceros(em_orden.text,12)
ls_cliente	= Valida_Cad(gs_nom_cte)
ls_proid		= Valida_Cad(sle_pro_id.text)
ls_pronom	= Valida_Cad(ddlb_producto.text)
ls_empid		= Valida_Cad(sle_emp_id.text)
le_empnom	= Valida_Cad(ddlb_empresa.text)
ls_usuid		= Valida_Cad(sle_usu_id.text)
ls_usunom	= Valida_Cad(ddlb_usuario.text)
ls_linid		= Valida_Cad(sle_lin_trans.text)
ls_linnom	= Valida_Cad(ddlb_linea.text)
ls_chofer	= Valida_Cad(sle_chofer.text)
ole_prn.object.OutPut= "^XA" + gs_crlf
ole_prn.object.OutPut= "^MPS" + gs_crlf
ole_prn.object.OutPut= "^LH0,0" + gs_crlf
ole_prn.object.OutPut= "^FO1,30^AU^FB850,2,0,C,0^FD" + ls_cliente + "^FS" + gs_crlf
ole_prn.object.OutPut= "^FO019,184^GB130,01,01^FS ^FO049,150^ARN,32,22 ^FDFolio PA:^FS" + gs_crlf
ole_prn.object.OutPut= "^FO165,151^GB165,34,02^FS ^FO170,150^ARN,32,22 ^FD" + em_orden.text + "^FS" + gs_crlf
ole_prn.object.OutPut= "^FO389,184^GB140,01,01^FS ^FO390,150^ARN,32,22 ^FDFecha Hora:^FS" + gs_crlf
ole_prn.object.OutPut= "^FO535,151^GB277,34,02^FS ^FO540,150^ARN,32,22 ^FD" + sle_fec_hor.text + "^FS" + gs_crlf
ole_prn.object.OutPut= "^FO019,221^GB132,01,01^FS ^FO043,187^ARN,32,22 ^FDProducto:^FS" + gs_crlf
ole_prn.object.OutPut= "^FO165,188^GB125,34,02^FS ^FO170,187^ARN,32,22 ^FD" + ls_proid + "^FS" + gs_crlf
ole_prn.object.OutPut= "^FO300,188^GB513,34,02^FS ^FO305,187^ARN,32,22 ^FD" + ls_pronom + "^FS" + gs_crlf
ole_prn.object.OutPut= "^FO019,258^GB132,01,01^FS ^FO043,224^ARN,32,22 ^FDEmpresa:^FS" + gs_crlf
ole_prn.object.OutPut= "^FO165,225^GB125,34,02^FS ^FO170,224^ARN,32,22 ^FD" + ls_empid + "^FS" + gs_crlf
ole_prn.object.OutPut= "^FO300,225^GB513,34,02^FS ^FO305,224^ARN,32,22 ^FD" + le_empnom + "^FS" + gs_crlf
ole_prn.object.OutPut= "^FO019,295^GB132,01,01^FS ^FO054,261^ARN,32,22 ^FDUsuario:^FS" + gs_crlf
ole_prn.object.OutPut= "^FO165,262^GB125,34,02^FS ^FO170,261^ARN,32,22 ^FD" + ls_usuid + "^FS" + gs_crlf
ole_prn.object.OutPut= "^FO300,262^GB513,34,02^FS ^FO305,261^ARN,32,22 ^FD" + ls_usunom + "^FS" + gs_crlf
ole_prn.object.OutPut= "^FO019,332^GB132,01,01^FS ^FO020,298^ARN,32,22 ^FDLinea Tran:^FS" + gs_crlf
ole_prn.object.OutPut= "^FO165,299^GB125,34,02^FS ^FO170,298^ARN,32,22 ^FD" + ls_linid + "^FS" + gs_crlf
ole_prn.object.OutPut= "^FO300,299^GB513,34,02^FS ^FO305,298^ARN,32,22 ^FD" + ls_linnom + "^FS" + gs_crlf
ole_prn.object.OutPut= "^FO019,369^GB132,01,01^FS ^FO070,335^ARN,32,22 ^FDPlacas:^FS" + gs_crlf
ole_prn.object.OutPut= "^FO165,336^GB220,34,02^FS ^FO170,335^ARN,32,22 ^FD" + sle_placas.text + "^FS" + gs_crlf
ole_prn.object.OutPut= "^FO019,406^GB132,01,01^FS ^FO065,371^ARN,32,22 ^FDChofer:^FS" + gs_crlf
ole_prn.object.OutPut= "^FO165,373^GB450,34,02^FS ^FO170,371^ARN,32,22 ^FD" + ls_chofer + "^FS" + gs_crlf
ole_prn.object.OutPut= "^FO40,450^BY3^BCR,100,Y,Y ^FD" + ls_folio + "^FS" + gs_crlf
ole_prn.object.OutPut= "^XZ" + gs_crlf
Return

Este es el codigo de valida_cad:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
String ls_cadena, ls_car, ls_rem[] = {'_A0','_82','_A1','_A2','_A3','_B5','_90','_D6','_E0','_E9','_A4','_A5','_F2'}
String ls_esp = 'áéíóúÁÉÍÓÚñÑ_'
Integer li_i, li_j, li_k, li_l, li_ascii
 
ls_cadena	= ''
li_j			= Len(par_cadena)
for li_i = 1 to li_j
	ls_car = Mid(par_cadena,li_i,1)
	li_k = Pos(ls_esp,ls_car)
	if li_k > 0 then ls_car = ls_rem[li_k]
	ls_cadena += ls_car
next
Return ls_cadena/code]
 
Si no tienes el manual de programacion lenguaje ZPL pídemelo.
Ahora bien para la impresión via Windows a solo debes de crear una datawindow con los datos que quieres, el logo de la la imagen es un picturebox, la ventaja de este tipo de impresión es mas sencillo de colocar los datos y presentarlo a excepción del código de barras.
Y para el código de barras necesitas el font code 128, lo tengo si lo quieres pídemelo, para generar el contenido necesitas un algoritmo el cual es este:
[code]Integer li_i, li_j, li_k, li_sum
String ls_car, ls_res, ls_c128 = '!"#$%&~'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~~ÃÄÅÆÇÈÉÊËÌÍÎ'

li_j 		= Len(par_cadena)
li_sum	= 104
for li_i = 1 to li_j
	ls_car	= Mid(par_cadena,li_i,1)
	li_k 		= Pos(ls_c128,ls_car)
	li_sum  += li_k * li_i
next
li_sum = Mod(li_sum, 103)
ls_res = Mid(ls_c128,li_sum,1)
ls_res = Mid(ls_c128,104,1) + par_cadena + ls_res + Mid(ls_c128,106,1)
Return ls_res
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Imprimir PrintOpen()

Publicado por jean pierre (1 intervención) el 13/11/2017 15:39:01
Hola edwin recibiste alguna respuesta sobre lo que consultaste.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar