Для подключения интеграционного компонента ДТО10 к проекту необходимо подключить библиотеку libfptr10.jar, а также обеспечить нахождение нативных компонентов (libfptr10.so / fptr.dll и их зависимостей) в java.library.path.
package ru.atol;
import ru.atol.drivers10.fptr.Fptr;
import ru.atol.drivers10.fptr.IFptr;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Main {
public static void main(String[] args) {
IFptr fptr = new Fptr();
fptr.setSingleSetting(IFptr.LIBFPTR_SETTING_PORT, String.valueOf(IFptr.LIBFPTR_PORT_USB));
fptr.setSingleSetting(IFptr.LIBFPTR_SETTING_LIBRARY_PATH, System.getProperty("java.library.path"));
fptr.applySingleSettings();
fptr.open();
fptr.setParam(1021, "Иванов И.И.");
fptr.setParam(1203, "500100732259");
fptr.operatorLogin();
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_SELL);
fptr.setParam(1008, "+79161234567");
fptr.openReceipt();
fptr.setParam(IFptr.LIBFPTR_PARAM_COMMODITY_NAME, "Чипсы LAYS");
fptr.setParam(IFptr.LIBFPTR_PARAM_PRICE, 73.99);
fptr.setParam(IFptr.LIBFPTR_PARAM_QUANTITY, 5);
fptr.setParam(IFptr.LIBFPTR_PARAM_TAX_TYPE, IFptr.LIBFPTR_TAX_VAT18);
fptr.setParam(1212, 1);
fptr.setParam(1214, 7);
fptr.registration();
fptr.setParam(IFptr.LIBFPTR_PARAM_SUM, 369.0);
fptr.receiptTotal();
fptr.setParam(IFptr.LIBFPTR_PARAM_PAYMENT_TYPE, IFptr.LIBFPTR_PT_CASH);
fptr.setParam(IFptr.LIBFPTR_PARAM_PAYMENT_SUM, 1000);
fptr.payment();
if (fptr.closeReceipt() < 0) {
fptr.checkReceiptClosed();
if (!fptr.getParamBool(IFptr.LIBFPTR_PARAM_RECEIPT_CLOSED)) {
}
}
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_LAST_DOCUMENT);
fptr.fnQueryData();
System.out.println(String.format("Fiscal Sign = %s", fptr.getParamString(IFptr.LIBFPTR_PARAM_FISCAL_SIGN)));
System.out.println(String.format("Fiscal Document Number = %d", fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER)));
fptr.beginNonfiscalDocument();
fptr.setParam(IFptr.LIBFPTR_PARAM_TEXT, "ИНН: 111111111111 КПП: 222222222");
fptr.setParam(IFptr.LIBFPTR_PARAM_ALIGNMENT, IFptr.LIBFPTR_ALIGNMENT_CENTER);
fptr.printText();
fptr.setParam(IFptr.LIBFPTR_PARAM_TEXT, "КАССА: 1 СМЕНА: 11");
fptr.setParam(IFptr.LIBFPTR_PARAM_ALIGNMENT, IFptr.LIBFPTR_ALIGNMENT_CENTER);
fptr.printText();
fptr.setParam(IFptr.LIBFPTR_PARAM_TEXT, "ЧЕК: 314 ДАТА: 20.11.2017 15:39");
fptr.setParam(IFptr.LIBFPTR_PARAM_ALIGNMENT, IFptr.LIBFPTR_ALIGNMENT_CENTER);
fptr.printText();
fptr.setParam(IFptr.LIBFPTR_PARAM_BARCODE, "https://check.egais.ru?id=cf1b1096-3cbc-11e7-b3c1-9b018b2ba3f7");
fptr.setParam(IFptr.LIBFPTR_PARAM_BARCODE_TYPE, IFptr.LIBFPTR_BT_QR);
fptr.setParam(IFptr.LIBFPTR_PARAM_ALIGNMENT, IFptr.LIBFPTR_ALIGNMENT_CENTER);
fptr.setParam(IFptr.LIBFPTR_PARAM_SCALE, 5);
fptr.printBarcode();
fptr.printText();
fptr.setParam(IFptr.LIBFPTR_PARAM_TEXT, "https://check.egais.ru?id=cf1b1096-3cbc-11e7-b3c1-9b018b2ba3f7");
fptr.setParam(IFptr.LIBFPTR_PARAM_ALIGNMENT, IFptr.LIBFPTR_ALIGNMENT_CENTER);
fptr.setParam(IFptr.LIBFPTR_PARAM_TEXT_WRAP, IFptr.LIBFPTR_TW_CHARS);
fptr.printText();
fptr.printText();
fptr.setParam(IFptr.LIBFPTR_PARAM_TEXT,
"10 58 1c 85 bb 80 99 84 40 b1 4f 35 8a 35 3f 7c " +
"78 b0 0a ff cd 37 c1 8e ca 04 1c 7e e7 5d b4 85 " +
"ff d2 d6 b2 8d 7f df 48 d2 5d 81 10 de 6a 05 c9 " +
"81 74");
fptr.setParam(IFptr.LIBFPTR_PARAM_ALIGNMENT, IFptr.LIBFPTR_ALIGNMENT_CENTER);
fptr.setParam(IFptr.LIBFPTR_PARAM_TEXT_WRAP, IFptr.LIBFPTR_TW_WORDS);
fptr.printText();
fptr.endNonfiscalDocument();
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_CLOSE_SHIFT);
fptr.report();
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_OFD_EXCHANGE_STATUS);
fptr.fnQueryData();
System.out.println(String.format("Unsent documents count = %d", fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENTS_COUNT)));
System.out.println(String.format("First unsent document number = %d", fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER)));
DateFormat df = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
System.out.println(String.format("First unsent document date = %s", df.format(fptr.getParamDateTime(IFptr.LIBFPTR_PARAM_DATE_TIME))));
fptr.close();
}
}