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);
}
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;
}
Aggregations