private void registrarRetenciones(Poliza p, List<GFacturaPorCompra> facs) {

    for (GFacturaPorCompra fac : facs) {

      for (GCompraDet det : fac.getCompra().getPartidas()) {
        if (det.getRetencion1() == RETENCION_HONORARIOS) {
          // honorarios=honorarios.add(det.getRetencion1Imp());
          // honorarios=det.getRetencion1Imp();
          PolizaDet a = p.agregarPartida();
          a.setCuenta(getCuenta("205"));
          a.setDescripcion(PolizaContableManager.IVA_RETENIDO_PENDIENTE);
          String pattern = "F:{0} {1}";
          String descripcion2 =
              MessageFormat.format(
                  pattern,
                  fac.getDocumento(),
                  fac.getCompra().getProveedor().getNombreRazon() + "aqui");
          a.setDescripcion2(descripcion2);

          a.setHaber(CantidadMonetaria.pesos(det.getRetencion2Imp().doubleValue()).amount());
          a.setReferencia(fac.getCompra().getProveedor().getNombreRazon());
          a.setReferencia2(fac.getCompra().getSucursal().getNombre());

          PolizaDet a2 = p.agregarPartida();
          a2.setCuenta(getCuenta("117"));
          a2.setDescripcion(PolizaContableManager.IVA_POR_ACREDITAR_RETENIDO);
          a2.setDebe(CantidadMonetaria.pesos(det.getRetencion1Imp().doubleValue()).amount());
          a2.setDescripcion2(fac.getCompra().getProveedor().getNombreRazon());
          a2.setReferencia(fac.getCompra().getProveedor().getNombreRazon());
          a2.setReferencia2(fac.getCompra().getSucursal().getNombre());

          PolizaDet a3 = p.agregarPartida();
          a3.setCuenta(getCuenta("118"));
          a3.setDescripcion("ISR RETENIDO PENDIENTE X PAGAR");
          a3.setHaber(CantidadMonetaria.pesos(det.getRetencion2Imp().doubleValue()).amount());
          a3.setDescripcion2(fac.getCompra().getProveedor().getNombreRazon());
          a3.setReferencia(fac.getCompra().getProveedor().getNombreRazon());
          a3.setReferencia2(fac.getCompra().getSucursal().getNombre());

          continue;
        } else if (det.getRetencion1() == RETENCION_TRANSPORTE) {
          // Cargo a Iva Acreditable Retenido
          PolizaDet a = p.agregarPartida();
          a.setCuenta(getCuenta("205"));
          a.setDescripcion(PolizaContableManager.IVA_RETENIDO_PENDIENTE);
          String pattern = "F:{0} {1}";
          String descripcion =
              MessageFormat.format(
                  pattern, fac.getDocumento(), fac.getCompra().getProveedor().getNombreRazon());
          a.setDescripcion2(descripcion);
          a.setHaber(CantidadMonetaria.pesos(det.getRetencion1Imp().doubleValue()).amount());
          a.setReferencia(fac.getCompra().getProveedor().getNombreRazon());
          a.setReferencia2(fac.getCompra().getSucursal().getNombre());

          // Abono a IVA RETENIDO
          PolizaDet a2 = p.agregarPartida();
          a2.setDescripcion(descripcion);
          a2.setCuenta(getCuenta("117"));
          a2.setDescripcion(PolizaContableManager.IVA_POR_ACREDITAR_RETENIDO);
          a2.setDebe(CantidadMonetaria.pesos(det.getRetencion1Imp().doubleValue()).amount());
          a2.setDescripcion2(descripcion);
          a2.setReferencia(fac.getCompra().getProveedor().getNombreRazon());
          a2.setReferencia2(fac.getCompra().getSucursal().getNombre());
        }
      }
    }
  }