Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

Postado

Boa tarde.

Ao gerar o arquivo EDI - NOTFIS aqui na empresa nos deparamos com o seguinte erro:

EACBrTXTClassErro with message 'Parâmetro "Value" não possui um valor numérico.'

A solução que encontramos foi modificar a unit ACBrEDINotaFiscal alterando o método GerarItensNF de:

procedure TACBrEDINotaFiscais.GerarItensNF( Registro: TItensNF ) ;
var
  I: Integer ;
begin
  // Registros 511 ou 314 Itens da Nota Fiscal
  for i := 0 to Registro.Count - 1 do
  begin
    with Registro.Items[i] do
    begin
      if Versao = ve50 then
      begin
        Conteudo.Add( IdRegistro +
                      FTxt.VLFill(qVolumes ,  6, 2, '0') +
                      FTxt.RFill(xEspecie  , 15) +
                      FTxt.RFill(cItem     , 20) +
                      FTxt.RFill(xDescricao, 50) +
                      FTxt.LFill(CFOP      ,  4) +
                      FTxt.RFill(nroLote   , 20) +
                      FTxt.LFill(dtValidade, 'ddmmyyyy', false) +
                      FTxt.RFill(xMarca    , 50) +
                      FTxt.RFill(nroVolume , 50) +
                      FTxt.RFill(nroLacre  , 50) +
                      FTxt.VLFill(nroPedido, 20) +
                      FTxt.VLFill(Filler   , 22) ) ;
      end
      else
      begin
        Conteudo.Add( IdRegistro +
                  FTxt.VLFill(qVolumes ,  5, 2, '0') +
                  FTxt.RFill(xEspecie  , 15) +
                  FTxt.RFill(xDescricao, 30) +
                  FTxt.VLFill(Filler   , 29) ) ;
      end;
    end;
  end;
end;
 

para:

procedure TACBrEDINotaFiscais.GerarItensNF( Registro: TItensNF ) ;
var
  I: Integer ;
begin
  // Registros 511 ou 314 Itens da Nota Fiscal
  for i := 0 to Registro.Count - 1 do
  begin
    with Registro.Items[i] do
    begin
      if Versao = ve50 then
      begin
        Conteudo.Add( IdRegistro +
                      FTxt.VLFill(qVolumes ,  6, 2, '0') +
                      FTxt.RFill(xEspecie  , 15) +
                      FTxt.RFill(cItem     , 20) +
                      FTxt.RFill(xDescricao, 50) +
                      FTxt.LFill(CFOP      ,  4) +
                      FTxt.RFill(nroLote   , 20) +
                      FTxt.LFill(dtValidade, 'ddmmyyyy', false) +
                      FTxt.RFill(xMarca    , 50) +
                      FTxt.RFill(nroVolume , 50) +
                      FTxt.RFill(nroLacre  , 50) +
                      FTxt.VLFill(nroPedido, 20) +
                      FTxt.RFill(Filler    , 22) ) ;
      end
      else
      begin
        Conteudo.Add( IdRegistro +
                  FTxt.VLFill(qVolumes ,  5, 2, '0') +
                  FTxt.RFill(xEspecie  , 15) +
                  FTxt.RFill(xDescricao, 30) +
                  FTxt.RFill(Filler    , 29) ) ;
      end;
    end;
  end;
end;
 

Identificamos que nas linhas 2141 e 2149 o Filler estava sendo tratado com numérico e não como string, por isso em ambas as linhas substituímos FTxt.VLFill por FTxt.VLFill e então o arquivo foi gerado com sucesso.

Segue anexo a unit alterada para análise.

Desde já agradeço.

ACBrEDINotaFiscal.pas

  • Consultores
Postado

Bom dia.

tem o manual deles? poderia anexar fazendo favor

vamos colocar na lista

  • Curtir 1

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Postado

Boa tarde @Juliomar Marchetti

Tenho sim, segue anexo NOTFI 31.pdf

Nesse caso especificamente trata-se da versão 3.1 do layout.

Foi necessário fazer mais alterações na classe ACBrEDINotaFiscal, as quais detalho no anexo Alteracoes_ACBrEDINotaFiscal.txt.

Segue anexo também o arquivo ACBrEDINotaFiscal.pas, atualizado para avaliação.

O registro 314 não está com o tamanho esperado (240), mas esse ainda não conseguimos finalizar os ajustes para que ele fique conforme o tamanho especificado pelo layout.

Mais uma vez agradeço à toda equipe ACBr.

NOTFI 31.pdf Alteracoes_ACBrEDINotaFiscal.txt ACBrEDINotaFiscal.pas

  • Curtir 1
  • Consultores
Postado

Não vou aplicar questões de copy em dados que deveriam vir corretos

outra coisa. tu tem aqui misturado , implementou da versão 5 e postou o manual da versão 3.1

 

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Consultores
Postado

Favor anexar os manuais todos usados para validar e assim poder subir

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Postado

Bom dia @Juliomar Marchetti

Não estávamos encontrando o layout da versão 5.0 pois estávamos procurando como Proceda.

Até a versão 3.1 os layouts estão como Proceda, mas a versão 5.0 está como Tivit ( empresa criada em dezembro de 2004 com a fusão das empresas OptiglobeProceda ).

Por fim encontramos o layout da versão 5.0.

Segue anexo conforme solicitado.

Obrigado.

NOTFI31.pdf NOTFIS-50.pdf

  • Consultores
Postado

Considerações, veja o manual

image.png

veja o que tu alterou

image.png

certeza que seguiu o manual?

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Postado

Segui o manual sim @Juliomar Marchetti, e quanto às alterações que fiz, apenas apliquei a mesma regra de formatação utilizada nos demais campos. 

Por exemplo: o campo 14 - VALOR TOTAL DA NOTA consta no layout como N 13.2 e nesse mesmo trecho de código que você destacou pode-se ver que o campo vTotalNF é processado com a formatação 15,2, ou seja, somando-se ao valor inteiro as casas decimais.

Se os campos 13 - QTDE DE VOLUMES e 15 - PESO TOTAL DA MERCADORIA A TRANSP. forem processados com a formatação 5,2 e não com a formatação 7,2 o tamanho do registro fica 236, diferente do tamanho esperado, que é de 240.

  • Consultores
Postado

O manual está errado então?

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Postado

Acho que você não entendeu a minha colocação.

Seguindo no mesmo exemplo do campo 14 - VALOR TOTAL DA NOTA, que citei para justificar as alterações feitas nos campos 13 - QTDE DE VOLUMES e 15 - PESO TOTAL DA MERCADORIA A TRANSP.:

Em TACBrEDINotaFiscais.GerarNotasFiscais é utilizado o método TACBrTXTClass.VLFill para a formatação dos 3 campos supracitados.

image.png.5129801ce0f2b74d98a540955779baba.png

Ocorre que o método TACBrTXTClass.VLFill retorna uma string com o tamanho passado no parâmetro Size.

image.thumb.png.f137f11caf645d985d4d4d63d890bab4.png

Veja que o campo 14 - VALOR TOTAL DA NOTA começa na posição 86 e vai até a 100, ou seja, deve ter o tamanho total de 15 (13 inteiros e 2 decimais).

image.thumb.png.220654d50a482ca8d21a2b4764234275.png

Todos os campos que no layout estão como N 13.2 no método TACBrEDINotaFiscais.GerarNotasFiscais já estavam sendo formatados com 15,2 na chamada ao método TACBrTXTClass.VLFill.

Os campos 13 - QTDE DE VOLUMES e 15 - PESO TOTAL DA MERCADORIA A TRANSP. estavam com a mesma formatação tanto no layout ( N 5,2 ) quanto na chamada ao método TACBrTXTClass.VLFill ( 5,2 ).

O que fiz foi apenas adequar a formatação dos campos 13 - QTDE DE VOLUMES e 15 - PESO TOTAL DA MERCADORIA A TRANSP. à formatação que já estava vigente para os demais campos, alterando de ( 5,2 ) para ( 7,2 ) na chamada ao método TACBrTXTClass.VLFill em TACBrEDINotaFiscais.GerarNotasFiscais.

Com isso os campos ocupam as posições corretas, conforme consta no layout e o tamanho do registro fica conforme o esperado: 240.

  • Curtir 1
  • Consultores
Postado

Bom subi

se começar a dar erros vamos retornar o código

não subi o copy que foi colocado no campo data

Obrigado pela contribuição

  • Curtir 1

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Este tópico foi criado há 1947 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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...
The popup will be closed in 10 segundos...