Jump to content
Fivewin Brasil

Problemas na Argox 214 Plus - RESOLVIDO


evertonlb

Recommended Posts

Boa noite amigos.

Tenha a impressão de etiquetas na Argox (vou colocar o código abaixo). Mas estou com um probleminha na impressão, não chega a impedir o uso da etiqueta, mas o cliente não quer que aconteça mais isso.

O que está acontecendo é que no início da ultima linha que mando imprimir aparece uma letra "C"... Aparece a letra "C" e logo após imprime os dados que enviei..

mas só na última linha, nas anteriores não..  

Alguém tem alguma ideia da solução?

Local cLetra, nHand, cLote  
Local cArqImp   := "Argox.TXT"
Local cPrinter  := PrinterPortToName( "Argox214" )
*
nHand:=fCreate(cArqImp)
*
*  Controle de cabeçalho da impressora
*
fWrite(nHand, "L"    + Chr(13)+Chr(10) )
fWrite(nHand, "m"    + Chr(13)+Chr(10) )
fWrite(nHand, "e"    + Chr(13)+Chr(10) )
fWrite(nHand, "K1701"+ Chr(13)+Chr(10) )
fWrite(nHand, "PC"    + Chr(13)+Chr(10) )
fWrite(nHand, "D11"   + Chr(13)+Chr(10) )
fWrite(nHand, "H14"   + Chr(13)+Chr(10) )
fWrite(nHand, "z"     + Chr(13)+Chr(10) )

*
* Montagem da Etiqueta 01
*
*           Esquema basico de enderecamento de etiquetas
*           na ALLEGRO DATAMAX.
*
*            1 1 1 1 000 0005 0130 EVERTON LUIS BATTISTON
*           ÄÂÄÂÄÂÄÂ ÄÂÄ ÄÄÂÄ ÄÄÂÄ ÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄ
*            ³ ³ ³ ³  ³    ³    ³            ÀÄÄÄÄÄÄÄÄÄÄÄ  Texto a ser impresso
*            ³ ³ ³ ³  ³    ³    ³
*            ³ ³ ³ ³  ³    ³    ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ  Posicao no eixo "X"
*            ³ ³ ³ ³  ³    ³
*            ³ ³ ³ ³  ³    ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ  Posicao no eixo "Y"
*            ³ ³ ³ ³  ³
*            ³ ³ ³ ³  ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ  Altura do codigo de barra 000 altura padrao
*            ³ ³ ³ ³
*            ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ  Largura da barra fina
*            ³ ³ ³
*            ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ  Largura da barra larga
*            ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ  Tipo de codigo de barra
*            ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ  Orientacao anti-oraria: 1 - 0§, 2 - 240§, 3 - 180§, 4 - 90§
*
*
* Montagem da Etiqueta 01
*
if !empty( Cod1 )
   fWrite(nHand,"130002002400160" + "LH Laser"  + CHR(13) + CHR(10) )
   fWrite(nHand,"1F2205001400080" + Cod1  + CHR(13) + CHR(10) )
   fWrite(nHand,"121100001000050" + Des1  + CHR(13) + CHR(10) )
   fWrite(nHand,"190000200200050" + "CNPJ.:" + CNP1  + CHR(13) + CHR(10) )
endif
* ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
*
*                  SEGUNDA ETIQUETA
*
* ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
if !empty( Cod2 )
   fWrite(nHand,"130002002400580" + "LH Laser"  + CHR(13) + CHR(10) )
   fWrite(nHand,"1F2205001400500" + Cod2  + CHR(13) + CHR(10) )
   fWrite(nHand,"121100001000470" + Des2  + CHR(13) + CHR(10) )
   fWrite(nHand,"190000200200470" + "CNPJ.:" + CNP2  + CHR(13) + CHR(10) )
endif
*
* Comandos de quantidade e finalização da impressora
*
fWrite(nHand,"Q"+ strzero( QtdeEtique, 4, 0 ) + Chr(13)+Chr(10) )
fwrite(nHand,"E" + Chr(13)+Chr(10) )
fClose(nHand)
*
cPrintEt := "Argox214" 
PrintFileRaw( cPrintEt, cArqImp, "Etiquetas - Estoque" )
*

Ta ai.. Obrigado por qualquer dica!

Att.

Everton Battiston

Link to comment
Share on other sites

Veja se ajuda, ahi no Paranáuê do Moro(bleaaaarrrggghhh) kkkkkkkkkkkkkkk

[/code]
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

   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

   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

               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
[/code]
 

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