13773 - eDocs: Importação de CT-e 1.03
Problema: Descrição do Problema: ao efetuar a importação de um CT-e (Conhecimento de Transporte Eletrônico) de leiaute (schema) 1.03 no eDocs, a seguinte mensagem de erro é gerada no Log do Importador do eDocs, e o mesmo não é importado:
2014-05-12 17:42:17,859 [7] ERROR Senior.SapiensNfe.Processos.Service.Cte.ImportarNotaLegadoCte - Erro ao salvar ct-e:
System.NullReferenceException: Referência de objeto não definida para uma instância de um objeto.
em Senior.SapiensNfe.Processos.Service.Xml.Cte.Cte104.ConversorHelper.ParaModeloDados(TCTeInfCteInfCTeNorm normal)
em Senior.SapiensNfe.Processos.Service.Xml.Cte.Cte104.ConversorHelper.ParaModeloDados(TCTe cte)
em Senior.SapiensNfe.Processos.Service.Xml.Cte.Cte104.ConversorHelper.ParaModeloDados(cteProc cte)
em Senior.SapiensNfe.Processos.Service.Cte.ImportarNotaLegadoCte.ImportarCte(TipoProcessamento tipoProcessamento, TipoOperacao tipoOperacao, ArquivoProcessarXML arquivo, ArmazenamentoXml armazenamento)
Rotina / Tela: importação de CT-e 1.03 no eDocs.
Solução: Solução 13773: O eDocs não efetua importação de CT-e versão 1.03.
A Senior incorporou o CT-e em seus sistemas a partir da versão de schema 1.04. Dessa forma todos os fontes e estrutura de dados foram feitos com base nessa versão. Posteriormente essas estruturas foram evoluídas para atender também as versões mais novas do CT-e como a 2.0.
Comparando-se os XSDs das versões 1.03 e 1.04 pode-se notar alterações em campos (nomes, obrigatoriedades, campos novos e remoção de outros). Dessa forma seria necessário alteração no modelo de dados para atender o leiaute antigo bem como todas as rotinas que acessam esses dados tais como: modelo de dados, impressão, filtros, telas, envio de e-mail, para que considerem os novos e antigos campos. Campos que existiam na versão 1.03 e foram removidos na 1.04, ou vice versa, perdem a referência dentro do sistema.
Entendemos que o cliente tem a obrigatoriedade de armazenar os seus XMLs antigos, mas isso pode ser feito em qualquer mídia física, não é necessário mantê-los dentro do DE. Desta forma, a gerência de produto ERP/eDocs decidiu por não implementar esta funcionalidade de armazenamento de CT-e 1.03 no sistema eDocs.
2014-05-12 17:42:17,859 [7] ERROR Senior.SapiensNfe.Processos.Service.Cte.ImportarNotaLegadoCte - Erro ao salvar ct-e:
System.NullReferenceException: Referência de objeto não definida para uma instância de um objeto.
em Senior.SapiensNfe.Processos.Service.Xml.Cte.Cte104.ConversorHelper.ParaModeloDados(TCTeInfCteInfCTeNorm normal)
em Senior.SapiensNfe.Processos.Service.Xml.Cte.Cte104.ConversorHelper.ParaModeloDados(TCTe cte)
em Senior.SapiensNfe.Processos.Service.Xml.Cte.Cte104.ConversorHelper.ParaModeloDados(cteProc cte)
em Senior.SapiensNfe.Processos.Service.Cte.ImportarNotaLegadoCte.ImportarCte(TipoProcessamento tipoProcessamento, TipoOperacao tipoOperacao, ArquivoProcessarXML arquivo, ArmazenamentoXml armazenamento)
Rotina / Tela: importação de CT-e 1.03 no eDocs.
Solução: Solução 13773: O eDocs não efetua importação de CT-e versão 1.03.
A Senior incorporou o CT-e em seus sistemas a partir da versão de schema 1.04. Dessa forma todos os fontes e estrutura de dados foram feitos com base nessa versão. Posteriormente essas estruturas foram evoluídas para atender também as versões mais novas do CT-e como a 2.0.
Comparando-se os XSDs das versões 1.03 e 1.04 pode-se notar alterações em campos (nomes, obrigatoriedades, campos novos e remoção de outros). Dessa forma seria necessário alteração no modelo de dados para atender o leiaute antigo bem como todas as rotinas que acessam esses dados tais como: modelo de dados, impressão, filtros, telas, envio de e-mail, para que considerem os novos e antigos campos. Campos que existiam na versão 1.03 e foram removidos na 1.04, ou vice versa, perdem a referência dentro do sistema.
Entendemos que o cliente tem a obrigatoriedade de armazenar os seus XMLs antigos, mas isso pode ser feito em qualquer mídia física, não é necessário mantê-los dentro do DE. Desta forma, a gerência de produto ERP/eDocs decidiu por não implementar esta funcionalidade de armazenamento de CT-e 1.03 no sistema eDocs.