[RESOLVIDO] Impressão de etiqueta

Discussão em 'EMS , HCM e Totvs 11' iniciado por Will, Outubro 27, 2009.

Status do Tópico:
Não esta aberto para novas mensagens.
  1. Will

    Will Membro Participativo

    Eae pessoal, estou com um problema estou imprimindo uma etiqueta na impressora Argox, ela está quase 100% , o único problema é na hora de imprimir o código de barras, o mesmo não está sendo impresso, porém tenho pouco experiencia nessa parte estou postando o código se alguém puder me ajudar agradeço vlwww

    Código:
    output to value(imprsor_usuar.nom_disposit_so).
     
           put  control chr(02) + "L".
           put  control chr(13).
           put skip.
    
           put  control chr(02) + "m".
           put  control chr(13).
           put skip.
    
           put  "H18". /* Temperatura */
           put  control chr(13).
           put skip.
    
           put  "D11".
           put  control chr(13).
           put skip.
    
           put  "R0000".
           put  control chr(13).
           put skip.
    
           put  "C0020".
           put  control chr(13).
           put skip.
    
           put "U".
           put control chr(13).
           put skip.
    
           put "191100200000240" string(today).
           put  control chr(13).
           put skip.
    
           put "191100200000400" "Etiqueta:".
           put  control chr(13).
           put skip.
    
           put "191100200000520" string(i, '9999') + "/" + string(qt-etiq, '9999') format 'x(10)'.
           put  control chr(13).
           put skip.
    
           put "191100200500020" "Localizacao:".
           put  control chr(13).
           put skip.
    
           put "191100200500240" item.cod-localiz format "x(6)".
           put  control chr(13).
           put skip.
    
           put "191100200500400" "Deposito:".
           put  control chr(13).
           put skip.
    
           put "191100200500520" tt-param.cod-dep-saida format "x(16)".
           put  control chr(13).
           put skip.
    
           put "191100201000400" "Estabel:".
           put  control chr(13).
           put skip.
    
           put "191100201000520" tt-param.cod-estab    format "x(16)".
           put  control chr(13).
           put skip.
    
           put "191100201250020" fill("-",600) format "x(600)".
           put  control chr(13).
           put skip.
    
          /*  Esta é a parte referente ao código de barras */
           ASSIGN cd-bar = string(item.it-codigo, '99999999999' )
                                 + string(dz-item.qt-un-caixa,  '999999999')
                                 + string(tt-param.cod-estab, '9999')
                                 + string(item.cod-localiz, '9999')
                                 + string(i, '9999').
    
           assign cd-bar = replace(cd-bar," ","").
    
           PUT "1D521200030003" cd-bar format "x(44)".
           put  control chr(13).
           PUT SKIP.
    
           put "U".
           put control chr(13).
           put skip.
    
           put "E".
           put control chr(13).
           put skip.
    
       output close.
    
    só pra constar o código
    ASSIGN cd-bar = string(item.it-codigo, '99999999999' )
    + string(dz-item.qt-un-caixa, '999999999')
    + string(tt-param.cod-estab, '9999')
    + string(item.cod-localiz, '9999')
    + string(i, '9999').
    que carrega os dados do código de barra , foi copiado de um programa que por sua vez imprimia o mesmo anteriormente ele era assim:

    ASSIGN cd-bar =
    "01"
    + string(cod-ean, '99999999999' )
    + "10"
    + string(tt-etiquetas.nr-ordem, '999999999')
    + "21"
    + string(tt-etiquetas.i-seq-ini, '9999')
    + "11"
    + string (substring (string ( year(tt-param.dt-conclusao), "9999") , 3 , 2), '99' )
    + string (month(tt-param.dt-conclusao), '99')
    + string (day (tt-param.dt-conclusao), '99')
    + "37"
    + string(tt-etiquetas.i-qt-item, '9999').
  2. michel

    michel Membro Participativo

    Tenho o seguinte expemplo para codigo de barras:

    ASSIGN cLinha = REPLACE(cLinha, "#BCCODE1281", ttDanfe.BCCODE128-chave ). /*Chave de Acesso NF-e*/

    ASSIGN cLinha = REPLACE(cLinha, "#BCCODE1282", ttDanfe.BCCODE128-chaveadicional ). /*Chave de Acesso Adicional - Para impressão em Contingência*/

    copie o trecho que gera o codigo de barras das danfes do ems
  3. Will

    Will Membro Participativo

    Cara , na verdade isto não me ajuda, o que preciso saber é qual problema está ocorrendo no meu código, tipo alterei alguns valores do sistema antigo cujo imprimia o código d barras
    Código:
     ASSIGN cd-bar = string(item.it-codigo, '99999999999' )
                                 + string(dz-item.qt-un-caixa,  '999999999')
                                 + string(tt-param.cod-estab, '9999')
                                 + string(item.cod-localiz, '9999')
                                 + string(i, '9999').
    
           assign cd-bar = replace(cd-bar," ","").
    
           PUT "1D521200030003" cd-bar format "x(44)".
    
    este é o meu código que está com defeito, na verdade o meu cd-bar está recebendo o valor "9.649.00.0000000000510 0002 ".
  4. af.dums

    af.dums Membro Ativo

    Opa, duas coisas:

    Acredito que o progress não está respeitando tuas mascaras, porque os campos it-codigo, cod-estabel e cod-localiz já são string's, caso você tenha certeza que sempre terão valores inteiros nestes campos, converte para inteiro antes de para string, exemplo: string(integer(item.it-codigo),"99999999"), ou da um replace nos "." eliminando-os.

    Outra, uso esta logica para impressão de código de barras, ve se te ajuda:

    Código:
    Run bar-code-39 (input String(i-ordem),
                        input  "P0510100",
                        output bar-code-string).
    
    
    Procedure bar-code-39:
    
      def input  parameter input-string     as char no-undo.
      def input  parameter code-spec        as char no-undo.
      def output parameter bar-code-string  as char no-undo.
    
      def var clr as log init true no-undo.
      def var wk  as char no-undo.
      def var drw as char no-undo.
      def var dir as char no-undo.
      def var k   as char no-undo.
      def var att as char no-undo.
      def var kod as char no-undo
                     init "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ.Ï *$/+%".
    
      att =
      "100100001001100001101100000000110001100110000001110000000100101100100100"
    + "001100100000110100100001001001001001101001000000011001100011000001011000"
    + "000001101100001100001001100000011100100000011001000011101000010000010011"
    + "100010010001010010000000111100000110001000110000010110110000001011000001"
    + "111000000010010001110010000011010000010000101110000100011000100010010100"
    + "010101000010100010010001010000101010".
    
      def var i   as int no-undo.
      def var j   as int no-undo.
      def var l   as int no-undo.
      def var brd as int no-undo.
      def var jst as int no-undo.
    
      assign 
        i = if substring (code-spec, 1, 1) = "P" then 1 else 2
        bar-code-string = "~E&f0S~E*c100G"
        drw = substring ("ab", i, 1) 
            + substring (code-spec, 6) 
            + substring ("ba", i, 1) + "P"
        dir = substring ("XY", i, 1)
        k   = "*" + input-string + "*"
        .
    
      do i = 1 to length (k):
        assign
          j = index (kod, substring (k, i, 1)) * 9 - 8
          wk = substring (att, j, 9) + "0"
          .
        do l = 1 to 10:
          assign
            brd = if substring(wk,l,1) = "0" then 2 else 4
            bar-code-string = bar-code-string 
                + (if clr then "~E*c" + substring (code-spec, brd, 2) + drw
                   else "~E*p+" + string (integer (substring (code-spec, brd, 2)) 
                                + jst) + dir)
            jst = integer (substring (code-spec, brd, 2))
            clr = not clr
            .
        end. /* of looping 1 to 10 */
      end. /* of going through string 'k' */
     
      assign
        bar-code-string = bar-code-string + "~E&f1S" 
        wk = ""
        .
    end.
    
    Abrass...
  5. Will

    Will Membro Participativo

    aeee garoto, vlww , o problema relamente era o fato de aceitar somente nros inteiros no código , vlwwww
  6. Will

    Will Membro Participativo

    mais uma dúvida, no caso tenho um item cujo código é "9.649.00.000pr" , como faço para imprimir o mesmo no código d barras????????????????
Status do Tópico:
Não esta aberto para novas mensagens.

Compartilhe esta Página