Jump to content
Fivewin Brasil

exemplo impressora argox os 214 Plus


edutraini

Recommended Posts

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
[]s
Link to comment
Share on other sites

  • 7 years later...

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

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...