edutraini Posted October 16, 2014 Report Share Posted October 16, 2014 Pessoal alguem teria um exemplo para imprimir um etiqueta com 5 linhas em xharbour / Fivewin Quote Link to comment Share on other sites More sharing options...
sistem Posted October 16, 2014 Report Share Posted October 16, 2014 a impressora ta configurada em PPLA OU PPLB? caso esteja em PPLB (nao eh o padrao) veja o codigo abaixo: inicio teste.txt : N R0,0 Q0 ZT S2 D8 B080,002,0,E30,1,1,45,N,"1234567890123" A088,050,0,1,1,1,N,"QUALQUER COISA" B260,002,0,E30,1,1,45,N,"1234567890123" A268,050,0,1,1,1,N,"QUALQUER COISA" ... .. . P10 fim teste.txt obs: //P<<QTD>> //--------------------------------------------------------------------------------------------- /* A = Campo de texto Ap1,p2,p3,p4,p5,p6,p7,Data<LF> p1 = posição eixo X em pontos p2 = posição eixo Y em pontos p3 = rotação (0->normal,1->90graus,2->180graus,3->270graus) p4 = tipo de fonte (1 a 5) p5 = multiplicador horizontal das fontes p6 = multiplicador vertical das fontes p7 = N-> imagem normal, ou R-> imagem em reverso Data = dados a serem impressos B = Código de barras Bp1,p2,p3,p4,p5,p6,p7,p8,Data p1 = posição eixo X em pontos p2 = posição eixo Y em pontos p3 = rotação (0->normal,1->90graus,2->180graus,3->270graus) p4 = tipo de código de barra p5 = largura da barra estreita p6 = largura da barra larga p7 = altura do código de barras em pontos p8 = impressão da linha de interpretação (B-> sim; N-> não) Data = dados a serem impressos */ link para transformar ppla para pplb http://www.mktcdc.com.br/suporte_tecnico/wp-content/uploads/2012/10/cdcss_atualiza%C3%A7%C3%A3o_troca_firmware_site1.pdf []s Quote Link to comment Share on other sites More sharing options...
kapiaba Posted October 16, 2014 Report Share Posted October 16, 2014 Tem mais soluções no PCTOLEDO. http://www.pctoledo.com.br/forum/viewtopic.php?f=4&t=14371&p=83839&hilit=impressora+argox#p83839 http://www.pctoledo.com.br/forum/viewtopic.php?f=4&t=12576&p=83772&hilit=impressora+argox#p83772 http://www.pctoledo.com.br/forum/viewtopic.php?f=39&t=9924&p=66925&hilit=impressora+argox#p66925 http://www.pctoledo.com.br/forum/viewtopic.php?f=1&t=8718&p=49049&hilit=impressora+argox#p49049 http://www.pctoledo.com.br/forum/viewtopic.php?f=1&t=8277&p=46455&hilit=impressora+argox#p46455 Quote Link to comment Share on other sites More sharing options...
jéssy Posted February 15, 2022 Report Share Posted February 15, 2022 Em 16/10/2014 at 11:46, sistem disse: p1 = posição eixo X em pontos p2 = posição eixo Y em pontos Bom dia. Alguém poderia me explicar essa parte? Tenho um código de barras e um texto na etiqueta. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted February 15, 2022 Report Share Posted February 15, 2022 Bom dia. Eu já dei a dica acima, no PCTOLEDO, tem vários exemplos, por favor, leia os exemplos para se familiarizar. veja este por exemplo: http://www.pctoledo.com.br/forum/viewtopic.php?f=4&t=25142&p=148064&hilit=argox#p148064 No buscador do pctoledo, digite: ARGOX e vá lendo, até dominar a máquina, ok? Obg. abs. Regards, saludos. Quote Link to comment Share on other sites More sharing options...
jéssy Posted February 15, 2022 Report Share Posted February 15, 2022 1 hora atrás, kapiaba disse: Bom dia. Eu já dei a dica acima, no PCTOLEDO, tem vários exemplos, por favor, leia os exemplos para se familiarizar. veja este por exemplo: http://www.pctoledo.com.br/forum/viewtopic.php?f=4&t=25142&p=148064&hilit=argox#p148064 No buscador do pctoledo, digite: ARGOX e vá lendo, até dominar a máquina, ok? Obg. abs. Regards, saludos. Sim, eu vi, mas eu não entendi com sua dica. Eu queria mais informações de como funciona isso na impressão. Sobre o outro fórum, eu agradeço. Mas eu estava pedindo auxílio nesse e não em outro. Ah, não encontrei algo lá (pctoledo) que descrevesse exatamente como funciona as coordenadas. Eu não tenho a impressora para testar, por isso preciso das informações bem detalhadas. Se não queria explicar, não precisava responder. Obrigada. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted February 15, 2022 Report Share Posted February 15, 2022 OOOPS! Me desculpe Jéssy, eu acho que me expressei mal. Mil perdões. Não foi minha intençao ofender, ok? Você não tem a impressora, ai fica difícil. Veja se consegue um EMULADOR da ARGOX, neste exemplo em .PDF: https://doc.argox.com//faq-barcode-printer/os-2140-swap-emulation-from-ppla-to-pplb_EN.pdf http://fivewin.com.br/index.php?/topic/15435-emulador-de-impressora-termica/ https://www.bztech.com.br/arquivos/manual-argox-os-214-plus.pdf https://www.argoxshop.com.br/downloads Veja se ajuda: FUNCTION IMPETIQARGOX( lAppend, oDbfEstoque, xop, xgrupo, oDbfEnf ) FIELD COD, DESC, ULTTABA, ULTTAB, TIPO, CODFORN, PROD1, nome, GRUPO, NNF LOCAL XCOPIASI, NHANDLE, XCOR, XTAMA, XPRECO, XARQC, XDESC, xpro, oPrn MEMVAR XCOD, XNCOPIAS PUBLIC XEMPDIR, XF, XDA //-> Para Checar se a Impressora Existe ou Esta Ativa EXTERNAL ISPRINTER IF !ISPRINTER() CHECA_IMP() RETURN NIL ENDIF SndPlaySound(".\Lembrete.wav" ) IF MsgYesNo( "Atenção Por Favor: " + CRLF + ; "Posso Imprimir? " + CRLF + ; "Impressora Já Está Ligada?" + CRLF + ; + CRLF + ; "Por Favor, Verifique Se a " + CRLF + ; "Impressora Já Está Pronta!", ; "Por Favor, Confirme!!!" ) = .F. RETURN NIL ENDIF //-> ImpressÆo a Partir Daqui, Crit‚rio do Edvaldo... if xop=9 * Cracha operadores * oDbfEstoque ‚ de proposito pois vem com odbfvendedor do operador.prg Select(oDbfEstoque:cAlias) XCOD="1"+left(COD,2)+DECRYPT(ALLTRIM( ( oDbfEstoque:cAlias )->PROD1), "*+-." ) XDESC=NOME xNcopias:=1 Elseif xop=6 * Etiqueta gondula grupo - APOS REAJUSTE DE PRECO Select(oDbfEstoque:cAlias) If MsgNoYes( oemtoansi("ATEN€ÇO: ** ETIQUETAS DOS PRODUTOS EM PROMO€ÇO ** ")+ CRLF +; + CRLF +; oemtoansi("Para Imprimir Etiqueta de G“ndula Somente dos Produtos em ")+ CRLF+ ; oemtoansi(" Promo‡Æo, escolha a op‡Æo [SIM]") + CRLF +; + CRLF + ; oemtoansi("Para Imprimir Etiqueta de G“ndula de Grupo ou Fam¡lia dos Produtos,") + CRLF +; oemtoansi(" escolha a op‡Æo [NÇO]")+ CRLF +; + CRLF +; + CRLF +; oemtoansi("[SIM] -> Imprimir Etiqueta dos Produtos em Promo‡Æo")+ CRLF + ; oemtoansi("[NÇO] -> Imprimir Etiqueta do Grupo ou Fam¡lia de Produtos"), ; "Informação Para o Usuário... " ) = .T. Xpro:=2 Else Xpro:=1 Endif If xPro=1 set order to 5 ( oDbfEstoque:cAlias )->( OrdScope( 0, xGrupo ) ) // Inicio do SCOPE. ( oDbfEstoque:cAlias )->( OrdScope( 1, xGrupo ) ) // Fim do SCOPE. GO TOP Else set order to 1 ( oDbfEstoque:cAlias )->( OrdScope( 0, nil ) ) // Inicio do SCOPE. ( oDbfEstoque:cAlias )->( OrdScope( 1, nil ) ) // Fim do SCOPE. Locate for VAL( SUBSTR( TIPO, 65, 8) ) > 0 .AND. CTOD( SUBS( TIPO, 28, 8 ) ) >= XDA Endif XNCOPIAS:=1 Elseif xop=7 * Etiqueta gondula reajuste de pre‡o Select(oDbfEstoque:cAlias) If MsgNoYes( oemtoansi("ATEN€ÇO: ** ETIQUETAS DOS PRODUTOS EM PROMO€ÇO ** ")+ CRLF +; + CRLF +; oemtoansi("Para Imprimir Etiqueta de G“ndula Somente dos Produtos em ")+ CRLF+ ; oemtoansi(" Promo‡Æo, escolha a op‡Æo [SIM]") + CRLF +; + CRLF +; oemtoansi("Para Imprimir Etiqueta de G“ndula de Grupo ou Fam¡lia dos Produtos,") + CRLF +; oemtoansi(" escolha a op‡Æo [NÇO]")+ CRLF +; + CRLF +; + CRLF +; oemtoansi("[SIM] -> Imprimir Etiqueta dos Produtos em Promo‡Æo")+ CRLF + ; oemtoansi("[NÇO] -> Imprimir Etiqueta do Grupo ou Fam¡lia de Produtos"), ; "Informação Para o Usuário... " ) = .T. Xpro:=2 Else Xpro:=1 Endif If xPro=1 set order to 1 Select(oDbfEnf:cAlias) set order to 3 SET FILTER TO ( oDbfEnf:cAlias )->NNF = XGRUPO GO TOP Else Locate for VAL( SUBSTR( TIPO, 65, 8) ) > 0 .AND. CTOD( SUBS( TIPO, 28, 8 ) ) >= XDA Endif XNCOPIAS:=1 else XCOD=COD XDESC=DESC XPRECO=ULTTABA XCOR := LEFT(CODFORN,8) XTAMA := SUBS(CODFORN,9,4) IF VAL( SUBSTR( TIPO, 65, 8) ) > 0 .AND. XDA <= CTOD( SUBS( TIPO, 28, 8 ) ) XPRECO := VAL( SUBSTR( TIPO, 65, 8) ) ENDIF xNcopias:=1 Endif XARQC="BARRAS.TXT" XCOPIASI=0 WHILE ! EOF() SYSREFRESH() IF XOP=6 .OR. XOP=7 IF XOP=7.AND.XPRO=1 XCOD:=COD Select(oDbfEstoque:cAlias) seek xcod ENDIF XCOD=COD XDESC=DESC XPRECO=ULTTABA IF VAL( SUBSTR( TIPO, 65, 8) ) > 0 .AND. XDA <= CTOD( SUBS( TIPO, 28, 8 ) ) XPRECO := VAL( SUBSTR( TIPO, 65, 8) ) ENDIF IF XOP=7.AND.XPRO=1 Select(oDbfEnf:cAlias) ENDIF ENDIF XCOPIASI=0 DO WHILE XCOPIASI<XNCOPIAS SYSREFRESH() XARQC="BARRAS.TXT" IF(NHANDLE:=FCREATE(XARQC,0))==-1 SINAL("ARQUIVO DE TRABALHO BARRAS NAO CRIADO !!! !!!") ENDIF FWRITE(NHANDLE,"L"+CHR(13)) FWRITE(NHANDLE,"m"+CHR(13)) FWRITE(NHANDLE,"e"+CHR(13)) FWRITE(NHANDLE,"PC"+CHR(13)) FWRITE(NHANDLE,"D11"+CHR(13)) FWRITE(NHANDLE,"H14"+CHR(13)) FWRITE(NHANDLE,"z"+CHR(13)) IF XOP=3 * Promocional FWRITE(NHANDLE,"161100002900050 P R O M O € A O"+CHR(13)) FWRITE(NHANDLE,"161100001700050"+LEFT(XDESC,23)+CHR(13)) FWRITE(NHANDLE,"161100000400500"+LTRIM(TRANSFORM(XPRECO,"@E 999,999.99"))+CHR(13)) FWRITE(NHANDLE,"111100000050130"+ALLTRIM(XEMPDIR)+CHR(13)) IF LEN(ALLTRIM(XCOD))<13 FWRITE(NHANDLE,"1G2207000300050"+LEFT(XCOD,7)+CHR(13)) ELSE FWRITE(NHANDLE,"1F2207000300050"+LEFT(XCOD,12)+CHR(13)) ENDIF ELSEIF XOP=1 IF "COMBINACAO E ESTILO" $XF FWRITE(NHANDLE,"111100005550050"+LEFT(XEMPDIR,35)+CHR(13)) FWRITE(NHANDLE,"111100005550590"+LEFT(XEMPDIR,35)+CHR(13)) FWRITE(NHANDLE,"111100005250050"+LEFT(XDESC,35)+CHR(13)) FWRITE(NHANDLE,"111100005250590"+LEFT(XDESC,35)+CHR(13)) FWRITE(NHANDLE,"111100004950050"+"COR: "+TRIM(XCOR)+" TAMANHO: "+TRIM(XTAMA)+CHR(13)) FWRITE(NHANDLE,"111100004950590"+"COR: "+TRIM(XCOR)+" TAMAMHO: "+TRIM(XTAMA)+CHR(13)) FWRITE(NHANDLE,"111100004550050"+"DATA DA COMPRA: -----/-----/-----"+CHR(13)) FWRITE(NHANDLE,"111100004550590"+"DATA DA COMPRA: -----/-----/-----"+CHR(13)) IF LEN(ALLTRIM(XCOD))<13 FWRITE(NHANDLE,"1G2207003100120"+LEFT(XCOD,7)+CHR(13)) FWRITE(NHANDLE,"1G2207003100650"+LEFT(XCOD,7)+CHR(13)) ELSE FWRITE(NHANDLE,"1F2207003100120"+LEFT(XCOD,12)+CHR(13)) FWRITE(NHANDLE,"1F2207003100650"+LEFT(XCOD,12)+CHR(13)) ENDIF FWRITE(NHANDLE,"111100002400050"+LEFT(XEMPDIR,35)+CHR(13)) FWRITE(NHANDLE,"111100002400590"+LEFT(XEMPDIR,35)+CHR(13)) FWRITE(NHANDLE,"111100002100090"+LEFT(XDESC,35)+CHR(13)) FWRITE(NHANDLE,"111100002100590"+LEFT(XDESC,35)+CHR(13)) FWRITE(NHANDLE,"111100001800070"+"COR: "+TRIM(XCOR)+" TAMANHO: "+TRIM(XTAMA)+CHR(13)) FWRITE(NHANDLE,"111100001800590"+"COR: "+TRIM(XCOR)+" TAMANHO: "+TRIM(XTAMA)+CHR(13)) FWRITE(NHANDLE,"111100001550050"+SPACE(10)+"PRECO: R$ "+LTRIM(TRANSFORM(XPRECO,"@E 999,999.99"))+CHR(13)) FWRITE(NHANDLE,"111100001550590"+SPACE(10)+"PRECO: R$ "+LTRIM(TRANSFORM(XPRECO,"@E 999,999.99"))+CHR(13)) IF LEN(ALLTRIM(XCOD))<13 FWRITE(NHANDLE,"1G2207000350120"+LEFT(XCOD,7)+CHR(13)) FWRITE(NHANDLE,"1G2207000350650"+LEFT(XCOD,7)+CHR(13)) ELSE FWRITE(NHANDLE,"1F2207000350120"+LEFT(XCOD,12)+CHR(13)) FWRITE(NHANDLE,"1F2207000350650"+LEFT(XCOD,12)+CHR(13)) ENDIF ELSE * lari FWRITE(NHANDLE,"111100001950050"+LEFT(XDESC,28)+CHR(13)) FWRITE(NHANDLE,"111100001950401"+LEFT(XDESC,28)+CHR(13)) FWRITE(NHANDLE,"111100001950730"+LEFT(XDESC,28)+CHR(13)) FWRITE(NHANDLE,"131100001400110"+"R$ "+LTRIM(TRANSFORM(XPRECO,"@E 999,999.99"))+CHR(13)) FWRITE(NHANDLE,"131100001400470"+"R$ "+LTRIM(TRANSFORM(XPRECO,"@E 999,999.99"))+CHR(13)) FWRITE(NHANDLE,"131100001400800"+"R$ "+LTRIM(TRANSFORM(XPRECO,"@E 999,999.99"))+CHR(13)) IF LEN(ALLTRIM(XCOD))<13 FWRITE(NHANDLE,"1G2207000300050"+LEFT(XCOD,7)+CHR(13)) FWRITE(NHANDLE,"1G2207000300401"+LEFT(XCOD,7)+CHR(13)) FWRITE(NHANDLE,"1G2207000300730"+LEFT(XCOD,7)+CHR(13)) ELSE FWRITE(NHANDLE,"1F2207000300050"+LEFT(XCOD,12)+CHR(13)) FWRITE(NHANDLE,"1F2207000300401"+LEFT(XCOD,12)+CHR(13)) FWRITE(NHANDLE,"1F2207000300730"+LEFT(XCOD,12)+CHR(13)) ENDIF ENDIF ELSEIF XOP=2 .OR. XOP=6 .or. xop = 7 * etiqueta DE GONDULA * ok FWRITE(NHANDLE,"161100001700050"+LEFT(XDESC,23)+CHR(13)) * ok FWRITE(NHANDLE,"161100000400700"+LTRIM(TRANSFORM(XPRECO,"@E 999,999.99"))+CHR(13)) * OK 15=TAMANHO da letra * 11=ALTURA da letra FWRITE(NHANDLE,"151100001900050"+LEFT(XDESC,35)+CHR(13)) If len(alltrim(xdesc)) > 16 FWRITE(NHANDLE,"161200000000700"+LTRIM(TRANSFORM(XPRECO,"@E 999,999.99"))+CHR(13)) Else FWRITE(NHANDLE,"161200000250700"+LTRIM(TRANSFORM(XPRECO,"@E 999,999.99"))+CHR(13)) Endif FWRITE(NHANDLE,"111100000050130"+ALLTRIM(XEMPDIR)+CHR(13)) IF LEN(ALLTRIM(XCOD))<13 FWRITE(NHANDLE,"1G2207000300050"+LEFT(XCOD,7)+CHR(13)) ELSE FWRITE(NHANDLE,"1F2207000300050"+LEFT(XCOD,12)+CHR(13)) ENDIF ELSEIF XOP=9 * etiqueta cracha FWRITE(NHANDLE,"111100001950050"+"Nome: "+LEFT(XDESC,28)+CHR(13)) FWRITE(NHANDLE,"1F2207000300050"+LEFT(XCOD,12)+CHR(13)) * FWRITE(NHANDLE,"1H2207000300050"+LEFT(XCOD,12)+CHR(13)) ENDIF FWRITE(NHANDLE,"Q0001"+CHR(13)) FWRITE(NHANDLE,"E"+CHR(13)) FCLOSE(NHANDLE) IF "COMBINACAO E ESTILO" $XF XCOPIASI=XCOPIASI+2 ELSE IF XOP=1 XCOPIASI=XCOPIASI+3 ELSE XCOPIASI=XCOPIASI+1 ENDIF ENDIF COPY file(XARQC) to LPT1 SysRefresh() ENDDO IF XOP # 6 .and. xop # 7 EXIT ENDIF IF XOP=6.AND.Xpro=2 CONTINUE ELSEIF XOP=7.AND.Xpro=2 CONTINUE ELSE SKIP ENDIF ENDDO MsgInfo(oemtoansi("Etiqueta c¢digo de barras gerada Impressora Argox !"),oemtoansi("BalcÆo - Etiqueta de c¢digo de barras de operador")) If xop=7.AND.XPRO=1 SET FILTER TO Elseif xop=6 set order to 1 Endif AEVAL(DIRECTORY( "BARRA*.TXT" ),{ |aFILE| FERASE(aFILE[F_NAME]) } ) RETURN NIL Regards, saludos. Quote Link to comment Share on other sites More sharing options...
william Posted February 15, 2022 Report Share Posted February 15, 2022 bom dia, já tentou usar a Fastreports ? Vc instala os drivers da argox e "desenha" a impressão independente de PPLA ou B Segue exemplo: function main() local oFrPrn select 1 use teste go top oFrPrn := frReportManager():new() oFrPrn:SetIcon(1) // Icone da janela do FRH oFrPrn:SetTitle( 'Etiquetas' ) // Titulo da janela do FRH oFrPrn:LoadLangRes( 'brazil.xml') // Arquivo de idioma oFrPrn:SetWorkArea( 'teste' , select('teste') ) oFrPrn:LoadFromFile('teste.fr3') // para leitura direta de arquivo FR3 oFrPrn:PreviewOptions:SetAllowEdit( .f. ) // inibe o botao de edicao do relatorio pelo usuario oFrPrn:DesignReport() // aqui para "desenhar" o relatorio oFrPrn:ShowReport() // aqui para gerar o preview do relatorio oFrPrn:ClearDataSets() oFrPrn:DestroyFR() dbclosearea() return nil testa aí e veja se funciona. Att. William Adami teste.fr3 Quote Link to comment Share on other sites More sharing options...
jéssy Posted February 15, 2022 Report Share Posted February 15, 2022 3 minutos atrás, william disse: bom dia, já tentou usar a Fastreports ? Vc instala os drivers da argox e "desenha" a impressão independente de PPLA ou B Segue exemplo: function main() local oFrPrn select 1 use teste go top oFrPrn := frReportManager():new() oFrPrn:SetIcon(1) // Icone da janela do FRH oFrPrn:SetTitle( 'Etiquetas' ) // Titulo da janela do FRH oFrPrn:LoadLangRes( 'brazil.xml') // Arquivo de idioma oFrPrn:SetWorkArea( 'teste' , select('teste') ) oFrPrn:LoadFromFile('teste.fr3') // para leitura direta de arquivo FR3 oFrPrn:PreviewOptions:SetAllowEdit( .f. ) // inibe o botao de edicao do relatorio pelo usuario oFrPrn:DesignReport() // aqui para "desenhar" o relatorio oFrPrn:ShowReport() // aqui para gerar o preview do relatorio oFrPrn:ClearDataSets() oFrPrn:DestroyFR() dbclosearea() return nil testa aí e veja se funciona. Att. William Adami teste.fr3 1 kB · 0 downloads Consigo usar o arquivo com a linguagem PPLA para fazer o "desenho" no relatório? Pois é isso que eu preciso testar, na verdade. Quote Link to comment Share on other sites More sharing options...
jéssy Posted February 15, 2022 Report Share Posted February 15, 2022 22 minutos atrás, kapiaba disse: OOOPS! Me desculpe Jéssy, eu acho que me expressei mal. Mil perdões. Não foi minha intençao ofender, ok? Você não tem a impressora, ai fica difícil. Veja se consegue um EMULADOR da ARGOX, neste exemplo em .PDF: https://doc.argox.com//faq-barcode-printer/os-2140-swap-emulation-from-ppla-to-pplb_EN.pdf http://fivewin.com.br/index.php?/topic/15435-emulador-de-impressora-termica/ https://www.bztech.com.br/arquivos/manual-argox-os-214-plus.pdf https://www.argoxshop.com.br/downloads Veja se ajuda: FUNCTION IMPETIQARGOX( lAppend, oDbfEstoque, xop, xgrupo, oDbfEnf ) FIELD COD, DESC, ULTTABA, ULTTAB, TIPO, CODFORN, PROD1, nome, GRUPO, NNF LOCAL XCOPIASI, NHANDLE, XCOR, XTAMA, XPRECO, XARQC, XDESC, xpro, oPrn MEMVAR XCOD, XNCOPIAS PUBLIC XEMPDIR, XF, XDA //-> Para Checar se a Impressora Existe ou Esta Ativa EXTERNAL ISPRINTER IF !ISPRINTER() CHECA_IMP() RETURN NIL ENDIF SndPlaySound(".\Lembrete.wav" ) IF MsgYesNo( "Atenção Por Favor: " + CRLF + ; "Posso Imprimir? " + CRLF + ; "Impressora Já Está Ligada?" + CRLF + ; + CRLF + ; "Por Favor, Verifique Se a " + CRLF + ; "Impressora Já Está Pronta!", ; "Por Favor, Confirme!!!" ) = .F. RETURN NIL ENDIF //-> ImpressÆo a Partir Daqui, Crit‚rio do Edvaldo... if xop=9 * Cracha operadores * oDbfEstoque ‚ de proposito pois vem com odbfvendedor do operador.prg Select(oDbfEstoque:cAlias) XCOD="1"+left(COD,2)+DECRYPT(ALLTRIM( ( oDbfEstoque:cAlias )->PROD1), "*+-." ) XDESC=NOME xNcopias:=1 Elseif xop=6 * Etiqueta gondula grupo - APOS REAJUSTE DE PRECO Select(oDbfEstoque:cAlias) If MsgNoYes( oemtoansi("ATEN€ÇO: ** ETIQUETAS DOS PRODUTOS EM PROMO€ÇO ** ")+ CRLF +; + CRLF +; oemtoansi("Para Imprimir Etiqueta de G“ndula Somente dos Produtos em ")+ CRLF+ ; oemtoansi(" Promo‡Æo, escolha a op‡Æo [SIM]") + CRLF +; + CRLF + ; oemtoansi("Para Imprimir Etiqueta de G“ndula de Grupo ou Fam¡lia dos Produtos,") + CRLF +; oemtoansi(" escolha a op‡Æo [NÇO]")+ CRLF +; + CRLF +; + CRLF +; oemtoansi("[SIM] -> Imprimir Etiqueta dos Produtos em Promo‡Æo")+ CRLF + ; oemtoansi("[NÇO] -> Imprimir Etiqueta do Grupo ou Fam¡lia de Produtos"), ; "Informação Para o Usuário... " ) = .T. Xpro:=2 Else Xpro:=1 Endif If xPro=1 set order to 5 ( oDbfEstoque:cAlias )->( OrdScope( 0, xGrupo ) ) // Inicio do SCOPE. ( oDbfEstoque:cAlias )->( OrdScope( 1, xGrupo ) ) // Fim do SCOPE. GO TOP Else set order to 1 ( oDbfEstoque:cAlias )->( OrdScope( 0, nil ) ) // Inicio do SCOPE. ( oDbfEstoque:cAlias )->( OrdScope( 1, nil ) ) // Fim do SCOPE. Locate for VAL( SUBSTR( TIPO, 65, 8) ) > 0 .AND. CTOD( SUBS( TIPO, 28, 8 ) ) >= XDA Endif XNCOPIAS:=1 Elseif xop=7 * Etiqueta gondula reajuste de pre‡o Select(oDbfEstoque:cAlias) If MsgNoYes( oemtoansi("ATEN€ÇO: ** ETIQUETAS DOS PRODUTOS EM PROMO€ÇO ** ")+ CRLF +; + CRLF +; oemtoansi("Para Imprimir Etiqueta de G“ndula Somente dos Produtos em ")+ CRLF+ ; oemtoansi(" Promo‡Æo, escolha a op‡Æo [SIM]") + CRLF +; + CRLF +; oemtoansi("Para Imprimir Etiqueta de G“ndula de Grupo ou Fam¡lia dos Produtos,") + CRLF +; oemtoansi(" escolha a op‡Æo [NÇO]")+ CRLF +; + CRLF +; + CRLF +; oemtoansi("[SIM] -> Imprimir Etiqueta dos Produtos em Promo‡Æo")+ CRLF + ; oemtoansi("[NÇO] -> Imprimir Etiqueta do Grupo ou Fam¡lia de Produtos"), ; "Informação Para o Usuário... " ) = .T. Xpro:=2 Else Xpro:=1 Endif If xPro=1 set order to 1 Select(oDbfEnf:cAlias) set order to 3 SET FILTER TO ( oDbfEnf:cAlias )->NNF = XGRUPO GO TOP Else Locate for VAL( SUBSTR( TIPO, 65, 8) ) > 0 .AND. CTOD( SUBS( TIPO, 28, 8 ) ) >= XDA Endif XNCOPIAS:=1 else XCOD=COD XDESC=DESC XPRECO=ULTTABA XCOR := LEFT(CODFORN,8) XTAMA := SUBS(CODFORN,9,4) IF VAL( SUBSTR( TIPO, 65, 8) ) > 0 .AND. XDA <= CTOD( SUBS( TIPO, 28, 8 ) ) XPRECO := VAL( SUBSTR( TIPO, 65, 8) ) ENDIF xNcopias:=1 Endif XARQC="BARRAS.TXT" XCOPIASI=0 WHILE ! EOF() SYSREFRESH() IF XOP=6 .OR. XOP=7 IF XOP=7.AND.XPRO=1 XCOD:=COD Select(oDbfEstoque:cAlias) seek xcod ENDIF XCOD=COD XDESC=DESC XPRECO=ULTTABA IF VAL( SUBSTR( TIPO, 65, 8) ) > 0 .AND. XDA <= CTOD( SUBS( TIPO, 28, 8 ) ) XPRECO := VAL( SUBSTR( TIPO, 65, 8) ) ENDIF IF XOP=7.AND.XPRO=1 Select(oDbfEnf:cAlias) ENDIF ENDIF XCOPIASI=0 DO WHILE XCOPIASI<XNCOPIAS SYSREFRESH() XARQC="BARRAS.TXT" IF(NHANDLE:=FCREATE(XARQC,0))==-1 SINAL("ARQUIVO DE TRABALHO BARRAS NAO CRIADO !!! !!!") ENDIF FWRITE(NHANDLE,"L"+CHR(13)) FWRITE(NHANDLE,"m"+CHR(13)) FWRITE(NHANDLE,"e"+CHR(13)) FWRITE(NHANDLE,"PC"+CHR(13)) FWRITE(NHANDLE,"D11"+CHR(13)) FWRITE(NHANDLE,"H14"+CHR(13)) FWRITE(NHANDLE,"z"+CHR(13)) IF XOP=3 * Promocional FWRITE(NHANDLE,"161100002900050 P R O M O € A O"+CHR(13)) FWRITE(NHANDLE,"161100001700050"+LEFT(XDESC,23)+CHR(13)) FWRITE(NHANDLE,"161100000400500"+LTRIM(TRANSFORM(XPRECO,"@E 999,999.99"))+CHR(13)) FWRITE(NHANDLE,"111100000050130"+ALLTRIM(XEMPDIR)+CHR(13)) IF LEN(ALLTRIM(XCOD))<13 FWRITE(NHANDLE,"1G2207000300050"+LEFT(XCOD,7)+CHR(13)) ELSE FWRITE(NHANDLE,"1F2207000300050"+LEFT(XCOD,12)+CHR(13)) ENDIF ELSEIF XOP=1 IF "COMBINACAO E ESTILO" $XF FWRITE(NHANDLE,"111100005550050"+LEFT(XEMPDIR,35)+CHR(13)) FWRITE(NHANDLE,"111100005550590"+LEFT(XEMPDIR,35)+CHR(13)) FWRITE(NHANDLE,"111100005250050"+LEFT(XDESC,35)+CHR(13)) FWRITE(NHANDLE,"111100005250590"+LEFT(XDESC,35)+CHR(13)) FWRITE(NHANDLE,"111100004950050"+"COR: "+TRIM(XCOR)+" TAMANHO: "+TRIM(XTAMA)+CHR(13)) FWRITE(NHANDLE,"111100004950590"+"COR: "+TRIM(XCOR)+" TAMAMHO: "+TRIM(XTAMA)+CHR(13)) FWRITE(NHANDLE,"111100004550050"+"DATA DA COMPRA: -----/-----/-----"+CHR(13)) FWRITE(NHANDLE,"111100004550590"+"DATA DA COMPRA: -----/-----/-----"+CHR(13)) IF LEN(ALLTRIM(XCOD))<13 FWRITE(NHANDLE,"1G2207003100120"+LEFT(XCOD,7)+CHR(13)) FWRITE(NHANDLE,"1G2207003100650"+LEFT(XCOD,7)+CHR(13)) ELSE FWRITE(NHANDLE,"1F2207003100120"+LEFT(XCOD,12)+CHR(13)) FWRITE(NHANDLE,"1F2207003100650"+LEFT(XCOD,12)+CHR(13)) ENDIF FWRITE(NHANDLE,"111100002400050"+LEFT(XEMPDIR,35)+CHR(13)) FWRITE(NHANDLE,"111100002400590"+LEFT(XEMPDIR,35)+CHR(13)) FWRITE(NHANDLE,"111100002100090"+LEFT(XDESC,35)+CHR(13)) FWRITE(NHANDLE,"111100002100590"+LEFT(XDESC,35)+CHR(13)) FWRITE(NHANDLE,"111100001800070"+"COR: "+TRIM(XCOR)+" TAMANHO: "+TRIM(XTAMA)+CHR(13)) FWRITE(NHANDLE,"111100001800590"+"COR: "+TRIM(XCOR)+" TAMANHO: "+TRIM(XTAMA)+CHR(13)) FWRITE(NHANDLE,"111100001550050"+SPACE(10)+"PRECO: R$ "+LTRIM(TRANSFORM(XPRECO,"@E 999,999.99"))+CHR(13)) FWRITE(NHANDLE,"111100001550590"+SPACE(10)+"PRECO: R$ "+LTRIM(TRANSFORM(XPRECO,"@E 999,999.99"))+CHR(13)) IF LEN(ALLTRIM(XCOD))<13 FWRITE(NHANDLE,"1G2207000350120"+LEFT(XCOD,7)+CHR(13)) FWRITE(NHANDLE,"1G2207000350650"+LEFT(XCOD,7)+CHR(13)) ELSE FWRITE(NHANDLE,"1F2207000350120"+LEFT(XCOD,12)+CHR(13)) FWRITE(NHANDLE,"1F2207000350650"+LEFT(XCOD,12)+CHR(13)) ENDIF ELSE * lari FWRITE(NHANDLE,"111100001950050"+LEFT(XDESC,28)+CHR(13)) FWRITE(NHANDLE,"111100001950401"+LEFT(XDESC,28)+CHR(13)) FWRITE(NHANDLE,"111100001950730"+LEFT(XDESC,28)+CHR(13)) FWRITE(NHANDLE,"131100001400110"+"R$ "+LTRIM(TRANSFORM(XPRECO,"@E 999,999.99"))+CHR(13)) FWRITE(NHANDLE,"131100001400470"+"R$ "+LTRIM(TRANSFORM(XPRECO,"@E 999,999.99"))+CHR(13)) FWRITE(NHANDLE,"131100001400800"+"R$ "+LTRIM(TRANSFORM(XPRECO,"@E 999,999.99"))+CHR(13)) IF LEN(ALLTRIM(XCOD))<13 FWRITE(NHANDLE,"1G2207000300050"+LEFT(XCOD,7)+CHR(13)) FWRITE(NHANDLE,"1G2207000300401"+LEFT(XCOD,7)+CHR(13)) FWRITE(NHANDLE,"1G2207000300730"+LEFT(XCOD,7)+CHR(13)) ELSE FWRITE(NHANDLE,"1F2207000300050"+LEFT(XCOD,12)+CHR(13)) FWRITE(NHANDLE,"1F2207000300401"+LEFT(XCOD,12)+CHR(13)) FWRITE(NHANDLE,"1F2207000300730"+LEFT(XCOD,12)+CHR(13)) ENDIF ENDIF ELSEIF XOP=2 .OR. XOP=6 .or. xop = 7 * etiqueta DE GONDULA * ok FWRITE(NHANDLE,"161100001700050"+LEFT(XDESC,23)+CHR(13)) * ok FWRITE(NHANDLE,"161100000400700"+LTRIM(TRANSFORM(XPRECO,"@E 999,999.99"))+CHR(13)) * OK 15=TAMANHO da letra * 11=ALTURA da letra FWRITE(NHANDLE,"151100001900050"+LEFT(XDESC,35)+CHR(13)) If len(alltrim(xdesc)) > 16 FWRITE(NHANDLE,"161200000000700"+LTRIM(TRANSFORM(XPRECO,"@E 999,999.99"))+CHR(13)) Else FWRITE(NHANDLE,"161200000250700"+LTRIM(TRANSFORM(XPRECO,"@E 999,999.99"))+CHR(13)) Endif FWRITE(NHANDLE,"111100000050130"+ALLTRIM(XEMPDIR)+CHR(13)) IF LEN(ALLTRIM(XCOD))<13 FWRITE(NHANDLE,"1G2207000300050"+LEFT(XCOD,7)+CHR(13)) ELSE FWRITE(NHANDLE,"1F2207000300050"+LEFT(XCOD,12)+CHR(13)) ENDIF ELSEIF XOP=9 * etiqueta cracha FWRITE(NHANDLE,"111100001950050"+"Nome: "+LEFT(XDESC,28)+CHR(13)) FWRITE(NHANDLE,"1F2207000300050"+LEFT(XCOD,12)+CHR(13)) * FWRITE(NHANDLE,"1H2207000300050"+LEFT(XCOD,12)+CHR(13)) ENDIF FWRITE(NHANDLE,"Q0001"+CHR(13)) FWRITE(NHANDLE,"E"+CHR(13)) FCLOSE(NHANDLE) IF "COMBINACAO E ESTILO" $XF XCOPIASI=XCOPIASI+2 ELSE IF XOP=1 XCOPIASI=XCOPIASI+3 ELSE XCOPIASI=XCOPIASI+1 ENDIF ENDIF COPY file(XARQC) to LPT1 SysRefresh() ENDDO IF XOP # 6 .and. xop # 7 EXIT ENDIF IF XOP=6.AND.Xpro=2 CONTINUE ELSEIF XOP=7.AND.Xpro=2 CONTINUE ELSE SKIP ENDIF ENDDO MsgInfo(oemtoansi("Etiqueta c¢digo de barras gerada Impressora Argox !"),oemtoansi("BalcÆo - Etiqueta de c¢digo de barras de operador")) If xop=7.AND.XPRO=1 SET FILTER TO Elseif xop=6 set order to 1 Endif AEVAL(DIRECTORY( "BARRA*.TXT" ),{ |aFILE| FERASE(aFILE[F_NAME]) } ) RETURN NIL Regards, saludos. Na verdade eu queria entender o seguinte: "1611000 0290 0050" "1611000 0170 0050" "1611000 0040 0500" "1111000 0005 0130" Como você define as Coordenadas do Eixo Y e Eixo X? (deixei espaço para diferenciar no texto) Aproveitando, poderia me dizer a diferença de um arquivo com 2 colunas e apenas 1? Bem simples mesmo.. muito obrigada. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.