Página 1 de 1

Validações Sefaz

Enviado: 20 Nov 2015 11:45
por JoséQuintas
Tenho uma classe que uso pra importar documentos.
Uso "meus nomes", e não os do governo.

Tava aqui pensando se não seria interessante usar pra gerar XMLs, ou até mesmo pra acrescentar as mesmas regras de validação usadas pela Sefaz.
Ao invés de esperar o retorno da Sefaz, já teria a mesma validação prévia.

Se pensar direito, implementando regras futuras daria até pra ir validando antes mesmo de entrar em produção e já antecipar ajustes.
Num caso destes, o aplicativo apenas emitiria um alerta para o cliente, já avisando sobre informações que ele poderia ir providenciando.

Apenas idéia, não sei se na prática vale a pena esse trabalho extra.
Alguém implementou as regras do governo no aplicativo?

Validações Sefaz

Enviado: 22 Nov 2015 16:12
por rubens
José...
Acho que o maior problema enfrentado hoje com o sefaz é os tais erros desconhecidos.... Pelos testes aqui o maior problema é quando dá a porcaria do timeout.. Você não sabe em que pé o negócio parou...
Já cheguei a pegar até três respostas diferentes para o mesmo problema.
Nem sempre é muito claro esse retorno. Daí você faz uma verificação e vem outra, daí você já não consegue mais reproduzir o erro para testar novamente e ele provavelmente só vai ocorrer no cliente em produção.
Eu optei entre os cstat mais usados 100,102,102,103 e 135 e acho que 217. Saiu fora destes exibe a mensagem do retorno exatamente do jeito que ela veio. Se o usuário não der conta de 'decifrar' ele me avisa.
Mas a sua idéia é boa. Como funcionaria isso? No meu caso ainda uso acbr, eu teria que ler o xml gerado pelo acbr para resolver o problema ?

Abcs...

Rubens

Validações Sefaz

Enviado: 22 Nov 2015 19:48
por JoséQuintas
De alguma forma você gera alguma coisa para o ACBR.

A classe que uso contém os dados da NFe (no momento só a parte que preciso).

Pra carregar dados pra classe:

Código: Selecionar todos

oNFe := NFEClass():New()
oNFE:Emitente:Cnpj := "999999"
oNFE:Emitente:Nome := "xxxxx"
oNFE:Produto(1):Cst := "00"
...
As possibilidades da classe são muitas:

Código: Selecionar todos

oNFE := ImportaXml( "arquivo.xml" ) // atualmente uso esta parte
oNFE := ImportaTxt( "arquivo.txt" )
ValidacaoSefaz( oNFe )
GeraXml( oNFe )
GeraTxt( oTxt )
Hoje gero o txt/xml diretamente no aplicativo sem a classe.
Não sei se vale a pena mexer nisso pra acrescentar a validação.
À primeira vista parece muito trabalho pra pouca coisa.