Para validar as regras definidas no manual do contribuinte, basta setar no dataset a propriedade ValidaRegrasNegocio. Essa propriedade indica ao dataset que quando o método Salvar for chamado, ele irá validar todos os campos do dataset, de acordo com o manual do contribuinte.

A vantagem de se validar as regras no dataset é que os erros são identificados antes de serem enviados para a Sefaz. Assim o contribuinte pode corrigí-los e nenhuma rejeição é retornada.

Caso alguma regra seja desrespeitada, o método Salvar retorna a exceção EspdMDFeRuleException, com a mensagem de erro no formato 

 

(exemplo da regra G005)

[G005]: 227 - Rejeição: Erro na composição do Campo ID.'#13# 10'Verifique o Campo: Id_3

No caso acima, o campo Id_3 deve ser corrigido.

Nem todas as regras podem ser implementadas, porque usam informações que só a Sefaz tem.

A versão atual implementa as regras do Manual versão 1.00, e as regras que não foram implementadas foram:

G001, G002, G003, G008, G034, G035, G036, G037, G038, G039, G040, G041, G042, G043