Login Registre-se
Multiplos Pagamentos NFC-e 4.0  XML
Índice dos Fóruns » NF-e / NFS-e / CT-e / CF-e / Certificados Digitais
Autor Mensagem
gustavoalves1993

JavaC Membro

Membro desde: 02/01/2017 15:44:37
Mensagens: 18
Offline

Olá a todos, na NFC-e 3.10 eu mandava a forma de pagamento sem precisar passar um índice ou coisa do tipo, quando eu tinha que efetuar uma NFC-e com por exemplo 3 pagamentos eu apenas preenchia os campos de acordo com cada pagamento e pronto. agora na NFC-e 4.0 um cliente foi mandar uma venda com 2 pagamentos e ele sempre salva somente o ultimo pagamento, pro exemplo:

VENDA 199,99
detPag.setTPag("01");
detPag.setVPag("99.99");
pag.getDetPag().add(detPag);

detPag.setTPag("04");
detPag.setVPag("100.00);
card.setTpIntegra("2");
card.setCNPJ(cnpj);
card.setTBand("01");
card.setCAut("00001");
detPag.setCard(card);
pag.getDetPag().add(detPag);

pag.getDetPag().add(detPag);

Ele passa somente o ultimo pagamento no envio, e não os dois juntos sendo assim ele me retorna o erro: "Rejeição: Total dos pagamentos menor que o total da nota"

eu tentei passar da seguinte forma

VENDA 199,99
detPag.setTPag("01");
detPag.setVPag("99.99");
pag.getDetPag().add(i, detPag);

detPag.setTPag("04");
detPag.setVPag("100.00);
card.setTpIntegra("2");
card.setCNPJ(cnpj);
card.setTBand("01");
card.setCAut("00001");
detPag.setCard(card);
pag.getDetPag().add(i, detPag);

porém ao tentar entrar no segundo pagamento ele da o seguinte erro: "Index:1, Size:0"

o que tenho que mudar para aceitar multiplos pagamentos na NFC-e 4.0?

Obrigado desde já
naiteon

JavaC Membro

Membro desde: 26/07/2018 04:55:26
Mensagens: 9
Offline

Oi Gustavo, tudo bem? O erro tu está recebendo pois somente o último pagamento está sendo considerado.

O motivo disto é que você instanciou um objeto da classe DetPag e o utilizou 2 vezes. O certo seria instanciar 2 objetos DetPag ex.:

// primeiro detalhe de pagamento
Pag.DetPag detPag1 = new Pag.DetPag();
detPag1.setTPag("01");
detPag1.setVPag("99.99");

// Instancia Segundo detalhe de pagamento
Pag.DetPag detPag2 = new Pag.DetPag();
detPag2.setTPag("04");
detPag2.setVPag("100.00);

// instancia um card
Card card = new Card();
card.setTpIntegra("2");
card.setCNPJ(cnpj);
card.setTBand("01");
card.setCAut("00001");

// adiciona o card ao detalhe de pagamento 2
detPag2.setCard(card);


// adiciona os 2 detalhes aos pagamentos
pag.getDetPag().add(detPag1);
pag.getDetPag().add(detPag2);

Abraço
gustavoalves1993

JavaC Membro

Membro desde: 02/01/2017 15:44:37
Mensagens: 18
Offline

Era isso mesmo, deu certo agora obrigado pela ideia e pela ajuda.
 
Índice dos Fóruns » NF-e / NFS-e / CT-e / CF-e / Certificados Digitais
Ir para:   
Powered by JForum 2.1.9 © JForum Team