• Este debate está vacío.
Viendo 4 entradas - de la 1 a la 4 (de un total de 4)
  • Autor
    Entradas
  • #32498

    Estimados,
    Quisiera saber cómo emitir facturas B sin que el IVA quede discriminado.
    Estuve revisando el foro y encontré 2 posibles soluciones:
    A) Editar el código fuente -> no tengo los conocimientos necesarios
    B) Editar/Crear un archivo en iReport -> no logro poner el monto final en cada línea del detalle

    Para explicarme mejor, un ejemplo en concreto:

    Code:
    PRODUCTO A C/IVA 10,5% 1 1105,00 1105,00
    PRODUCTO B C/IVA 10,5% 1 110,50 110,50
    PRODUCTO C C/IVA 21,0% 1 1210,00 1210,00

    TOTAL 2425,50

    Como se puede ver, existen 2 items que tributan al mismo porcentaje y otro, a uno distinto.

    #37850
    AMEBIS
    Participante

    La forma para hacer esto es con iReport.

    Por defecto Libertya no tiene ninguna logica diferente para el trato de facturas tanto A, B C, etc. Todas trabajan de manera igual.

    Saludos

    #37854
    amebis wrote:
    La forma para hacer esto es con iReport.

    Por defecto Libertya no tiene ninguna logica diferente para el trato de facturas tanto A, B C, etc. Todas trabajan de manera igual.

    Saludos

    Estuve jugando un poco con el iReport. Ya logro que me calcule bien los montos por línea, pero lo que no logro expresar bien es el subtotal en las facturas A.
    Es decir, el campo subtotal lo escondo cuando es una factura B usando lógica en la expresión del campo, pero cuando se trata de una factura A, el monto me lo expresa con todos los decimales ya que se debe al tipo de campo “BigDecimal”.
    Dicho eso, me faltaría encontrar una forma de redondear a 2 decimales.

    EDIT: Ya lo logré. Les paso cómo sería por si alguno lo necesita. Tal vez haya otra manera más fácil o rápida.

    Expresión del Precio Unitario

    Code:
    $P{NROCOMPROBANTE}.substring(0,1).equals(“A”) ? $F{PRECIO_UNITARIO} : $F{PRECIO_UNITARIO}.add($F{TAX_AMT})

    Expresión del Total de línea

    Code:
    $P{NROCOMPROBANTE}.substring(0,1).equals(“A”) ? $F{IMPORTE} : $F{CANTIDAD}.multiply($F{PRECIO_UNITARIO}.add($F{TAX_AMT}))

    Expresión del Subtotal

    Code:
    $P{NROCOMPROBANTE}.substring(0,1).equals(“A”) ? new DecimalFormat(“#0.##”).format($P{SUBTOTAL}) : “”

    La lógica que usé para esconder los campos que NO deben mostrarse en caso de Factura B es siempre el mismo. El mismo sería

    Code:
    $P{NROCOMPROBANTE}.substring(0,1).equals(“A”) ? SI ES FACTURA A HACE ESTO : SI ES FACTURA B HACE ESTO

    Saludos.

    #37855
    AMEBIS
    Participante

    Ya que vos pruebo creando un documento especifico para la factura B, donde no tenga nada que ver con la factura A.

    Fiajte en Tipo de Documento en el perfil de conf. de la compania.

    Saludos

Viendo 4 entradas - de la 1 a la 4 (de un total de 4)
  • Debes estar registrado para responder a este debate.