Problema com a transmissão do CT-e OS - ACBrCTe - Projeto ACBr
Problema com a transmissão do CT-e OS
By Túlio de Pádua,
May 20 in ACBrCTe
Go to solution Solved by Italo Giurizzato Junior, May 26
Túlio de Pádua 38
Pessoal, fui fazer um teste com o CT-e OS, e percebi que ao transmitir a rotina de envio do ACBr está gerando uma exceção, mesmo o conhecimento sendo autorizado. Testei com o programa de exemplo e o resultado também acontece:
Veja que mesmo o retorno estando correto (uso autorizado), o log trata como se houve erro de transmissão.
Debugando cheguei ao trecho abaixo, na rotina TratarResposta (TCTeRecepcao.TratarResposta)
// Verificar se a GTV-e foi autorizado com sucesso
Result := (FCTeRetornoSincrono.cStat = 100) and
(TACBrCTe(FPDFeOwner).CstatProcessado(FCTeRetornoSincrono.protCTe.cStat));
O problema é que esse result aí está ficando como falso, pois o cStat que está sendo verificado é o do lote, e o seu valor é 104. Para verificar o do CTe OS, deveria pegar o cStat do protCTe, algo assim:
Result := (FCTeRetornoSincrono.protCTe.cStat = 100) and
Se concordarem faço as alterações e anexo aqui, mas realmente parece um erro.
Com essa alteração resolveu o problema?
Se sim, favor anexar a unit alterada para que possamos analisar.
ACBrCTeWebServices.pas
Vou lhe pedir um favor se estiver ao seu alcance.
Emita um CT-e no modo assíncrono e outro no modo síncrono.
Depois emita um CT-e OS (este sempre vai ser no modo síncrono).
Por fim anexe o XML de retorno que consta que eles foram autorizados.
Bom dia Italo, eu anexei o do CTe OS e o do CTe assíncrono. CTe síncrono eu não tenho, pois consigo fazer emissão de CTe apenas para MG, que não tem webservice para síncrono ainda.