Skip to content
This repository has been archived by the owner on Sep 11, 2021. It is now read-only.

Operação TEF deve ser limitada a Saldo restante a Pagar #4

Open
victorldomingues opened this issue Dec 18, 2018 · 2 comments
Open

Comments

@victorldomingues
Copy link

Seguindo o mesmo exemplo do ACBr.Net.TEF.Demo

tenho o evento TefOnOnInfoVenda configurado como:

switch (e.Operacao)
            {
                case InfoVenda.SubTotal:
                    e.Valor = 0;
                    break;
                case InfoVenda.EstadoVenda:
                    e.EstadoVenda = EstadoVenda.NaoFiscal;
                    break;
                case InfoVenda.TotalAPagar:
                    e.Valor = 10;
                    break;
                default:
                    throw new ArgumentOutOfRangeException();
            }

E a chamada para CRT também ficou da mesma forma do ACBr.Net.TEF.Demo

tef.CRT(10, "1");

ao executar o CRT retorna a seguinte exceção :

Unhandled Exception: ACBr.Net.Core.ACBrException: Operação TEF deve ser limitada a Saldo restante a Pagar
   at ACBr.Net.Core.Exceptions.Guard.Against[TException](Boolean assertion, String message, Action`1 beforeThowAction)
   at ACBr.Net.TEF.TEFBase.VerificarTransacaoPagamento(Decimal valor)
   at ACBr.Net.TEF.Gerenciadores.TEFCliSiTef.CRT(Decimal valor, String indicePagamento, String documentoVinculado, Int32 moeda)

Na operação subtotal, passando com o valor 10 também ocorre o mesmo erro.

Estou configurando de forma correta? Existe algum detalhe que estou deixando passar?

@ricardopdv
Copy link
Contributor

no caso, o subtotal e o saldo a pagar devem ser os mesmos
aconselho a atualizar antes de testar porque estamos fazendo algumas alteracoes

@victorldomingues
Copy link
Author

O Saldo seria um valor que devemos passar na integração, ou ele vem do simulador?

switch (e.Operacao)
            {
                case InfoVenda.SubTotal:
                    e.Valor = 10;
                    break;

                case InfoVenda.EstadoVenda:
                    e.EstadoVenda = EstadoVenda.NaoFiscal;
                    break;

                case InfoVenda.TotalAPagar:
                    e.Valor = 10;
                    break;

                default:
                    throw new ArgumentOutOfRangeException();

            }
            Console.WriteLine(e);
            Console.WriteLine($"estado ecf: {e.EstadoECF}");
            Console.WriteLine($"estado venda: {e.EstadoVenda}");
            Console.WriteLine($"valor: {e.Valor}");
            Console.WriteLine($"operacao: {e.Operacao}");

output

ACBr.Net.TEF.Events.ExibeMensagemEventArgs
operação: YesNo
mensagem: Confirma o teste de comunicacao com o SiTef em 127.0.0.1
result: None
Entrou no crt
ACBr.Net.TEF.Events.InfoVendaEventArgs
estado ecf:
estado venda: NaoFiscal
valor: 0
operacao: EstadoVenda
ACBr.Net.TEF.Events.InfoVendaEventArgs
estado ecf:
estado venda: Outro
valor: 10
operacao: SubTotal
ACBr.Net.TEF.Events.InfoVendaEventArgs
estado ecf:
estado venda: Outro
valor: 10
operacao: TotalAPagar

Unhandled Exception: ACBr.Net.Core.ACBrException: Operação TEF deve ser limitada a Saldo restante a Pagar
at ACBr.Net.Core.Exceptions.Guard.Against[TException](Boolean assertion, String message, Action`1 beforeThowAction)
at ACBr.Net.TEF.TEFBase.VerificarTransacaoPagamento(Decimal valor)
at ACBr.Net.TEF.Gerenciadores.TEFCliSiTef.CRT(Decimal valor, String indicePagamento, String documentoVinculado, Int32 moeda)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants