You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Estoy intentando enviar el XML de Autofactura por el momento arroja el error indicado mas abajo, la de factura y nc funcionan correctamente:
"Exception in thread "main" java.lang.ArithmeticException: / by zero
at java.base/java.math.BigDecimal.divideAndRound(BigDecimal.java:4675)" abajo el mapeo del DE, me estaba fijando el codigo y veo que el valor del divisor toma del campo descuento, pero el documento no cuenta con descuento
XML:
final Logger logger = Logger.getLogger(App.class.toString());
LocalDateTime currentDate = LocalDateTime.now();
// Grupo A
DocumentoElectronico DE = new DocumentoElectronico();
DE.setdFecFirma(currentDate);
DE.setdSisFact((short) 1);
// Grupo B
TgOpeDE gOpeDE = new TgOpeDE();
gOpeDE.setiTipEmi(TTipEmi.NORMAL);
DE.setgOpeDE(gOpeDE);
// Grupo C
TgTimb gTimb = new TgTimb();
gTimb.setiTiDE(TTiDE.AUTOFACTURA_ELECTRONICA);
gTimb.setdNumTim(12560442);
gTimb.setdEst("001");
gTimb.setdPunExp("001");
gTimb.setdNumDoc("0000001");
gTimb.setdFeIniT(LocalDate.parse("2023-02-08"));
DE.setgTimb(gTimb);
// Grupo D
String FechaEmision = ("2023-04-28T17:55:34");
DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
fechaEmiDe = LocalDateTime.parse(FechaEmision, formatter);
TdDatGralOpe dDatGralOpe = new TdDatGralOpe();
dDatGralOpe.setdFeEmiDE(fechaEmiDe);
TgOpeCom gOpeCom = new TgOpeCom();
gOpeCom.setiTipTra(TTipTra.PRESTACION_SERVICIOS);
gOpeCom.setiTImp(TTImp.NINGUNO);
gOpeCom.setcMoneOpe(CMondT.PYG);
dDatGralOpe.setgOpeCom(gOpeCom);
TgEmis gEmis = new TgEmis();
gEmis.setdRucEm("80011000");
gEmis.setdDVEmi("0");
gEmis.setiTipCont(TiTipCont.PERSONA_JURIDICA);
gEmis.setdNomEmi("DE generado en ambiente de prueba - sin valor comercial ni fiscal");
gEmis.setdDirEmi("San Martin 620");
gEmis.setdNumCas("620");
gEmis.setcDepEmi(TDepartamento.CAPITAL);
gEmis.setcCiuEmi(1);
gEmis.setdDesCiuEmi("ASUNCION (DISTRITO)");
gEmis.setdTelEmi("021 688 6510");
gEmis.setdEmailE("[email protected]");
List<TgActEco> gActEcoList = new ArrayList<>();
TgActEco gActEco = new TgActEco();
gActEco.setcActEco("81290");
gActEco.setdDesActEco("OTRAS ACTIVIDADES DE LIMPIEZA DE EDIFICIOS E INDUSTRIAL");
gActEcoList.add(gActEco);
gEmis.setgActEcoList(gActEcoList);
dDatGralOpe.setgEmis(gEmis);
TgDatRec gDatRec = new TgDatRec();
gDatRec.setiNatRec(TiNatRec.NO_CONTRIBUYENTE);
gDatRec.setiTipIDRec(TiTipDocRec.CEDULA_PARAGUAYA);
gDatRec.setdNumIDRec("4420256");
gDatRec.setdNomRec("Diego Perez");
gDatRec.setiTiContRec(TiTipCont.PERSONA_FISICA);
gDatRec.setiTiOpe(TiTiOpe.B2C);
gDatRec.setiTiContRec(TiTipCont.PERSONA_FISICA);
gDatRec.setcPaisRec(PaisType.PRY);
dDatGralOpe.setgDatRec(gDatRec);
DE.setgDatGralOpe(dDatGralOpe);
// Grupo E
TgDtipDE gDtipDE = new TgDtipDE();
TgCamFE gCamFE = new TgCamFE();
gCamFE.setiIndPres(TiIndPres.OPERACION_ELECTRONICA);
gDtipDE.setgCamFE(gCamFE);
// Grupo Autofactura
TgCamAE gCamAE = new TgCamAE();
gCamAE.setiNatVen(TiNatVen.NO_CONTRIBUYENTE);
gCamAE.setiTipIDVen(TiTipDoc.CEDULA_PARAGUAYA);
gCamAE.setdNumIDVen("333333");
gCamAE.setdNomVen("Juan Perez");
gCamAE.setdDirVen("Las Palmas 720");
gCamAE.setdNumCasVen(720);
gCamAE.setcDepVen(TDepartamento.CAPITAL);
gCamAE.setcDisVen((short) 1);
gCamAE.setcCiuVen(1);
// Datos de la transaccion es decir donde se realizó el servicio
gCamAE.setcDepProv(TDepartamento.CAPITAL);
gCamAE.setcDisProv((short) 1);
gCamAE.setcCiuProv(1);
gDtipDE.setgCamAE(gCamAE);
// FIN GRUPO AUTOFACTURA
TgCamCond gCamCond = new TgCamCond();
gCamCond.setiCondOpe(TiCondOpe.CONTADO);
// gCamCond.setgPaConEIniList();
List<TgPaConEIni> gPaConEIniList = new ArrayList<>();
TgPaConEIni gPaConEIni = new TgPaConEIni();
gPaConEIni.setiTiPago(TiTiPago.CHEQUE);
gPaConEIni.setdMonTiPag(BigDecimal.valueOf(500000));
gPaConEIni.setcMoneTiPag(CMondT.PYG);
// Datos del cheque
TgPagCheq gPagCheq = new TgPagCheq();
gPagCheq.setdNumCheq("00000001");
gPagCheq.setdBcoEmi("Itau");
gPaConEIni.setgPagCheq(gPagCheq);
gPaConEIniList.add(gPaConEIni);
gCamCond.setgPaConEIniList(gPaConEIniList);
gDtipDE.setgCamCond(gCamCond);
int count = Item.size();
List<TgCamItem> gCamItemList = new ArrayList<>();
for (int i = 0; i < count; i++) {
TgCamItem gCamItem = new TgCamItem();
gCamItem.setdCodInt("SERV-00001");
// dDesProSer Descripcion Item
gCamItem.setdDesProSer("Consultoría");
gCamItem.setcUniMed(TcUniMed.UNI);
gCamItem.setdCantProSer(BigDecimal.valueOf(1));
// Seccion Campos que describen los precios, descuentos y valor total por ítem
TgValorItem gValorItem = new TgValorItem();
gValorItem.setdPUniProSer(BigDecimal.valueOf(500000));
TgValorRestaItem gValorRestaItem = new TgValorRestaItem();
gValorRestaItem.setdDescItem(BigDecimal.valueOf(50000));
gValorItem.setgValorRestaItem(gValorRestaItem);
gCamItem.setgValorItem(gValorItem);
TgCamIVA gCamIVA = new TgCamIVA();
gCamIVA.setiAfecIVA(TiAfecIVA.EXENTO);
gCamIVA.setdPropIVA(BigDecimal.valueOf(0));
gCamIVA.setdTasaIVA(BigDecimal.valueOf(0));
gCamItem.setgCamIVA(gCamIVA);
gCamItemList.add(gCamItem);
}
gDtipDE.setgCamItemList(gCamItemList);
DE.setgDtipDE(gDtipDE);
DE.setgTotSub(new TgTotSub());
logger.info("CDC del Documento Electrónico -> " + DE.obtenerCDC());
String CDC = DE.obtenerCDC();
String xml = DE.generarXml();
ImprimirXML(xml);
gracias de antemano
The text was updated successfully, but these errors were encountered:
Buenos dias,
Estoy intentando enviar el XML de Autofactura por el momento arroja el error indicado mas abajo, la de factura y nc funcionan correctamente:
"Exception in thread "main" java.lang.ArithmeticException: / by zero
at java.base/java.math.BigDecimal.divideAndRound(BigDecimal.java:4675)" abajo el mapeo del DE, me estaba fijando el codigo y veo que el valor del divisor toma del campo descuento, pero el documento no cuenta con descuento
XML:
final Logger logger = Logger.getLogger(App.class.toString());
gracias de antemano
The text was updated successfully, but these errors were encountered: