Hola Carlos.
1. crea una impresora genérica en la pc que contiene la impresora zebra y direccionala a usb, ademas compartirla
3. Genera desde el sistema el archivo vinprint.txt que tiene el diseño de la etiqueta
S2
D7
ZB
N
S2
A45,5,0,3,1,2,N,"TITULO DE LA EMPRESA S.A."
A45,40,0,2,1,1,N,"CPU DELL OPTIPLEX TECLADO,MOUS"
A45,60,0,2,1,1,N,"E MONITOR 9020"
A45,80,0,3,1,1,N,"96301 CONTRALORIA"
A45,100,0,2,1,1,N,"FISICO AL 30/11/2016"
A315,140,0,1,1,1,N,""
B55,120,0,1,2,7,35,B,"1621"
A465,5,0,3,1,2,N,"TITULO DE LA EMPRESA S.A."
A465,40,0,2,1,1,N,"ESCRITORIO GRIS DE 5 GAVETAS"
A465,60,0,2,1,1,N,""
A465,80,0,3,1,1,N,"96301 CONTRALORIA"
A465,100,0,2,1,1,N,"FISICO AL 30/11/2016"
A705,140,0,1,1,1,N,""
B465,120,0,1,2,7,35,B,"196301008"
P1
FE
4. Por ultimo ejecuta desde tu sistema el archivo bat y este enviara la impresion al zebra
Te dejo el codigo que aplico para enviar la etiqueta al txt y luego ejecutar el bat.
** Esta rutina es de generar dos etiquetas por cada fila porque envió de 2x1 pultadas dos filas y tomo codigo por codigo del usuario para no desperdiciar etiquetas en blanco.
*** Definiendo el reporte a utilizar
IF MESSAGEBOX("ESTA SEGURO(A) DE GENERAR LAS VIÑETAS DE ESTE ARCHIVO",32+256+4,"CONFIRME")=6
CREATE CURSOR VINETAS (CODIGO1 C(15),CODIGO2 C(15),;
NOMBRE1 C(60),NOMBRE2 C(60),MEDIDA1 C(15),MEDIDA2 C(15))
CREATE CURSOR temp1 (codprod c(15),nomprod c(40))
SELECT temp1
total1=thisform.list1.ListCount
FOR i=1 TO total1
cod=thisform.list1.ListItem(i)
SELECT producto
LOCATE FOR codprod=cod
IF EOF()
MESSAGEBOX("Articulo No.:"+cod+" no existe",64,"Vifique")
loop
ELSE
nomprod1=producto.nomprod
SELECT temp1
APPEND BLANK
REPLACE NEXT 1 codprod WITH cod,nomprod WITH nomprod1
ENDIF
endfor
SELEC TEMP1
GO TOP
IF EOF()
MESSAGEBOX("No ha registrado ningun producto",64,"Incorrecto")
retur(.f.)
endif
SCAN
cod=codprod
nom1=SUBSTR(nomprod,1,25)
med1=SUBSTR(nomprod,26,25)
FOR I=1 TO 1
INSERT INTO VINETAS (CODIGO1,NOMBRE1,MEDIDA1) VALUE (cod,nom1,med1)
ENDFOR
SELEC TEMP1
ENDSCAN
SELEC * FROM VINETAS INTO CURSOR VINETAS1
SELEC VINETAS
DELETE ALL
SELEC VINETAS1
i=0
SCAN
I=I+1
cod=codigo1
nom1=nombre1
med1=medida1
SELEC VINETAS
IF MOD(I,2)=1
APPE BLANK
replace NEXT 1 codigo1 WITH cod,nombre1 WITH nom1,medida1 WITH med1
ELSE
REPLA NEXT 1 CODIGO2 WITH cod,NOMBRE2 WITH nom1,MEDIDA2 WITH med1
ENDIF
SELEC VINETAS1
ENDSCAN
archivov="C:\vinepl\VINPRINT.TXT"
if file(archivov)
erase &archivov
endif
IF FILE(archivov) && ¿Existe el archivo?
genarchivo = FOPEN(archivov,12) && Si existe, lo abre como lectura y escritura.
ELSE
genarchivo = FCREATE(archivov) && De lo contrario, lo crea.
ENDIF
IF genarchivo < 0 && Comprueba si hay error al abrir el archivo.
=messagebox("No se puede abrir o crear el archivo "+chr(13)+;
"Que genera la viñeta",32,"Error")
ELSE && Si no hay error, escribe en el archivo.
SELEC VINETAS
GO TOP
SCAN
SCATTER MEMVAR
VNOMPROD1=["]+ALLTRIM(M.NOMBRE1)+["]
VMEDIDA1=["]+ALLTRIM(M.MEDIDA1)+["]
VCODPROD1=["]+ALLTRIM(M.CODIGO1)+["]
VNOMPROD2=["]+ALLTRIM(M.NOMBRE2)+["]
VMEDIDA2=["]+ALLTRIM(M.MEDIDA2)+["]
VCODPROD2=["]+ALLTRIM(M.CODIGO2)+["]
VEMPRESA=["]+ALLTRIM(M.V_EMPRESA)+["]
IF EMPTY(CODIGO2)
DIMENSION VINETA2(11)
VINETA2(1)="S2"
VINETA2(2)="D7"
VINETA2(3)="ZB"
VINETA2(4)="N"
VINETA2(5)="S2"
VINETA2(6)="A20,10,0,4,1,1,B,"+VEMPRESA
VINETA2(7)="A20,50,0,3,1,1,N,"+VNOMPROD1
VINETA2(8)="A20,70,0,3,1,1,N,"+VMEDIDA1
VINETA2(9)="B50,100,0,1,2,7,50,B,"+VCODPROD1
VINETA2(10)="P1"
VINETA2(11)="FE"
FOR S=1 TO 11
=FPUTS(genarchivo,VINETA2(S))
ENDFOR
ELSE
DIMENSION VINETA1(15)
VINETA1(1)="S2"
VINETA1(2)="D7"
VINETA1(3)="ZB"
VINETA1(4)="N"
VINETA1(5)="S2"
VINETA1(6)="A20,10,0,4,1,1,B,"+VEMPRESA
VINETA1(7)="A20,50,0,3,1,1,N,"+VNOMPROD1
VINETA1(8)="A20,70,0,3,1,1,N,"+VMEDIDA1
VINETA1(9)="B50,100,0,1,2,7,50,B,"+VCODPROD1
VINETA1(10)="A480,10,0,4,1,1,B,"+VEMPRESA
VINETA1(11)="A480,50,0,3,1,1,N,"+VNOMPROD2
VINETA1(12)="A480,70,0,3,1,1,N,"+VMEDIDA2
VINETA1(13)="B500,100,0,1,2,7,50,B,"+VCODPROD2
VINETA1(14)="P1"
VINETA1(15)="FE"
FOR I=1 TO 15
=FPUTS(genarchivo,VINETA1(I))
ENDFOR
ENDIF
SELEC VINETAS
ENDSCAN
=FCLOSE(genarchivo) && Cierra el archivo.
if file(archivov)
PDESTINO=filetostr("c:\VINEPL\PRINTER.TXT")
IF UPPER(PDESTINO)="LPT1"
!C:\VINEPL\VINPRINT.BAT
ELSE
COPY FILE C:\VINEPL\VINPRINT.TXT TO &PDESTINO
ENDIF
IF MESSAGEBOX("Ha finalizado la impresión de viñetas"+CHR(13)+;
"Desea borrar datos registrados",32+256+4,"Confirme")=6
thisform.list1.Clear
thisform.txtcodigo.SetFocus
endif
endif
ENDIF
ENDIF