Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 4097 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Postado

Olá,

Hoje estava dando uma olhada no fonte do meu sistema para ECF,  uma maneira de melhorar o desempenho na emissão do cupom, pois estava achando meio lento o registros do itens e fechamento, acredito muito é a forma que estou chamando os comandos, mas para analisar todos os chamados, dei uma olhada no Log, confesso que não me entendi muito com todos esses parametros, mas consigo identificar algumas coisas, mas o que me chamou a atenção é um erro de comando inválido quando envio o comando vendeitem, na realidade, no cupom sai, mas no log traz o erro e depois o registro. Irei postar aqui, a parte do log de uma venda com o erro, mas ver se alguém pode ajudar a entender e descobrir o problema, pois analisando não encontrei.

 

                TX -> [sTX][ENQ][NUL][FS]#[GS]\[NUL]
   10:14:38:823 RX <- [bS][sOH][NUL][NUL][NUL][NUL]
-- 10:14:38:823
                TX -> [sTX][4][NUL][FS][26]6[NUL]
   10:14:38:983 RX <- [ENQ][7][NUL][18][NUL][23][NUL]%[NUL][ETX][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL]
-- 10:14:38:983
                TX -> [sTX]V[NUL][FS]>I0000000020945803M20001000000425600000[NUL]0000[NUL]F.BORDA CILIEGIO FLORENCA 94MM RL 50M[NUL][ENQ][18]
   10:14:39:083 RX <- [4][sOH][sOH][NUL]
----------------- ERRO -----------------
Erro retornado pela Impressora: Bematech

Comando inválido

----------------------------------------

-- 10:14:39:083
                TX -> [sTX][ENQ][NUL][FS]#[FS][[NUL]
   10:14:39:213 RX <- [NUL][NUL][NUL][NUL][NUL]
-- 10:14:39:213
                TX -> [sTX]w[NUL][FS]?030000425600001000000000000000000000000100000000000000000000M200000000209458[NUL]F.BORDA CILIEGIO FLORENCA 94MM RL 50M[NUL]N[24]
   10:14:39:503 RX <- [NUL][NUL][NUL][NUL]
-- 10:14:39:503 Estado

  • Fundadores
Postado

Está tudo normal... a exceção é tratada internamente pelo ACBrECF ...

 

Note que ele tenta usar o comando que permite o Arredondamento em MFDs.. como dectecta que esse comando não existe no ECF, ele tenta novamente usando o comando Legado... Veja os fontes de ACBrECFBematech.pas, método: VendeItem...

  if fpMFD and fpArredondaItemMFD then
   begin
     BytesResp   := 0 ;
     Codigo      := padL(Codigo,14) ;
     QtdStr      := IntToStrZero( Round( Qtd * 1000), 7) ;
     ValorStr    := IntToStrZero( Round( ValorUnitario * 1000), 8) ;
     AcrescimoStr:= StringOfChar('0',4) + #0;
     DescontoStr := AcrescimoStr;

     try
        if ValorDescontoAcrescimo <> 0 then
        begin
             if DescontoAcrescimo = 'A' then
                AcrescimoStr := IntToStrZero( Round(ValorDescontoAcrescimo * 100),
                     ifthen(TipoDescontoAcrescimo = '%', 4, 8) ) + #0
             else
                DescontoStr := IntToStrZero( Round(ValorDescontoAcrescimo * 100),
                     ifthen(TipoDescontoAcrescimo = '%', 4, 8) ) + #0
        end ;

        EnviaComando(#62 + #73 +
                           Codigo + AliquotaECF + Unidade + QtdStr + ValorStr +
                           DescontoStr + AcrescimoStr + Descricao + #0 );
     except
       On E : Exception do
       begin
          if TestBit(ST1,2) then  // Comando inexistente ?
           begin
             fpArredondaItemMFD := False; // Desative o ArredondaItemMFD;

             // Chamada recursiva do método para usar comando tradicional //
             VendeItem( Codigo, Descricao, AliquotaECF, Qtd, ValorUnitario,
                        ValorDescontoAcrescimo, Unidade, TipoDescontoAcrescimo,
                        DescontoAcrescimo );
             exit ;
           end
          else
             raise ;
       end ;
     end ;
   end

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

  • Este tópico foi criado há 4097 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.