10389 - Erro na integração de documentos de entrada no ERP (NF-e/CT-e)
Problema: Descrição do Problema: o eDocs não está enviando as NF-e (Nota Fiscal Eletrônica) e CT-e (Conhecimento de Transporte Eletrônico) para o ERP após os mesmos serem integrados no DE pela rotina de recebimento. No Log do eDocs as seguintes mensagens estão sendo informadas:
EM PORTUGUÊS
2013-10-07 11:00:01,853 [22] ERROR Senior.SapiensNfe.Processos.Service.Documento.RecebimentoRetornoErp - Erro ao integrar CT-e de recebimento ao ERP.
System.InvalidOperationException: A seqüência não contém elementos de correspondência
em System.Linq.Enumerable.First[TSource](IEnumerable`1 source, Func`2 predicate)
em Senior.SapiensNfe.Processos.Service.Xml.Cte.RecebimentoRetornoErpConversorHelper.ParaModeloIntegracaoRecebimentoErp(ConhecimentoFrete cte)
em Senior.SapiensNfe.Processos.Service.Xml.Cte.RecebimentoRetornoErpConversorHelper.ParaModeloIntegracaoRecebimentoErp(IList`1 listaCte, IList`1 cancelamentos)
em Senior.SapiensNfe.Processos.Service.Documento.RecebimentoRetornoErp.RecebimentoRetornoCte(Int32 quantidade)
2013-10-07 11:00:01,853 [22] ERROR Senior.SapiensNfe.Processos.Service.Documento.RecebimentoRetornoErp - Erro ao integrar NF-e de recebimento ao ERP.
System.InvalidOperationException: A seqüência não contém elementos de correspondência
em System.Linq.Enumerable.First[TSource](IEnumerable`1 source, Func`2 predicate)
em Senior.SapiensNfe.Processos.Service.Xml.Cte.RecebimentoRetornoErpConversorHelper.ParaModeloIntegracaoRecebimentoErp(ConhecimentoFrete cte)
em Senior.SapiensNfe.Processos.Service.Xml.Cte.RecebimentoRetornoErpConversorHelper.ParaModeloIntegracaoRecebimentoErp(IList`1 listaCte, IList`1 cancelamentos)
em Senior.SapiensNfe.Processos.Service.Documento.RecebimentoRetornoErp.RecebimentoRetornoCte(Int32 quantidade)
EM INGLÊS:
2013-09-17 17:24:32,655 [22] ERROR Senior.SapiensNfe.Processos.Service.Documento.RecebimentoRetornoErp - Erro ao integrar NF-e de recebimento ao ERP.
System.InvalidOperationException: Sequence contains no matching element
at System.Linq.Enumerable.First[TSource](IEnumerable`1 source, Func`2 predicate)
at Senior.SapiensNfe.Processos.Service.Xml.Cte.RecebimentoRetornoErpConversorHelper.ParaModeloIntegracaoRecebimentoErp(ConhecimentoFrete cte)
at Senior.SapiensNfe.Processos.Service.Xml.Cte.RecebimentoRetornoErpConversorHelper.ParaModeloIntegracaoRecebimentoErp(IList`1 listaCte, IList`1 cancelamentos)
at Senior.SapiensNfe.Processos.Service.Documento.RecebimentoRetornoErp.RecebimentoRetornoCte(Int32 quantidade)
2013-09-17 17:24:32,655 [22] ERROR Senior.SapiensNfe.Processos.Service.Documento.RecebimentoRetornoErp - Erro ao integrar NF-e de recebimento ao ERP.
System.InvalidOperationException: Sequence contains no matching element
at System.Linq.Enumerable.First[TSource](IEnumerable`1 source, Func`2 predicate)
at Senior.SapiensNfe.Processos.Service.Xml.Cte.RecebimentoRetornoErpConversorHelper.ParaModeloIntegracaoRecebimentoErp(ConhecimentoFrete cte)
at Senior.SapiensNfe.Processos.Service.Xml.Cte.RecebimentoRetornoErpConversorHelper.ParaModeloIntegracaoRecebimentoErp(IList`1 listaCte, IList`1 cancelamentos)
at Senior.SapiensNfe.Processos.Service.Documento.RecebimentoRetornoErp.RecebimentoRetornoCte(Int32 quantidade)
Rotina / Tela: envio ao ERP de documentos eletrônicos recebidos pelo eDocs
Solução: Solução 10389: este problema ocorre pois existe na base de dados do eDocs arquivos de recebimento (NF-e e CT-e) que não possui o arquivo XML armazenado no banco de dados. Uma forma de verificar se todos os documentos integrados no eDocs (da rotina de recebimento) possuem arquivo XML gravado no banco de dados, as seguintes telas deverão ser acessadas:
- CT-e: CT-e > Armazenamento XML > Aba Recebimento
- NF-e: NF-e > Armazenamento XML > Aba Recebimento
Nas telas informadas acima, o indicativo XML no Banco deverá estar verde para todos os documentos. Caso algum documento esteja com indicativo de XML no banco em vermelho, indica que o XML não está registrado no banco. Para buscar o XML (caso ele não esteja registrado), deverá ser acessado a tela CT-e > Recebimento ou NF-e > Recebimento e clicar em Consultar. Esta rotina irá efetuar nova consulta do documento na SEFAZ e irá armazenar o arquivo XML no banco de dados.
Outra forma, é verificar o documento mais antigo que não retornou ao ERP (tanto da guia de documentos autorizados como na guia de documentos cancelados) e clicar no botão XML.
Para os documentos onde o XML não salvar na base de dados (XML de autorização ou XML de cancelamento) mesmo clicando no botão Consultar, para importar o mesmo para a base de dados poderá ser utilizado o aplicativo Importador.
Por que o problema em questão ocorre? O problema ocorre pois as NF-e ou CT-e foram recebidos quando a filial estava utilizando antigos diretórios de integração (não suportados pelo SDE a partir da versão 5.8.2.1).
Observações:
- O DE efetua envio de documentos eletrônicos para o ERP em lotes de 100 documentos, separados por filial. Se um destes documentos (dos 100) não tiver o arquivo XML registrado no banco, nenhum arquivo será integrado ao ERP.
- A rotina de consulta do documento eletrônico (Consultar Ct-e/Consultar NF-e) depende de configurações do IIS. Para tanto, verificar solução 12269 (caso algum problema ocorra na rotina de consulta do documento eletrônico)
Informação importante: na versão 5.8.3.14 do DE foi liberado um ajuste na rotina de envio de CT-e para o ERP. Seguem informações presentes no arquivo de novidades do DE em sua versão 5.8.3.14:
=================================
Retorno de CT-e de recebimento
A rotina de atualização de CT-e de recebimento foi ajustada para consistir se os CT-e possuem o arquivo XML salvo no banco de dados antes de enviar o retorno ao Gestão Empresarial | ERP, fazendo com que o lote de CT-e que seria enviado ao ERP via WebService não seja ignorado. Anteriormente, quando em um lote possuísse um CT-e sem o XML salvo no banco de dados do SDE era apresentada a seguinte mensagem no log Sde.log e o lote inteiro não era enviado: ERROR Senior.SapiensNfe.Processos.Service.Documento.RecebimentoRetornoErp - Erro ao integrar CT-e de recebimento ao ERP. System.InvalidOperationException: A sequência não contém elementos de correspondência.
Local: Senior Documentos Eletrônicos > CT-e
=================================
Neste caso, para ser utilizada rotina de integração de CT-e de entrada ao ERP, deve-se utilizar versão 5.8.3.14 ou superior do DE.
EM PORTUGUÊS
2013-10-07 11:00:01,853 [22] ERROR Senior.SapiensNfe.Processos.Service.Documento.RecebimentoRetornoErp - Erro ao integrar CT-e de recebimento ao ERP.
System.InvalidOperationException: A seqüência não contém elementos de correspondência
em System.Linq.Enumerable.First[TSource](IEnumerable`1 source, Func`2 predicate)
em Senior.SapiensNfe.Processos.Service.Xml.Cte.RecebimentoRetornoErpConversorHelper.ParaModeloIntegracaoRecebimentoErp(ConhecimentoFrete cte)
em Senior.SapiensNfe.Processos.Service.Xml.Cte.RecebimentoRetornoErpConversorHelper.ParaModeloIntegracaoRecebimentoErp(IList`1 listaCte, IList`1 cancelamentos)
em Senior.SapiensNfe.Processos.Service.Documento.RecebimentoRetornoErp.RecebimentoRetornoCte(Int32 quantidade)
2013-10-07 11:00:01,853 [22] ERROR Senior.SapiensNfe.Processos.Service.Documento.RecebimentoRetornoErp - Erro ao integrar NF-e de recebimento ao ERP.
System.InvalidOperationException: A seqüência não contém elementos de correspondência
em System.Linq.Enumerable.First[TSource](IEnumerable`1 source, Func`2 predicate)
em Senior.SapiensNfe.Processos.Service.Xml.Cte.RecebimentoRetornoErpConversorHelper.ParaModeloIntegracaoRecebimentoErp(ConhecimentoFrete cte)
em Senior.SapiensNfe.Processos.Service.Xml.Cte.RecebimentoRetornoErpConversorHelper.ParaModeloIntegracaoRecebimentoErp(IList`1 listaCte, IList`1 cancelamentos)
em Senior.SapiensNfe.Processos.Service.Documento.RecebimentoRetornoErp.RecebimentoRetornoCte(Int32 quantidade)
EM INGLÊS:
2013-09-17 17:24:32,655 [22] ERROR Senior.SapiensNfe.Processos.Service.Documento.RecebimentoRetornoErp - Erro ao integrar NF-e de recebimento ao ERP.
System.InvalidOperationException: Sequence contains no matching element
at System.Linq.Enumerable.First[TSource](IEnumerable`1 source, Func`2 predicate)
at Senior.SapiensNfe.Processos.Service.Xml.Cte.RecebimentoRetornoErpConversorHelper.ParaModeloIntegracaoRecebimentoErp(ConhecimentoFrete cte)
at Senior.SapiensNfe.Processos.Service.Xml.Cte.RecebimentoRetornoErpConversorHelper.ParaModeloIntegracaoRecebimentoErp(IList`1 listaCte, IList`1 cancelamentos)
at Senior.SapiensNfe.Processos.Service.Documento.RecebimentoRetornoErp.RecebimentoRetornoCte(Int32 quantidade)
2013-09-17 17:24:32,655 [22] ERROR Senior.SapiensNfe.Processos.Service.Documento.RecebimentoRetornoErp - Erro ao integrar NF-e de recebimento ao ERP.
System.InvalidOperationException: Sequence contains no matching element
at System.Linq.Enumerable.First[TSource](IEnumerable`1 source, Func`2 predicate)
at Senior.SapiensNfe.Processos.Service.Xml.Cte.RecebimentoRetornoErpConversorHelper.ParaModeloIntegracaoRecebimentoErp(ConhecimentoFrete cte)
at Senior.SapiensNfe.Processos.Service.Xml.Cte.RecebimentoRetornoErpConversorHelper.ParaModeloIntegracaoRecebimentoErp(IList`1 listaCte, IList`1 cancelamentos)
at Senior.SapiensNfe.Processos.Service.Documento.RecebimentoRetornoErp.RecebimentoRetornoCte(Int32 quantidade)
Rotina / Tela: envio ao ERP de documentos eletrônicos recebidos pelo eDocs
Solução: Solução 10389: este problema ocorre pois existe na base de dados do eDocs arquivos de recebimento (NF-e e CT-e) que não possui o arquivo XML armazenado no banco de dados. Uma forma de verificar se todos os documentos integrados no eDocs (da rotina de recebimento) possuem arquivo XML gravado no banco de dados, as seguintes telas deverão ser acessadas:
- CT-e: CT-e > Armazenamento XML > Aba Recebimento
- NF-e: NF-e > Armazenamento XML > Aba Recebimento
Nas telas informadas acima, o indicativo XML no Banco deverá estar verde para todos os documentos. Caso algum documento esteja com indicativo de XML no banco em vermelho, indica que o XML não está registrado no banco. Para buscar o XML (caso ele não esteja registrado), deverá ser acessado a tela CT-e > Recebimento ou NF-e > Recebimento e clicar em Consultar. Esta rotina irá efetuar nova consulta do documento na SEFAZ e irá armazenar o arquivo XML no banco de dados.
Outra forma, é verificar o documento mais antigo que não retornou ao ERP (tanto da guia de documentos autorizados como na guia de documentos cancelados) e clicar no botão XML.
Para os documentos onde o XML não salvar na base de dados (XML de autorização ou XML de cancelamento) mesmo clicando no botão Consultar, para importar o mesmo para a base de dados poderá ser utilizado o aplicativo Importador.
Por que o problema em questão ocorre? O problema ocorre pois as NF-e ou CT-e foram recebidos quando a filial estava utilizando antigos diretórios de integração (não suportados pelo SDE a partir da versão 5.8.2.1).
Observações:
- O DE efetua envio de documentos eletrônicos para o ERP em lotes de 100 documentos, separados por filial. Se um destes documentos (dos 100) não tiver o arquivo XML registrado no banco, nenhum arquivo será integrado ao ERP.
- A rotina de consulta do documento eletrônico (Consultar Ct-e/Consultar NF-e) depende de configurações do IIS. Para tanto, verificar solução 12269 (caso algum problema ocorra na rotina de consulta do documento eletrônico)
Informação importante: na versão 5.8.3.14 do DE foi liberado um ajuste na rotina de envio de CT-e para o ERP. Seguem informações presentes no arquivo de novidades do DE em sua versão 5.8.3.14:
=================================
Retorno de CT-e de recebimento
A rotina de atualização de CT-e de recebimento foi ajustada para consistir se os CT-e possuem o arquivo XML salvo no banco de dados antes de enviar o retorno ao Gestão Empresarial | ERP, fazendo com que o lote de CT-e que seria enviado ao ERP via WebService não seja ignorado. Anteriormente, quando em um lote possuísse um CT-e sem o XML salvo no banco de dados do SDE era apresentada a seguinte mensagem no log Sde.log e o lote inteiro não era enviado: ERROR Senior.SapiensNfe.Processos.Service.Documento.RecebimentoRetornoErp - Erro ao integrar CT-e de recebimento ao ERP. System.InvalidOperationException: A sequência não contém elementos de correspondência.
Local: Senior Documentos Eletrônicos > CT-e
=================================
Neste caso, para ser utilizada rotina de integração de CT-e de entrada ao ERP, deve-se utilizar versão 5.8.3.14 ou superior do DE.