Jump to content
Fivewin Brasil

IMPRESSORA DE ETIQUETAS BEMATECH LB-1000


JUDSON ROSA

Recommended Posts

Pessoal alguem ja fez alguma coisa para essa impressora ? peguei tudo que o kapiaba me passou mas estou tendo dificuldades quando da impressao de varias etiquetas de produtos , devido a largura e a altura definidas na funcao setup , a rotina ficou assim:

openport_lb1000 ( "USB" )
setup_lb1000 ( "100", "100", "3", "10", "0", "0", "0" )
clearbuffer_lb1000( )
llinha:=10
lquant:=0
q:=1
do while q < len(vcodig)
ltipocbarra := ""
if isalpha(vcodig[q])
ltipocbarra:="39"
elseif len(vcodig[q]) = 13
ltipocbarra:="EAN13"
elseif len(vcodig[q]) = 12
ltipocbarra:="UPCA"
elseif len(vcodig[q]) = 8
ltipocbarra:="EAN8"
elseif len(vcodig[q]) < 12
ltipocbarra:="128"
elseif len(vcodig[q]) = 128
ltipocbarra:="128"
endif
// codigo de barras
barcode_lb1000( "010", strzero(llinha,3) , ltipocbarra , "40", "1", "0", "2", "4", vcodig[q+0] )
barcode_lb1000( "300", strzero(llinha,3) , ltipocbarra , "40", "1", "0", "2", "4", vcodig[q+1] )
barcode_lb1000( "600", strzero(llinha,3) , ltipocbarra , "40", "1", "0", "2", "4", vcodig[q+2] )
// referencia ou nome do produto
printerfont_lb1000("010", strzero(llinha+065,3) , "1", "0", "1", "2", if(wrefe , vrefe[q+0] , vprod1[q+0] ) ) // referencia ou nome do produto
printerfont_lb1000("300", strzero(llinha+065,3) , "1", "0", "1", "2", if(wrefe , vrefe[q+1] , vprod1[q+1] ) ) // referencia ou nome do produto
printerfont_lb1000("600", strzero(llinha+065,3) , "1", "0", "1", "2", if(wrefe , vrefe[q+2] , vprod1[q+2] ) ) // referencia ou nome do produto
// preco
if wparam = 2
printerfont_lb1000("010", strzero(llinha+095,3) , "1", "0", "1", "2", if(wresp , vpreco[q+0] ,"") ) // preco
printerfont_lb1000("300", strzero(llinha+095,3) , "1", "0", "1", "2", if(wresp , vpreco[q+1] ,"") ) // preco
printerfont_lb1000("600", strzero(llinha+095,3) , "1", "0", "1", "2", if(wresp , vpreco[q+2] ,"") ) // preco
elseif wparam = 12
printerfont_lb1000("010", strzero(llinha+095,3) , "1", "0", "1", "2", vpreco[q+0] ) // preco
printerfont_lb1000("300", strzero(llinha+095,3) , "1", "0", "1", "2", vpreco[q+1] ) // preco
printerfont_lb1000("600", strzero(llinha+095,3) , "1", "0", "1", "2", vpreco[q+2] ) // preco
endif
// nome da empresa
printerfont_lb1000("010", strzero(llinha+120,3) , "1", "0", "1", "2", if(wparam=12, space(10) , vempre[q+0] ) ) // nome da empresa
printerfont_lb1000("300", strzero(llinha+120,3) , "1", "0", "1", "2", if(wparam=12, space(10) , vempre[q+1] ) ) // nome da empresa
printerfont_lb1000("600", strzero(llinha+120,3) , "1", "0", "1", "2", if(wparam=12, space(10) , vempre[q+2] ) ) // nome da empresa
llinha := llinha + 180
++lquant
q:=q + 3
enddo
printlabel_lb1000("1","1")
closeport_lb1000( )
as etiquetas tem tamanh 34 x 22 mm sao tres por linha , esta imprimindo normal ate 12 etiquetas , se coloco mais de 12 as outras nao imprime acho que e devido a funcao setup ( larg , altu , ... ) uso os parametros 100 , 100 . fica chato ficar aumentando todo tempo esses parametros e como se essa funcao monta-se uma pagina . se alguem tiver uma dica to no aguardo...
Link to comment
Share on other sites

Resolvido ja achei o manual em english deu para resolver, então a rotina ficou assim :

cPorta := PrnGetPort()
cPrinter := PrinterPortToName( cPorta )
if empty(cPrinter)
cPrinter := PrinterPortToName( "USB001" )
if empty(cPrinter)
cPrinter := PrinterPortToName( "USB002" )
endif
endif
oprn:=tdosprn():new("ETIQ.TXT")
oprn:setcoors(00,00)
oprn:say(oprn:nrow+01, 01, "N" )
oprn:say(oprn:nrow+01, 01, "ZT" )
oprn:say(oprn:nrow+01, 01, "R0,0" )
oprn:say(oprn:nrow+01, 01, "D14" )
oprn:say(oprn:nrow+01, 01, "Q400,22" )
q:=1
do while q < len(vcodig)
ltipocbarra := ""
if isalpha(vcodig[q])
ltipocbarra:="3" // "39"
elseif len(vcodig[q]) = 13
ltipocbarra:="E30" // "EAN13"
elseif len(vcodig[q]) = 12
ltipocbarra:="UA0" // "UPCA"
elseif len(vcodig[q]) = 8
ltipocbarra:="E80" // "EAN8"
elseif len(vcodig[q]) < 12
ltipocbarra:="1" // "128"
elseif len(vcodig[q]) = 128
ltipocbarra:="1" // "128"
endif
// codigo de barras
oprn:say(oprn:nrow+01, 01, 'B020,015,0,'+ltipocbarra+',2,15,50,B,"'+vcodig[q+0]+'"' )
oprn:say(oprn:nrow+01, 01, 'B310,015,0,'+ltipocbarra+',2,15,50,B,"'+vcodig[q+1]+'"' )
oprn:say(oprn:nrow+01, 01, 'B600,015,0,'+ltipocbarra+',2,15,50,B,"'+vcodig[q+1]+'"' )
// referencia ou nome do produto
oprn:say(oprn:nrow+01, 01, 'A020,100,0,2,1,1,N,"'+vprod1[q+0]+'"' )
oprn:say(oprn:nrow+01, 01, 'A310,100,0,2,1,1,N,"'+vprod1[q+1]+'"' )
oprn:say(oprn:nrow+01, 01, 'A600,100,0,2,1,1,N,"'+vprod1[q+2]+'"' )
// preco
if wparam = 2
oprn:say(oprn:nrow+01, 01, 'A020,120,0,3,1,1,N,"'+if(wresp , vpreco[q+0] ,space(1))+'"' ) // preco
oprn:say(oprn:nrow+01, 01, 'A310,120,0,3,1,1,N,"'+if(wresp , vpreco[q+1] ,space(1))+'"' ) // preco
oprn:say(oprn:nrow+01, 01, 'A600,120,0,3,1,1,N,"'+if(wresp , vpreco[q+2] ,space(1))+'"' ) // preco
elseif wparam = 12
oprn:say(oprn:nrow+01, 01, 'A020,120,0,3,1,1,N,"'+vpreco[q+0]+'"' ) // preco
oprn:say(oprn:nrow+01, 01, 'A310,120,0,3,1,1,N,"'+vpreco[q+1]+'"' ) // preco
oprn:say(oprn:nrow+01, 01, 'A600,120,0,3,1,1,N,"'+vpreco[q+2]+'"' ) // preco
endif
// nome da empresa
oprn:say(oprn:nrow+01, 01, 'A020,150,0,2,1,1,N,"'+if(wparam=12, space(10) , vempre[q+0] ) + '"' ) // nome da empresa
oprn:say(oprn:nrow+01, 01, 'A310,150,0,2,1,1,N,"'+if(wparam=12, space(10) , vempre[q+1] ) + '"' ) // nome da empresa
oprn:say(oprn:nrow+01, 01, 'A600,150,0,2,1,1,N,"'+if(wparam=12, space(10) , vempre[q+2] ) + '"' ) // nome da empresa
oprn:say(oprn:nrow+01, 01, 'P1' )
oprn:say(oprn:nrow+01, 01, 'N' )
q:=q + 3
enddo
oprn:end(.f. , .f. )
PrintFileRaw( cPrinter, "ETIQ.TXT", "Impressão de Vendas" )
Link to comment
Share on other sites

Outro problema , nao estou consigo fazer na linguagem EPL etiqueta para gondola:

oprn:say(oprn:nrow+01, 01, "N" )
oprn:say(oprn:nrow+01, 01, "ZT" )
oprn:say(oprn:nrow+01, 01, "R0,0" )
oprn:say(oprn:nrow+01, 01, "D14" )
oprn:say(oprn:nrow+01, 01, "Q100,24+24" ) // aqui defini-se o tamnho da etiqueta q seria 107 x 30 mm , vi esse parametro no manual mas nao esta dando certo.
alguem ja fez algo assim ??
Link to comment
Share on other sites

Ola pessoal fiz varios testes ontem e ate agora nada. O problema esta nas etiquetas com serrilha ( picote ) as de gondola , nao estou conseguindo controlar o salto de uma para a outra , ja nas adesivas esta td ok

______________________________________________

| |

| | dimensao : 107 x 30

| |

|---------------------------------------------------------------------------- ---> aqui esta o problema

| |

| | : : "Q100,24+24" e "Q248,56" peguei estes exemplos nos manuais da EPL e ainda nao funcionou.

| |

|----------------------------------------------------------------------------

alguem da uma forca ai gente ...

Link to comment
Share on other sites

deu trabalho mais resolvi:


cPrinter := PrinterPortToName( "USB001" )

if empty(cPrinter) .or. !("Bematech LB-1000" $ cPrinter)

cPrinter := PrinterPortToName( "USB002" )

if empty(cPrinter) .or. !("Bematech LB-1000" $ cPrinter)

return(NIL)

endif

endif


oprn:=tdosprn():new("ETIQ.TXT")

oprn:setcoors(00,00)


oprn:say(oprn:nrow+01, 01, "N" )

oprn:say(oprn:nrow+01, 01, "R00,00" )

oprn:say(oprn:nrow+01, 01, "D7" )

oprn:say(oprn:nrow+01, 01, "Q040,00" )

oprn:say(oprn:nrow+01, 01, "rN" )


q:=1

do while len(vprod1) >= q


lvcodig:=vcodig[q]

lvprod1:=vprod1[q]

lvprod2:=vprod2[q]

lvpreco:=vpreco[q]

lvpreco_atacado:=vpreco_atacado[q]

lvquantidade:=vquantidade[q]


lqt_etq:=0

do while vcodig[q] = lvcodig

++lqt_etq

++q


if q >= len(vcodig)

exit

endif


enddo


ltipocbarra := ""

if isalpha(lvcodig)

ltipocbarra:="3" // "39"

elseif len(lvcodig) = 13

ltipocbarra:="E30" // "EAN13"

elseif len(lvcodig) = 12

ltipocbarra:="UA0" // "UPCA"

elseif len(lvcodig) = 8

ltipocbarra:="E80" // "EAN8"

elseif len(lvcodig) < 12

ltipocbarra:="1" // "128"

elseif len(lvcodig) = 128

ltipocbarra:="1" // "128"

endif


// nome do produto

oprn:say(oprn:nrow+01, 01, 'A030,010,0,3,1,2,N,"'+ lvprod1 + lvprod2 + '"' )


if lvquantidade > 0 // atacado

oprn:say(oprn:nrow+01, 01, 'A450,030,0,4,2,2,N,"'+ lvpreco + '"' ) // preco varejo

oprn:say(oprn:nrow+01, 01, 'A450,080,0,4,2,2,N,"'+ lvpreco_atacado + '"' ) // preco atacado

else

oprn:say(oprn:nrow+01, 01, 'A480,060,0,5,1,2,N,"'+ lvpreco + '"' ) // preco varejo

endif


if lvquantidade > 0 // atacado

oprn:say(oprn:nrow+01, 01, 'B020,075,0,'+ltipocbarra+',4,25,100,B,"'+lvcodig+'"' ) // codigo de barras

oprn:say(oprn:nrow+01, 01, 'A450,140,0,3,1,1,N,"'+ "Preço de atacado apartir de " + '"' ) // preco varejo

oprn:say(oprn:nrow+01, 01, 'A450,160,0,3,1,1,N,"'+ alltrim(str(lvquantidade,3))+" peças" + '"' ) // preco varejo


else

oprn:say(oprn:nrow+01, 01, 'B020,075,0,'+ltipocbarra+',4,25,100,B,"'+lvcodig+'"' ) // codigo de barras

endif


oprn:say(oprn:nrow+01, 01, 'P'+strzero(lqt_etq,3) )

oprn:say(oprn:nrow+01, 01, 'N' )


enddo


oprn:end(.f. , .f. )

PrintFileRaw( cPrinter, "ETIQ.TXT", "Impressão de Vendas" )


endif

Link to comment
Share on other sites

Recomendo assim: Teste e veja se fica legal.



cPorta := PrnGetPort()

cPrinter := PrinterPortToName( cPorta )

if empty(cPrinter)

cPrinter := PrinterPortToName( "USB002" )

if empty(cPrinter)
cPrinter := PrinterPortToName( "USB001" )
endif

endif

oPrin := TDosPrn():New( "Etiqueta.txt" )
oPrin:StartPage()
...
...
...
...
oPrin:EndPage()
oPrin:End()

PrintFileRaw( cPrinter, TrueName( "ETIQUETA.TXT" ), "Impressão de Vendas" )


Link to comment
Share on other sites

  • 1 year later...
deu trabalho mais resolvi:
cPrinter := PrinterPortToName( "USB001" )
if empty(cPrinter) .or. !("Bematech LB-1000" $ cPrinter)
cPrinter := PrinterPortToName( "USB002" )
if empty(cPrinter) .or. !("Bematech LB-1000" $ cPrinter)
return(NIL)
endif
endif
oprn:=tdosprn():new("ETIQ.TXT")
oprn:setcoors(00,00)
oprn:say(oprn:nrow+01, 01, "N" )
oprn:say(oprn:nrow+01, 01, "R00,00" )
oprn:say(oprn:nrow+01, 01, "D7" )
oprn:say(oprn:nrow+01, 01, "Q040,00" )
oprn:say(oprn:nrow+01, 01, "rN" )
q:=1
do while len(vprod1) >= q
lvcodig:=vcodig[q]
lvprod1:=vprod1[q]
lvprod2:=vprod2[q]
lvpreco:=vpreco[q]
lvpreco_atacado:=vpreco_atacado[q]
lvquantidade:=vquantidade[q]
lqt_etq:=0
do while vcodig[q] = lvcodig
++lqt_etq
++q
if q >= len(vcodig)
exit
endif
enddo
ltipocbarra := ""
if isalpha(lvcodig)
ltipocbarra:="3" // "39"
elseif len(lvcodig) = 13
ltipocbarra:="E30" // "EAN13"
elseif len(lvcodig) = 12
ltipocbarra:="UA0" // "UPCA"
elseif len(lvcodig) = 8
ltipocbarra:="E80" // "EAN8"
elseif len(lvcodig) < 12
ltipocbarra:="1" // "128"
elseif len(lvcodig) = 128
ltipocbarra:="1" // "128"
endif
// nome do produto
oprn:say(oprn:nrow+01, 01, 'A030,010,0,3,1,2,N,"'+ lvprod1 + lvprod2 + '"' )
if lvquantidade > 0 // atacado
oprn:say(oprn:nrow+01, 01, 'A450,030,0,4,2,2,N,"'+ lvpreco + '"' ) // preco varejo
oprn:say(oprn:nrow+01, 01, 'A450,080,0,4,2,2,N,"'+ lvpreco_atacado + '"' ) // preco atacado
else
oprn:say(oprn:nrow+01, 01, 'A480,060,0,5,1,2,N,"'+ lvpreco + '"' ) // preco varejo
endif
if lvquantidade > 0 // atacado
oprn:say(oprn:nrow+01, 01, 'B020,075,0,'+ltipocbarra+',4,25,100,B,"'+lvcodig+'"' ) // codigo de barras
oprn:say(oprn:nrow+01, 01, 'A450,140,0,3,1,1,N,"'+ "Preço de atacado apartir de " + '"' ) // preco varejo
oprn:say(oprn:nrow+01, 01, 'A450,160,0,3,1,1,N,"'+ alltrim(str(lvquantidade,3))+" peças" + '"' ) // preco varejo
else
oprn:say(oprn:nrow+01, 01, 'B020,075,0,'+ltipocbarra+',4,25,100,B,"'+lvcodig+'"' ) // codigo de barras
endif
oprn:say(oprn:nrow+01, 01, 'P'+strzero(lqt_etq,3) )
oprn:say(oprn:nrow+01, 01, 'N' )
enddo
oprn:end(.f. , .f. )
PrintFileRaw( cPrinter, "ETIQ.TXT", "Impressão de Vendas" )
endif

bom dia!

vc usou essa programacao no visual basic??

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...