Ir para conteúdo
  • Cadastre-se

dev botao

Erro no arquivo "ACBrECFFiscNET.pas"?


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

Recommended Posts

  • Membros Pro

Bom dia a todos.

Em um cliente que utiliza a ECF FiscNET Dataregis 3202DT ocorria o seguinte erro ao finalizar o cupom com observação "longa":

Erro: 8079 - ErroCMDTextAdicional. Texto adicional deve ter no máximo 8 linhas.

 

Verificando os fontes do componente, na unit "ACBrECFFiscNET.pas" temos o seguinte techo de código (linha 673):

     // Ajuste de Colunas para modelos Específicos //
     if (fsModeloECF = 'TPF2001') then
        fpColunas := 40
     else if (pos(fsModeloECF, 'X5|3202DT|ELGIN FIT|ELGIN K|URANO/1FIT LOGGER') > 0) then
        fpColunas := 48;

Nesse casso a varíavel fpColunas sempre ficava com o valor 57, não passava pelo segundo "if".

O código foi alterado para:

     // Ajuste de Colunas para modelos Específicos //
     if (fsModeloECF = 'TPF2001') then
        fpColunas := 40
     else if (pos(fsModeloECF, 'X5|3202DT|ELGIN FIT|ELGIN K|URANO/1FIT LOGGER') > 0) then
        fpColunas := 48
     {OS=229447}
     else if (pos('3202DT', fsModeloECF) > 0) then
        fpColunas := 48;

Assim a varíavel fpColunas recebe o valor 48 (que é o correto para o modelo 3202DT).

 

Gostaria que fosse avaliado se essa alteração pode ser incluída no repositório do componente.

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Bom dia

mas ele está ali

else if (pos(fsModeloECF, 'X5|3202DT|ELGIN FIT|ELGIN K|URANO/1FIT LOGGER') > 0) then

veja que ao 3202DT é logo após a X5

Tente então fazer uma mudança por um Trim no campo fsModeloECF

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • Consultores
Em 20/04/2016 at 11:09, maxdatasistema disse:

Bom dia Juliomar, pois é, muito esquisito. Vou anexar o arquivo de log do ACBr, se puder olhar talvez tenha alguma pista.

229447.acbr

Na função citada, qual é o valor de fsModeloECF para seu ECF?

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

  • Membros Pro

EMBarbosa desculpe a demora na resposta. O cliente fica em outra cidade e ele demorou para mandar a ECF para nós.

Bem, o valor da propriedade fsModeloECF ´é "'3202DT'" (sem espaços). Na ativação da ECF de fato ela recebe a propriedade fpColunas = 48. Porém o erro persiste. Novidades eu informo aqui. Obrigado.

Na unit "ACBrUtil", método "AjustaLinhas" (1923) retorna:

'MD5:1937FE13F155698FC933F9EAF0A06FB1PV0000015216'#$A'Operador: 0023 - MATHEUS'#$A'CPF/CNPJ: 594.992.730-34 IE: 29.466.511-0'#$A'Nome: LUCIANO HOFFMANN ALVES'#$A'End.: LOTEAMENTO DUERE 2º ETAPA PARTE LT. 06 E 3'#$A'0 N. S/N - LAGOA DA CONFUSÃO - TO'#$A'Trib. aprox. R$ 3,65 Federal e 0,00 Estadual, Fo'#$A'nte:IBPT/FECOMERCIO RS'#$A

O problema ocorre na unit "ACBrECFFiscNET", método "FechaCupom" (1165), no trecho:

  { Se tiver Observações no rodape, deve enviar antes do consumidor }
  if Obs <> '' then
  begin
     FiscNETComando.NomeComando := 'ImprimeTexto' ;
     FiscNETComando.AddParamString('TextoLivre',Obs);
     EnviaComando ;
     Obs := '' ;
  end ;

  { Se tiver Observações no rodape, deve enviar antes do consumidor }
  if Obs <> '' then
  begin
     FiscNETComando.NomeComando := 'ImprimeTexto' ;
     FiscNETComando.AddParamString('TextoLivre',Obs);
     EnviaComando ; <<-- Aqui ocorre o erro.
     Obs := '' ;
  end ;

 

A string anterior "quebrada" linha a linha fica: 

MD5:1937FE13F155698FC933F9EAF0A06FB1PV0000015216'#$A'
Operador: 0023 - MATHEUS'#$A'
CPF/CNPJ: 594.992.730-34 IE: 29.466.511-0'#$A'
Nome: LUCIANO HOFFMANN ALVES'#$A'
End.: LOTEAMENTO DUERE 2º ETAPA PARTE LT. 06 E 3'#$A'
0 N. S/N - LAGOA DA CONFUSÃO - TO'#$A'
Trib. aprox. R$ 3,65 Federal e 0,00 Estadual, Fo'#$A'
nte:IBPT/FECOMERCIO RS'#$A

São oito linhas, dentro do limite, mas desconfio que o último "#$A" (última linha) possa ser o problema, o que acham?

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Faça o teste... envie sem a ultima quebra de linha e verifique se funciona... Você pode usar o projeto "ECFTeste", para facilitar os seus testes...

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.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Bom dia, fiz os seguintes testes:

  1. Removi a última quebra de linha: não resolveu
  2. Alterei a quantidade de colunas para 40 (mesmo a ECF imprimindo 48 colunas): não resolveu

A única maneira que funcionou foi "cortando" a mensagem até que ela não ultrapassasse 7 linhas (parece que a ECF já utiliza uma das oito linhas disponíveis).

Infelizmente precisei enviar a ECF de volta para o cliente. A "solução" foi cortar a mensagem,

Link para o comentário
Compartilhar em outros sites

  • Consultores

Neste caso, é necessário entrar em contato com o fabricante para averiguar o que poderia estar acontecendo.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

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

The popup will be closed in 10 segundos...