×
Linguagem de Programação ADVPL
Perguntas Etiquetas TLP 2844
- octaviomac
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 69
- Obrigados Recebidos: 0
11 anos 2 semanas atrás - 11 anos 2 semanas atrás #18323
por octaviomac
Etiquetas TLP 2844 foi criado por octaviomac
Bom dia,
Estou fazendo a impressão de etiquetas na impressora Zebra TLP 2844, e são etiquetas de duas colunas(Exemplo: etiquetas ). Porém está pulando etiquetas, sem lógica aparente.
A impressora está no cliente, e não estou com acesso a ela no momento. Teriam alguma indicação?
Só para esclarecer duas etiquetas (duas colunas) são impressas com um mesmo
MSCBBEGIN e MSCBEND. Teria problema?
Segue o fonte abaixo. Obrigado desde já!
PoxY := 71
esquerda := .T.
For _y := 1 To aCols[_x][10]
nSubTotVol++
nTotEtiqueta++
//
// Monta a etiqueta
//
If Esquerda
MSCBBEGIN(1,1)
PosX := -1
Else
PosX := 50
EndIf
//Dados do produto
MSCBBOX(PosX + 50,PoxY + 02,PosX + 40,PoxY + 60,2)
MSCBSAY(PosX + 48,PoxY + 03,"PRODUTO",rotacao, "1" , "1,2")
MSCBSAY(PosX + 45,PoxY + 03,POSICIONE('SB1',1,XFILIAL('SB1')+SD2->D2_COD,'B1_DESC'),rotacao, "2" , "1,0")
//Item
MSCBBOX(PosX + 50,PoxY + 60,PosX + 40,PoxY + 75,2)
MSCBSAY(PosX + 48,PoxY + 61,"ITEM",rotacao, "1" , "1,2")
MSCBSAY(PosX + 45,PoxY + 61,SD2->D2_COD,rotacao, "2" , "1,0")
//Dados do remetente
MSCBBOX(PosX + 40,PoxY + 02,PosX + 30,PoxY + 50,2)
MSCBSAY(PosX + 38,PoxY + 03,"REMETENTE",rotacao, "1" , "1,2")
MSCBSAY(PosX + 35,PoxY + 03,SubStr(SM0->M0_NOMECOM,1,30),rotacao, "2" , "1,0")
//Dados da Nr. Nota
MSCBBOX(PosX + 30,PoxY + 02,PosX + 25,PoxY + 50,2)
MSCBSAY(PosX + 28,PoxY + 03,"NF.",rotacao, "2" , "1,0")
MSCBSAY(PosX + 28,PoxY + 13,SD2->D2_DOC,rotacao, "2" , "1,0")
//Dados Orig. Destino
MSCBBOX(PosX + 25,PoxY + 02,PosX + 12,PoxY + 50,2)
MSCBSAY(PosX + 23,PoxY + 03,"DESTINATARIO",rotacao, "1" , "1,2")
MSCBSAY(PosX + 20,PoxY + 03,POSICIONE('SA1',1,XFILIAL('SA1')+SD2->D2_CLIENTE+SD2->D2_LOJA,'A1_NREDUZ'),rotacao, "2" , "1,0")
MSCBSAY(PosX + 18,PoxY + 03,POSICIONE('SA1',1,XFILIAL('SA1')+SD2->D2_CLIENTE+SD2->D2_LOJA,'A1_ENDENT'),rotacao, "1" , "1,2")
MSCBSAY(PosX + 15,PoxY + 03,"BAIRRO: "+POSICIONE('SA1',1,XFILIAL('SA1')+SD2->D2_CLIENTE+SD2->D2_LOJA,'A1_BAIRROE'),rotacao, "2" , "1,0")
MSCBSAY(PosX + 15,PoxY + 30,"CEP: "+POSICIONE('SA1',1,XFILIAL('SA1')+SD2->D2_CLIENTE+SD2->D2_LOJA,'A1_CEP'),rotacao, "2" , "1,0")
//Dados das cidades Orig/Dest
cEstT := POSICIONE('SA1',1,XFILIAL('SA1')+SD2->D2_CLIENTE+SD2->D2_LOJA,'A1_EST')
cMuniT := POSICIONE('SA1',1,XFILIAL('SA1')+SD2->D2_CLIENTE+SD2->D2_LOJA,'A1_MUNE')
MSCBBOX(PosX + 40,PoxY + 50,PosX + 25,PoxY + 75,2)
MSCBSAY(PosX + 38,PoxY + 51,"Cidade Origem/Dest.",rotacao, "1" , "1,1")
MSCBSAY(PosX + 35,PoxY + 51,alltrim(SM0->M0_CIDENT)+"/"+alltrim(SM0->M0_ESTENT),rotacao, "1" , "1,1")
MSCBSAY(PosX + 32,PoxY + 51, alltrim(cMuniT)+"/"+alltrim(cEstT),rotacao, "1" , "1,1")
//Data
MSCBBOX(PosX + 25,PoxY + 50,PosX + 18,PoxY + 75,2)
MSCBSAY(PosX + 24,PoxY + 51,"DATA",rotacao, "1" , "1,1")
MSCBSAY(PosX + 22,PoxY + 52,DTOC(SD2->D2_EMISSAO),rotacao, "1" , "1,1")
//Volume
MSCBBOX(PosX + 25,PoxY + 65,PosX + 18,PoxY + 75,2)
MSCBSAY(PosX + 24,PoxY + 66,"VOLUME",rotacao, "1" , "1,1")
MSCBSAY(PosX + 22,PoxY + 68,ALLTRIM(STR(nSubTotVol))+"/"+ALLTRIM(STR(nTotVol)),rotacao, "1" , "1,1")
//Transportadora
cTransp := POSICIONE('SF2',2,XFILIAL('SF2')+SD2->D2_CLIENTE+SD2->D2_LOJA+SD2->D2_DOC+SD2->D2_SERIE,'F2_TRANSP')
MSCBBOX(PosX + 18,PoxY + 50,PosX + 12,PoxY + 75,2)
MSCBSAY(PosX + 17,PoxY + 51,"Transportadora",rotacao, "1" , "1,1")
MSCBSAY(PosX + 15,PoxY + 52,SubStr(POSICIONE('SA4',1,XFILIAL('SA4')+cTransp,'A4_NOME'),1,18),rotacao, "1" , "1,1")
//Codigo de barras do produto
MSCBSAYBAR(PosX + 11,PoxY + 05,POSICIONE('SB1',1,XFILIAL('SB1')+SD2->D2_COD,'B1_CODBAR') ,rotacao ,'MB07',05 ,.T.,.T. , ,"C" ,2 ,2 ,.t. )
If !esquerda
MSCBEND()
EndIf
esquerda := !esquerda
Next
Estou fazendo a impressão de etiquetas na impressora Zebra TLP 2844, e são etiquetas de duas colunas(Exemplo: etiquetas ). Porém está pulando etiquetas, sem lógica aparente.
A impressora está no cliente, e não estou com acesso a ela no momento. Teriam alguma indicação?
Só para esclarecer duas etiquetas (duas colunas) são impressas com um mesmo
MSCBBEGIN e MSCBEND. Teria problema?
Segue o fonte abaixo. Obrigado desde já!
PoxY := 71
esquerda := .T.
For _y := 1 To aCols[_x][10]
nSubTotVol++
nTotEtiqueta++
//
// Monta a etiqueta
//
If Esquerda
MSCBBEGIN(1,1)
PosX := -1
Else
PosX := 50
EndIf
//Dados do produto
MSCBBOX(PosX + 50,PoxY + 02,PosX + 40,PoxY + 60,2)
MSCBSAY(PosX + 48,PoxY + 03,"PRODUTO",rotacao, "1" , "1,2")
MSCBSAY(PosX + 45,PoxY + 03,POSICIONE('SB1',1,XFILIAL('SB1')+SD2->D2_COD,'B1_DESC'),rotacao, "2" , "1,0")
//Item
MSCBBOX(PosX + 50,PoxY + 60,PosX + 40,PoxY + 75,2)
MSCBSAY(PosX + 48,PoxY + 61,"ITEM",rotacao, "1" , "1,2")
MSCBSAY(PosX + 45,PoxY + 61,SD2->D2_COD,rotacao, "2" , "1,0")
//Dados do remetente
MSCBBOX(PosX + 40,PoxY + 02,PosX + 30,PoxY + 50,2)
MSCBSAY(PosX + 38,PoxY + 03,"REMETENTE",rotacao, "1" , "1,2")
MSCBSAY(PosX + 35,PoxY + 03,SubStr(SM0->M0_NOMECOM,1,30),rotacao, "2" , "1,0")
//Dados da Nr. Nota
MSCBBOX(PosX + 30,PoxY + 02,PosX + 25,PoxY + 50,2)
MSCBSAY(PosX + 28,PoxY + 03,"NF.",rotacao, "2" , "1,0")
MSCBSAY(PosX + 28,PoxY + 13,SD2->D2_DOC,rotacao, "2" , "1,0")
//Dados Orig. Destino
MSCBBOX(PosX + 25,PoxY + 02,PosX + 12,PoxY + 50,2)
MSCBSAY(PosX + 23,PoxY + 03,"DESTINATARIO",rotacao, "1" , "1,2")
MSCBSAY(PosX + 20,PoxY + 03,POSICIONE('SA1',1,XFILIAL('SA1')+SD2->D2_CLIENTE+SD2->D2_LOJA,'A1_NREDUZ'),rotacao, "2" , "1,0")
MSCBSAY(PosX + 18,PoxY + 03,POSICIONE('SA1',1,XFILIAL('SA1')+SD2->D2_CLIENTE+SD2->D2_LOJA,'A1_ENDENT'),rotacao, "1" , "1,2")
MSCBSAY(PosX + 15,PoxY + 03,"BAIRRO: "+POSICIONE('SA1',1,XFILIAL('SA1')+SD2->D2_CLIENTE+SD2->D2_LOJA,'A1_BAIRROE'),rotacao, "2" , "1,0")
MSCBSAY(PosX + 15,PoxY + 30,"CEP: "+POSICIONE('SA1',1,XFILIAL('SA1')+SD2->D2_CLIENTE+SD2->D2_LOJA,'A1_CEP'),rotacao, "2" , "1,0")
//Dados das cidades Orig/Dest
cEstT := POSICIONE('SA1',1,XFILIAL('SA1')+SD2->D2_CLIENTE+SD2->D2_LOJA,'A1_EST')
cMuniT := POSICIONE('SA1',1,XFILIAL('SA1')+SD2->D2_CLIENTE+SD2->D2_LOJA,'A1_MUNE')
MSCBBOX(PosX + 40,PoxY + 50,PosX + 25,PoxY + 75,2)
MSCBSAY(PosX + 38,PoxY + 51,"Cidade Origem/Dest.",rotacao, "1" , "1,1")
MSCBSAY(PosX + 35,PoxY + 51,alltrim(SM0->M0_CIDENT)+"/"+alltrim(SM0->M0_ESTENT),rotacao, "1" , "1,1")
MSCBSAY(PosX + 32,PoxY + 51, alltrim(cMuniT)+"/"+alltrim(cEstT),rotacao, "1" , "1,1")
//Data
MSCBBOX(PosX + 25,PoxY + 50,PosX + 18,PoxY + 75,2)
MSCBSAY(PosX + 24,PoxY + 51,"DATA",rotacao, "1" , "1,1")
MSCBSAY(PosX + 22,PoxY + 52,DTOC(SD2->D2_EMISSAO),rotacao, "1" , "1,1")
//Volume
MSCBBOX(PosX + 25,PoxY + 65,PosX + 18,PoxY + 75,2)
MSCBSAY(PosX + 24,PoxY + 66,"VOLUME",rotacao, "1" , "1,1")
MSCBSAY(PosX + 22,PoxY + 68,ALLTRIM(STR(nSubTotVol))+"/"+ALLTRIM(STR(nTotVol)),rotacao, "1" , "1,1")
//Transportadora
cTransp := POSICIONE('SF2',2,XFILIAL('SF2')+SD2->D2_CLIENTE+SD2->D2_LOJA+SD2->D2_DOC+SD2->D2_SERIE,'F2_TRANSP')
MSCBBOX(PosX + 18,PoxY + 50,PosX + 12,PoxY + 75,2)
MSCBSAY(PosX + 17,PoxY + 51,"Transportadora",rotacao, "1" , "1,1")
MSCBSAY(PosX + 15,PoxY + 52,SubStr(POSICIONE('SA4',1,XFILIAL('SA4')+cTransp,'A4_NOME'),1,18),rotacao, "1" , "1,1")
//Codigo de barras do produto
MSCBSAYBAR(PosX + 11,PoxY + 05,POSICIONE('SB1',1,XFILIAL('SB1')+SD2->D2_COD,'B1_CODBAR') ,rotacao ,'MB07',05 ,.T.,.T. , ,"C" ,2 ,2 ,.t. )
If !esquerda
MSCBEND()
EndIf
esquerda := !esquerda
Next
Ultima edição: 11 anos 2 semanas atrás por octaviomac.
Por favor Acessar ou Registrar para participar da conversa.
- RonaldoLopes
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 478
- Obrigados Recebidos: 2
11 anos 2 semanas atrás #18359
por RonaldoLopes
Respondido por RonaldoLopes no tópico Etiquetas TLP 2844
Bom dia, já tentou utilizar os comandos da própria impressora? Gerar um txt e enviar direto na porta?
Por favor Acessar ou Registrar para participar da conversa.
Tempo para a criação da página:0.096 segundos