use of ar.com.ergio.print.fiscal.document.Customer in project lar_361 by comitsrl.
the class FiscalDocumentPrint method getCustomer.
/**
* Crea un <code>Customer</code> a partir de una entidad comercial.
* @param bPartnerID ID de la entidad comercial.
* @return el cliente correspondiente.
*/
public Customer getCustomer(int bPartnerID) {
// TODO - Review this implementation
MBPartner bPartner = new MBPartner(Env.getCtx(), bPartnerID, getTrxName());
Customer customer = new Customer();
if (bPartner != null) {
// Se asigna la categoría de iva del cliente.
LAR_TaxPayerType taxPayerType = LAR_TaxPayerType.getTaxPayerType(bPartner);
customer.setIvaResponsibility(traduceTaxPayerType(taxPayerType.getName()));
// TODO - Parametrize this method
MInvoice mInvoice = (MInvoice) getOxpDocument();
// Se asigna el nombre del cliente a partir del BPartner.
customer.setName(bPartner.getName());
// Se asigna el domicilio.
MLocation location = MLocation.getBPLocation(Env.getCtx(), mInvoice.getC_BPartner_Location_ID(), getTrxName());
customer.setLocation(location.toString());
// Bpartner.
if (bPartner.getTaxID() != null && !bPartner.getTaxID().trim().equals("")) {
customer.setIdentificationType(Customer.CUIT);
customer.setIdentificationNumber(bPartner.getTaxID());
}
}
return customer;
}
use of ar.com.ergio.print.fiscal.document.Customer in project lar_361 by comitsrl.
the class FiscalDocumentPrint method createDNFH.
private DNFH createDNFH(final MInOut shipment) {
final DNFH dnfh = new DNFH();
// Se asigna el cliente.
Customer customer = null;
final MBPartner bPartner = new MBPartner(Env.getCtx(), shipment.getC_BPartner_ID(), null);
if (bPartner != null) {
customer = new Customer();
// Se asigna la categoría de iva del cliente.
LAR_TaxPayerType taxPayerType = LAR_TaxPayerType.getTaxPayerType(bPartner);
customer.setIvaResponsibility(traduceTaxPayerType(taxPayerType.getName()));
// Se asigna el nombre del cliente a partir del BPartner.
customer.setName(bPartner.getName());
// Se asigna el domicilio.
final MLocation location = MLocation.getBPLocation(Env.getCtx(), shipment.getC_BPartner_Location_ID(), getTrxName());
customer.setLocation(location.toString());
// Se identifica al cliente con el C.U.I.T. configurado en el Bpartner.
if (bPartner.getTaxID() != null && !bPartner.getTaxID().trim().equals("")) {
customer.setIdentificationType(Customer.CUIT);
customer.setIdentificationNumber(bPartner.getTaxID());
}
}
dnfh.setCustomer(customer);
// Recupera el numero de copias a imprimir
int numberOfCopies = MSysConfig.getIntValue("LAR_Remitos_NumeroDeCopias", 0, Env.getAD_Client_ID(shipment.getCtx()));
dnfh.setNumberOfCopies(numberOfCopies);
// Cargar las lineas del remito
loadDNFHLines(shipment, dnfh);
return dnfh;
}
use of ar.com.ergio.print.fiscal.document.Customer in project lar_361 by comitsrl.
the class HasarFiscalPrinter method printDocument.
public void printDocument(final DNFH dnfh) throws FiscalPrinterStatusError, FiscalPrinterIOException, DocumentException {
final Customer customer = dnfh.getCustomer();
FiscalPacket response;
// Se valida la nota de crédito.
dnfh.validate();
try {
setCancelAllowed(false);
// ////////////////////////////////////////////////////////////
// Se setean los datos del comprador.
// Comando: @SetCustomerData
loadCustomerData(customer);
// ////////////////////////////////////////////////////////////
// Se abre un documento no fiscal homologado.
// Comando: @OpenDNFH
execute(cmdOpenDNFH(// no tiene letra
traduceDocumentType(Document.DT_SHIPMENT, dnfh.getLetter()), "x"));
setLastDocumentNo("");
setCancelAllowed(true);
setDocumentOpened(true);
// ////////////////////////////////////////////////////////////
// Se cargan los ítems del remito emitido.
// Comando: @PrintEmbarkItem
loadDocumentEmbarkLineItems(dnfh);
// ////////////////////////////////////////////////////////////
// Se cierra el comprobante no fiscal homologado.
// Comando: @CloseDNFH
response = execute(cmdCloseDNFH(dnfh.getNumberOfCopies()));
setDocumentOpened(false);
setCancelAllowed(false);
// Se obtiene el número del remito emitido.
setLastDocumentNo(response.getString(3));
dnfh.setDocumentNo(getLastDocumentNo());
// si tiene que finalizar la impresión o no
if (dnfh.isPrintEnded())
firePrintEnded();
} catch (FiscalPrinterIOException e) {
// Si ocurrió algún error se intenta cancelar el documento
// actual y se relanza la excepción.
cancelCurrentDocument();
throw e;
}
}
use of ar.com.ergio.print.fiscal.document.Customer in project lar_361 by comitsrl.
the class HasarFiscalPrinter method printDocument.
public void printDocument(CreditNote creditNote) throws FiscalPrinterStatusError, FiscalPrinterIOException, DocumentException {
Customer customer = creditNote.getCustomer();
FiscalPacket response;
// Se valida la nota de crédito.
creditNote.validate();
try {
setCancelAllowed(false);
// ////////////////////////////////////////////////////////////
// Se setea el número de comprobante original.
// Comando: @SetEmbarkNumber
execute(cmdSetEmbarkNumber(1, creditNote.getOriginalDocumentNo()));
// ////////////////////////////////////////////////////////////
// Se setean los datos del comprador.
// Comando: @SetCustomerData
loadCustomerData(customer);
// ////////////////////////////////////////////////////////////
// Se abre un documento no fiscal homologado.
// Comando: @OpenDNFH
execute(cmdOpenDNFH(traduceDocumentType(Document.DT_CREDIT_NOTE, creditNote.getLetter()), "x"));
setLastDocumentNo("");
setCancelAllowed(true);
setDocumentOpened(true);
// Comando: @PrintFiscalText
for (String observation : creditNote.getObservations()) {
execute(cmdPrintFiscalText(observation, null));
}
// ////////////////////////////////////////////////////////////
// Se cargan los ítems de la nota de crédito.
// Comando: @PrintLineItem
loadDocumentLineItems(creditNote);
// ////////////////////////////////////////////////////////////
// Se carga la percepción de la note de crédito
loadDocumentPerception(creditNote);
// ////////////////////////////////////////////////////////////
// Se cierra el comprobante no fiscal homologado.
// Comando: @CloseDNFH
response = execute(cmdCloseDNFH(null));
setDocumentOpened(false);
setCancelAllowed(false);
// Se obtiene el número de la nota de crédito emitida.
setLastDocumentNo(response.getString(3));
creditNote.setDocumentNo(getLastDocumentNo());
// Se indica al manejador de eventos que la impresión ha finalizado.
firePrintEnded();
} catch (FiscalPrinterIOException e) {
// Si ocurrió algún error se intenta cancelar el documento
// actual y se relanza la excepción.
cancelCurrentDocument();
throw e;
}
}
use of ar.com.ergio.print.fiscal.document.Customer in project lar_361 by comitsrl.
the class HasarFiscalPrinter method printDocument.
public void printDocument(DebitNote debitNote) throws FiscalPrinterStatusError, FiscalPrinterIOException, DocumentException {
Customer customer = debitNote.getCustomer();
FiscalPacket response;
// Se valida la nota de débito.
debitNote.validate();
try {
setCancelAllowed(false);
// ////////////////////////////////////////////////////////////
// Se setean los datos del comprador.
// Comando: @SetCustomerData
loadCustomerData(customer);
// Comando: @SetEmbarkNumber
if (debitNote.hasPackingSlipNumber())
execute(cmdSetEmbarkNumber(1, debitNote.getPackingSlipNumber()));
// ////////////////////////////////////////////////////////////
// Se abre el documento fiscal.
// Comando: @OpenFiscalReceipt
response = execute(cmdOpenFiscalReceipt(traduceDocumentType(Document.DT_DEBIT_NOTE, debitNote.getLetter())));
setLastDocumentNo("");
setCancelAllowed(true);
setDocumentOpened(true);
// Comando: @PrintFiscalText
for (String observation : debitNote.getObservations()) {
execute(cmdPrintFiscalText(observation, null));
}
// ////////////////////////////////////////////////////////////
// Se cargan los ítems de la nota de débito.
// Comando: @PrintLineItem
loadDocumentLineItems(debitNote);
// ////////////////////////////////////////////////////////////
// Se carga la percepción de la note de crédito
loadDocumentPerception(debitNote);
// ////////////////////////////////////////////////////////////
// Se cierra el comprobante fiscal.
// Comando: @CloseFiscalReceipt
response = execute(cmdCloseFiscalReceipt(null));
setDocumentOpened(false);
// Se obtiene el número de comprobante emitido.
setLastDocumentNo(response.getString(3));
debitNote.setDocumentNo(getLastDocumentNo());
// Se obtiene el número del CAI.
if (debitNote.getLetter().equals(Document.DOC_LETTER_A))
;
debitNote.setCAINumber(getCAINumber(response));
// Se indica al manejador de eventos que la impresión ha finalizado.
firePrintEnded();
} catch (FiscalPrinterIOException e) {
// Si ocurrió algún error se intenta cancelar el documento
// actual y se relanza la excepción.
cancelCurrentDocument();
throw e;
}
}
Aggregations