Membros Pro Datacaixa Postado 1 Março Membros Pro Compartilhar Postado 1 Março Boa tarde! Tenho o código abaixo para enviar a NF-e e gostaria de adicionar uma tratativa caso a SEFAZ retornasse Consumo Indevido, para que dessa forma eu bloquearia o usuário de alterar a nota e ficaria com status "Enviando" para o usuário tentar novamente mais tarde. Como posso saber que o retorno foi Consumo Indevido da SEFAZ? Faria sentido tentar consultar/enviar essa nota mais tarde? try dmACBr.ACBrNFe1.Enviar('1', False, False); pAtualizarTela; except on E : Exception do begin if E.Message <> '' then iMessageBox(handle,pchar( E.Message ),'Rejeição',MB_OK+MB_ICONWARNING) else iMessageBox(handle,pchar( E.Message + #13 + 'Sem retorno do Método: Enviar'+#13+'Experimente colocar SSL3 e TLS desmarcado no IE.' ),'Rejeição',MB_OK+MB_ICONWARNING); TVENDAS.Edit; if copy(E.Message,1,14) <> 'O tempo limite' then TVENDASSITUACAO.AsString := 'Rejeitada'; TVENDASMOTIVO_REJEICAO.AsString := Copy(E.Message,1,1500); TVENDAS.Post; dmConexao.IBTCONEXAO.CommitRetaining; Link para o comentário Compartilhar em outros sites More sharing options...
Consultores Solution Italo Giurizzato Junior Postado 2 Março Consultores Solution Compartilhar Postado 2 Março Bom dia @Datacaixa, Não se é para todos os DF-e, mas para a NF-e a rejeição "Consumo Indevido" tem como código 656. No campo cStat temos 656 e no campo xMotivo temos a mensagem "Rejeição: Consumo Indevido". Após tentar emitir a nota através do método Enviar, você pode ler esses dois campos. Se cStat for 656 você faz com que a aplicação não deixe o usuário tentar novamente. 1 Italo Giurizzato Junior Ajude o Projeto ACBr crescer - Assine o SAC Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP Araraquara - A era dos Trólebus Link para o comentário Compartilhar em outros sites More sharing options...
Recommended Posts