Ir para conteúdo
  • Cadastre-se

geovanesilveira

Membros
  • Total de ítens

    29
  • Registro em

  • Última visita

Tudo que geovanesilveira postou

  1. Italo, após dar uma pesquisada, vi que cometi um erro. A mensagem do status 539 está vindo do jeito como eu havia descrito acima: Rejeicao: Duplicidade de CT-e, com diferença na Chave de Acesso [chCTe: 99999999999999999999999999999999999999999999][nRec:999999999999999] E a mensagem da qual eu estava falando, era na verdade a 204: Rejeição: Duplicidade de CT-e [nRec:999999999999999] E quanto ao xMotivo não trazer a chave na mensagem 204, sendo que vem do XML de retorno, o único jeito seria falar com a fazenda?
  2. Quando tento enviar uma numeração de conhecimento, que por ventura, já foi processada, recebo a seguinte mensagem: Project cte.exe raised exception class EACBrDFeException with message 'Conhecimento(s) não confirmados: 7000->Rejeição: Duplicidade de CT-e [nRec:423000006816472] Até ai tudo certo, afinal ocorreu a exceção como esperado. Porém o número de recibo do lote (nRec) que vem junto da imagem não me serve muito, já que a consulta de CTe é feita pela chave. Então procurei pelo local aonde da o raise na exceção e encontrei na unit ACBrCTeWebServices, localizada na rotina TCTeRetRecepcao.TratarRespostaFinal: //Montando a mensagem de retorno para os Conhecimentos nao confirmados for I := to FConhecimentos.Count - 1 do begin if not FConhecimentos.Items[I].Confirmado then FPMsg := FPMsg + IntToStr(FConhecimentos.Items[I].CTe.Ide.nCT) + '->' + FConhecimentos.Items[I].Msg + LineBreak; end; Procurei o local aonde é montade o FConhecimentos.Items.Msg mas não encontrei, então para mostrar a chave fiz o seguinte: //Montando a mensagem de retorno para os Conhecimentos nao confirmados for I := to FConhecimentos.Count - 1 do begin if not FConhecimentos.Items[I].Confirmado then FPMsg := FPMsg + IntToStr(FConhecimentos.Items[I].CTe.Ide.nCT) + '->' + FConhecimentos.Items[I].Msg +' [Chave: '+ FConhecimentos.Items[I].NumID +']'+ LineBreak; end; Apesar de ainda achar que o certo seria arrumar a propriedade .Msg essa solução já me serve. Creio que trazer a chave é melhor do que não traze-la, já que com ela consigo consulta-la na fazenda sem precisar de debug ou códigos adicionais afins.
  3. Italo, fiz os testes aqui e funcionou tudo certinho, grato.
  4. Ao tentar fazer a leitura de um XML, conforme a imagem do mesmo em anexo, verifiquei que a tag, indicada na imagem, não esta sendo verificada no fonte, ou melhor, ela esta sendo mas falta outra condição. Na unit pnfsNFSeR, encontra-se duas funções que se chamam: LerNFSe_ABRASF_V1 e LerNFSe_ABRASF_V2. A função LerNFSe_ABRASF_V2 contêm a seguinte condição para carregar as informações do tomador: if (Leitor.rExtrai(3, 'Tomador') <> '') or (Leitor.rExtrai(3, 'TomadorServico') <> '') or (Leitor.rExtrai(2, 'Tomador') <> '') or (Leitor.rExtrai(2, 'TomadorServico') <> '') then Porém, na função LerNFSe_ABRASF_V1 o mesmo local que carrega as informações do tomador está assim: if Leitor.rExtrai(3, 'TomadorServico') <> '' then E conforme a imagem do XML que anexei, a tag esta vindo como <Tomador> e esta sendo executado pela função LerNFSe_ABRASF_V1, e consequentemente não carrega as informações. A solução que encontrei foi fazer do mesmo jeito que a LerNFSe_ABRASF_V2 if (Leitor.rExtrai(3, 'Tomador') <> '') or (Leitor.rExtrai(3, 'TomadorServico') <> '') then Desse jeito, as informações as informações são carregadas normalmente. OBS.: A versão que usei de exemplo acima não é a ultima, porém, antes de fazer esse post, fiz essa verificação também na ultima versão e encontrei o mesmo problema.
×
×
  • 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...