Ir para conteúdo
  • Cadastre-se

Manifestação do Destinatário com problemas.


Ver Solução Respondido por laffsj,
  • Este tópico foi criado há 240 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Bom dia.

Após atualizar o ACBr da versão 41581 para a versão 41910, comecei ter erro na manifestação do destinatário.

Uso uma variável DocZipItem: TdocZipCollectionItem, começou a dar o seguinte erro: Incompatible types: 'pcnRetDistDFeInt.TdocZipCollectionItem' and 'ACBrDFeComum.RetDistDFeInt.TdocZipCollectionItem'

Fiz a mudança na uses de pcnRetDistDFeInt para ACBrDFeComum.RetDistDFeInt, isso para o erro e consigo compilar, porém, não consigo mais manifestar, aparece o erro: Exception class EACBrDFeException with message 'Rejeicao: Falha no esquema xml'

Como posso corrigir?

  • Moderadores
Postado
8 horas atrás, laffsj disse:

'Rejeicao: Falha no esquema xml'

Não misturou na pasta de schemas os schemas de NFe, CTe e MDFe?

Esse erro geralmente é por isso, precisa estar os schemas de cada documento em pastas diferentes por que existe o mesmo serviço em cada um mas em versões diferentes.

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

  • Membro Pro Verificado
Postado

No método de consulta passe o CNPJ sem formatação (somente os números) que vai dar certo a consulta sem o erro.

Na unit ACBrDFeComum.DistDFeInt linha 132 está verificando se o CNPJCPF é igual 14 dígitos... 

Se passar para o componente o CNPJ com formatação vai cair no else por ser maior que 14 dígitos e gerar a tag <CPF>. Isso gera a rejeição de "Falha no esquema".

Antes da atualização eu estava passando o CNPJ com formatação, provavelmente o componente fazia a limpeza, agora não mais...

 

  if Length(CNPJCPF) = 14 then
    xDoc := '<CNPJ>' + CNPJCPF + '</CNPJ>'
  else
    xDoc := '<CPF>' + CNPJCPF + '</CPF>';

 

  • Curtir 1
  • Moderadores
Postado
26 minutos atrás, TiagoFZ disse:

Se passar para o componente o CNPJ com formatação vai cair no else por ser maior que 14 dígitos e gerar a tag <CPF>. Isso gera a rejeição de "Falha no esquema".

Corrigido no SVN, rev. 41913.

  • Curtir 2
Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Postado

Pessoal, acabei de fazer uns teste aqui, começou a manifestar normalmente porém sugiu um outro erro, pelo o tamanho do meu campo acaba dando out of range.

Tentando encontrar o porque acabei verificando isso:

              case DtModule.ACBrNFe1.WebServices.DistribuicaoDFe.RetDistDFeInt.docZip.Items[i].schema of
                schresNFe:
                  begin
                   ................
                            TbManDestinatario.FieldByName('mandest_chave').AsString := DocZipItem.resDFe.chDFe;
                   ................
                  end;
                schprocNFe:
                   begin
                   ................
                            TbManDestinatario.FieldByName('mandest_chave').AsString := DocZipItem.resDFe.chDFe;
                   ................
                  end;

Quando passa pelo schresNFe, pega o valor da chave da NFe, somente os números.

Quando passa pelo schprocNFe, pega o valor da chave porém com NFe na frente dos números

Erro Manifestação 1.jpg

Erro Manifestação 2.jpg

  • Moderadores
Postado
10 horas atrás, laffsj disse:

Quando passa pelo schprocNFe, pega o valor da chave porém com NFe na frente dos números

Corrigido no SVN, rev. 41921.

Atualize os fontes e teste novamente.

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Postado

Boa tarde BigWinds, muito obrigado pelo retorno.

Fiz mais testes, deu certo esta correção rev. 41921.

Notei mais um detalhe, tem xml que está trazendo o valor da NFe zero, porém consultando a chave no site, existe valor.

Estou tratando desta forma no código:

                            TbManDestinatario.FieldByName('mandest_chave').AsString := DocZipItem.resDFe.chDFe;
                            TbManDestinatario.FieldByName('mandest_serie').AsString := Copy(DocZipItem.resDFe.chDFe, 21, 2);
                            TbManDestinatario.FieldByName('mandest_numero').AsString := Copy(DocZipItem.resDFe.chDFe, 26, 9);
                            TbManDestinatario.FieldByName('mandest_cnpj').AsString := DocZipItem.resDFe.CNPJCPF;
                            TbManDestinatario.FieldByName('mandest_fornecedor').AsString := DocZipItem.resDFe.xNome;
                            TbManDestinatario.FieldByName('mandest_iest').AsString := DocZipItem.resDFe.IE;
                            TbManDestinatario.FieldByName('mandest_dtemissao').AsString := FormatDateTime('DD/MM/YYYY', DocZipItem.resDFe.dhEmi);
                            TbManDestinatario.FieldByName('mandest_valor').AsFloat := DocZipItem.resDFe.vNF;
                            TbManDestinatario.FieldByName('mandest_nsu').AsInteger := StrToIntDef(DocZipItem.NSU, 0);
                            TbManDestinatario.FieldByName('mandest_sitnfe').AsString := IntToStr(Integer(DocZipItem.resDFe.cSitDFe));

No retorno teve os seguintes dados:

schresNFe    - 35250754570310000170550010000028441067617590 - 3196,00  - Correto
schresNFe    - 35250761182051000680550070002819901000110147 - 4588,97  - Correto
schresNFe    - 35250707445500000186550010000810001304923098 - 3700,00  - Correto
schresNFe    - 35250764781941000192550010010682291590336042 - 955,86   - Correto
schresNFe    - 35250707445500000186550010000810161069609279 - 7400,00  - Correto
schresNFe    - 35250702807343000198550010002111731202507106 - 404,62   - Correto
schprocNFe   - 35250709139354000196550010000503391451928480 - 0,00     - Errado, NFe de venda valor: 462,05
schprocNFe   - 35250774581091000647550010004292131346387574 - 0,00     - Errado, NFe de venda valor: 2.878,57
schresNFe    - 35250718499051000175550010001443311001394988 - 11295,75 - Correto
schresNFe    - 35250707445500000186550010000810731251065390 - 8200,00  - Correto
schresNFe    - 35250707445500000186550010000810741200092886 - 7400,00  - Correto
schresNFe    - 35250756073307000177550020005483251985694147 - 3770,87  - Correto

Estou com a versão 41581 instalada e fiz testes nela para ver como ficava o resultado, não aparece valor zerado, nesta versão está funcionando normalmente como na imagem.

Normal.jpg

  • Moderadores
Postado
Em 04/10/2025 at 18:41, laffsj disse:

Notei mais um detalhe, tem xml que está trazendo o valor da NFe zero, porém consultando a chave no site, existe valor.

Enviei nova correção para o SVN, rev. 41944.

Atualize novamente e teste, por favor.

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

  • Este tópico foi criado há 240 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.