8221 - Arquivo XML de cancelamento de NFS-e não integra no e-Docs
Problema: Descrição do Problema: Ao solicitar o cancelamento de uma NFS-e no ERP, o arquivo XML é gerado, porém o mesmo não é integrado no DE. No Log Sde.log a seguinte mensagem é informada:
2013-05-14 14:45:54,398 [6] ERROR NHibernate.AdoNet.AbstractBatcher - Could not execute query: INSERT INTO N140CAN (NUMNFS, DATCAN, IDECAN, SITCAN, DATERP, CODCAN, MOTCAN, CODFIL, SEQNFS) VALUES (@p0, @p1, @p2, @p3, @p4, @p5, @p6, @p7, @p8); select SCOPE_IDENTITY()
System.Data.SqlClient.SqlException: Cannot insert the value NULL into column 'IDECAN', table 'SAPIENSNFE.dbo.N140CAN'; column does not allow nulls. INSERT fails.
The statement has been terminated.
em System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
em System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
em System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
em System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
em System.Data.SqlClient.SqlDataReader.get_MetaData()
em System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
em System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
em System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
em System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
em System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
em System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
em System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader()
em NHibernate.AdoNet.AbstractBatcher.ExecuteReader(IDbCommand cmd)
Rotina / Tela: NFS-e > Emissão > Cancelamento
Solução: Solução: O problema indica que a chave de acesso da NFS-e não está sendo gerada no arquivo XML de cancelamento. A chave de acesso deve ser levada na TAG após o identificador Id. A chave de acesso é obrigatória para a integração do arquivo no DE.
Exemplo da TAG correta:
Deve ser verificado no ERP se o cliente utiliza os identificadores de regras GER-000ABRASF1 e GER-000ABRASF2 para gerar um arquivo XML customizado, pois as regras ligadas à estes identificadores devem estar impactando na geração do arquivo XML de cancelamento.
2013-05-14 14:45:54,398 [6] ERROR NHibernate.AdoNet.AbstractBatcher - Could not execute query: INSERT INTO N140CAN (NUMNFS, DATCAN, IDECAN, SITCAN, DATERP, CODCAN, MOTCAN, CODFIL, SEQNFS) VALUES (@p0, @p1, @p2, @p3, @p4, @p5, @p6, @p7, @p8); select SCOPE_IDENTITY()
System.Data.SqlClient.SqlException: Cannot insert the value NULL into column 'IDECAN', table 'SAPIENSNFE.dbo.N140CAN'; column does not allow nulls. INSERT fails.
The statement has been terminated.
em System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
em System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
em System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
em System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
em System.Data.SqlClient.SqlDataReader.get_MetaData()
em System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
em System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
em System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
em System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
em System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
em System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
em System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader()
em NHibernate.AdoNet.AbstractBatcher.ExecuteReader(IDbCommand cmd)
Rotina / Tela: NFS-e > Emissão > Cancelamento
Solução: Solução: O problema indica que a chave de acesso da NFS-e não está sendo gerada no arquivo XML de cancelamento. A chave de acesso deve ser levada na TAG após o identificador Id. A chave de acesso é obrigatória para a integração do arquivo no DE.
Exemplo da TAG correta:
Deve ser verificado no ERP se o cliente utiliza os identificadores de regras GER-000ABRASF1 e GER-000ABRASF2 para gerar um arquivo XML customizado, pois as regras ligadas à estes identificadores devem estar impactando na geração do arquivo XML de cancelamento.