use of ar.com.ergio.print.fiscal.FiscalPacket 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.FiscalPacket in project lar_361 by comitsrl.
the class HasarFiscalPrinter method cmdPrintAccountItem.
public FiscalPacket cmdPrintAccountItem(Date date, String docNumber, String description, BigDecimal debitAmount, BigDecimal creditAmount, Integer display) {
FiscalPacket cmd = createFiscalPacket(CMD_PRINT_ACCOUNT_ITEM);
int i = 1;
cmd.setDate(i++, date);
cmd.setText(i++, docNumber, 20, false);
cmd.setText(i++, description, 60, false);
cmd.setNumber(i++, debitAmount, 9, 2, false);
cmd.setNumber(i++, creditAmount, 9, 2, false);
cmd.setNumber(i++, display, true);
return cmd;
}
use of ar.com.ergio.print.fiscal.FiscalPacket in project lar_361 by comitsrl.
the class HasarFiscalPrinter method cmdOpenDNFH.
public FiscalPacket cmdOpenDNFH(String docType, String identification) {
FiscalPacket cmd = createFiscalPacket(CMD_OPEN_DNFH);
int i = 1;
cmd.setText(i++, docType, false);
cmd.setText(i++, "T", true);
cmd.setText(i++, identification, true);
return cmd;
}
use of ar.com.ergio.print.fiscal.FiscalPacket in project lar_361 by comitsrl.
the class HasarFiscalPrinter method cmdGetFantasyName.
public FiscalPacket cmdGetFantasyName(int line) {
FiscalPacket cmd = createFiscalPacket(CMD_GET_FANTASY_NAME);
int i = 1;
cmd.setNumber(i++, line, false);
return cmd;
}
use of ar.com.ergio.print.fiscal.FiscalPacket 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;
}
}
Aggregations