Search in sources :

Example 1 with CreditNote

use of ar.com.ergio.print.fiscal.document.CreditNote in project lar_361 by comitsrl.

the class FiscalDocumentPrint method printCreditNote.

/**
 * Impresión de una nota de crédito.
 *
 * @param document
 *            nota de crédito imprimible por el controlador fiscal creada a
 *            partir del documento oxp configurado. Dentro de este método se
 *            realiza un casting del documento parámetro hacia
 *            {@link CreditNote}, por lo tanto debe ser una instancia de esa
 *            clase, sino se producirá un error.
 * @param originalInvoice
 *            factura original del documento oxp configurado, si es null y
 *            el documento parámetro también, se verifica si el documento
 *            oxp configurado contiene una factura original, en ese caso la
 *            obtiene de la BD.
 */
private void printCreditNote(final Document document, final MInvoice originalInvoice) throws FiscalPrinterStatusError, FiscalPrinterIOException, Exception {
    MInvoice mInvoice = (MInvoice) getOxpDocument();
    // Se valida el documento OXP.
    validateOxpDocument(mInvoice);
    CreditNote creditNote = document != null ? (CreditNote) document : createCreditNote(mInvoice, originalInvoice);
    // Se manda a imprimir la nota de crédito a la impresora fiscal.
    getFiscalPrinter().printDocument(creditNote);
    // Se actualizan los datos de la nota de crédito de oxp.
    saveDocumentData(mInvoice, creditNote);
}
Also used : CreditNote(ar.com.ergio.print.fiscal.document.CreditNote) MInvoice(org.compiere.model.MInvoice)

Example 2 with CreditNote

use of ar.com.ergio.print.fiscal.document.CreditNote in project lar_361 by comitsrl.

the class FiscalDocumentPrint method createCreditNote.

/**
 * Crea una nota de crédito imprimible por un controlador fiscal a partir de
 * una factura oxp parámetro. La factura original parámetro permite obtener
 * el nro de factura original.
 *
 * @param mInvoice
 *            factura oxp
 * @param originalInvoice
 *            factura original, si es null y la factura oxp parámetro
 *            contiene seteado una factura original dentro del campo
 *            C_Invoice_Orig_ID se busca desde la BD.
 * @return nota de crédito imprimible por un controlador fiscal
 */
public CreditNote createCreditNote(final MInvoice mInvoice, final MInvoice originalInvoice) {
    CreditNote creditNote = new CreditNote();
    // Se asigna el cliente.
    creditNote.setCustomer(getCustomer(mInvoice.getC_BPartner_ID()));
    // Se asigna la letra de la nota de crédito.
    creditNote.setLetter(LAR_Utils.getLetter(mInvoice));
    // Se asigna el número de factura original.
    String origInvoiceNumber = null;
    MInvoice mOriginalInvoice = originalInvoice;
    // una factura original seteada entonces la busco
    if (mOriginalInvoice == null && mInvoice.get_ValueAsInt("Source_Invoice_ID") != 0) {
        mOriginalInvoice = new MInvoice(ctx, mInvoice.get_ValueAsInt("Source_Invoice_ID"), getTrxName());
    }
    // original
    if (mOriginalInvoice != null) {
        origInvoiceNumber = mOriginalInvoice.getDocumentNo();
        // el documentNo como número de factura original.
        if (origInvoiceNumber.length() == 13) {
            // El formato es: PPPP-NNNNNNNN, Ej: 0001-00000023
            origInvoiceNumber = origInvoiceNumber.substring(1, 5) + "-" + origInvoiceNumber.substring(5, 13);
        }
    }
    creditNote.setOriginalDocumentNo(origInvoiceNumber);
    // Se agregan las líneas de la nota de crédito al documento.
    loadDocumentLines(mInvoice, creditNote);
    return creditNote;
}
Also used : CreditNote(ar.com.ergio.print.fiscal.document.CreditNote) MInvoice(org.compiere.model.MInvoice)

Aggregations

CreditNote (ar.com.ergio.print.fiscal.document.CreditNote)2 MInvoice (org.compiere.model.MInvoice)2