bigdata-mx / factura-electronica

Librería de componentes Java para el desarrollo de aplicaciones de Factura Electrónica (CFDI)
Apache License 2.0
94 stars 107 forks source link

Complemento de Pago #201

Open acordovar opened 5 years ago

acordovar commented 5 years ago

¿Alguien me puede mostrar cómo implementar los Complementos de Pagos? De antemano, gracias!

hugo-haro commented 5 years ago
private Comprobante.Complemento createPago(ObjectFactory of) throws Exception {
    mx.bigdata.sat.common.pagos.schema.ObjectFactory of2 = new mx.bigdata.sat.common.pagos.schema.ObjectFactory();
    Comprobante.Complemento c1 = of.createComprobanteComplemento();

    mx.bigdata.sat.common.pagos.schema.Pagos pagos = of2.createPagos();
    mx.bigdata.sat.common.pagos.schema.Pagos.Pago pago = of2.createPagosPago();
    mx.bigdata.sat.common.pagos.schema.Pagos.Pago.DoctoRelacionado doctoRelacionado;

    pagos.setVersion(Version());
    pago.setFechaPago(FechaPago());
    pago.setFormaDePagoP(FormaDePagoP());
    pago.setMonedaP(MonedaP());
    pago.setMonto(Monto());

    if(pago.getMonedaP().equals(CMonedaPago.USD)){
        pago.setTipoCambioP(TipoDeCambioP());
    }

    for (DocumentoRealacionado dr : DocumentosRelacionados()) {
        doctoRelacionado = of2.createPagosPagoDoctoRelacionado();
        doctoRelacionado.setIdDocumento(dr.getUuidDR());
        doctoRelacionado.setMonedaDR(dr.getMonedaDR());
        doctoRelacionado.setMetodoDePagoDR(dr.getMetodoDePagoDR());
        doctoRelacionado.setNumParcialidad(dr.getNumParcialidad());
        doctoRelacionado.setImpSaldoAnt(dr.getImpSaldoAnt());
        doctoRelacionado.setImpPagado(dr.getImpPagado());
        doctoRelacionado.setImpSaldoInsoluto(dr.getImpSaldoInsoluto());

        pago.getDoctoRelacionado().add(doctoRelacionado);
    }

    pagos.getPago().add(pago);

    c1.getAny().add(pagos);
    return c1;
}

Espero te sirva de algo @acordovar

acordovar commented 5 years ago

Gracias Hugo, muy amable! Ya logré hacerlo.

Saludos!


De: Hugo Haro notifications@github.com Enviado: Tuesday, September 25, 2018 2:57:34 PM Para: bigdata-mx/factura-electronica CC: acordovar; Mention Asunto: Re: [bigdata-mx/factura-electronica] Complemento de Pago (#201)

private Comprobante.Complemento createPago(ObjectFactory of) throws Exception { mx.bigdata.sat.common.pagos.schema.ObjectFactory of2 = new mx.bigdata.sat.common.pagos.schema.ObjectFactory(); Comprobante.Complemento c1 = of.createComprobanteComplemento(); mx.bigdata.sat.common.pagos.schema.Pagos pagos = of2.createPagos(); mx.bigdata.sat.common.pagos.schema.Pagos.Pago pago = of2.createPagosPago(); mx.bigdata.sat.common.pagos.schema.Pagos.Pago.DoctoRelacionado doctoRelacionado; pagos.setVersion(Version()); pago.setFechaPago(FechaPago()); pago.setFormaDePagoP(FormaDePagoP()); pago.setMonedaP(MonedaP()); pago.setMonto(Monto()); if(pago.getMonedaP().equals(CMonedaPago.USD)){ pago.setTipoCambioP(TipoDeCambioP()); } for (DocumentoRealacionado dr : DocumentosRelacionados()) { doctoRelacionado = of2.createPagosPagoDoctoRelacionado(); doctoRelacionado.setIdDocumento(dr.getUuidDR()); doctoRelacionado.setMonedaDR(dr.getMonedaDR()); doctoRelacionado.setMetodoDePagoDR(dr.getMetodoDePagoDR()); doctoRelacionado.setNumParcialidad(dr.getNumParcialidad()); doctoRelacionado.setImpSaldoAnt(dr.getImpSaldoAnt()); doctoRelacionado.setImpPagado(dr.getImpPagado()); doctoRelacionado.setImpSaldoInsoluto(dr.getImpSaldoInsoluto()); pago.getDoctoRelacionado().add(doctoRelacionado); } pagos.getPago().add(pago); c1.getAny().add(pagos); return c1; }

Espero te sirva de algo @acordovarhttps://github.com/acordovar

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/bigdata-mx/factura-electronica/issues/201#issuecomment-424480122, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AF_5gl3J20ugbr4d4cyuxROK8Nafo9SSks5ueoqugaJpZM4W3jRD.