poster-prro-kit
Version:
Цей Kit призначений для роботи з PRRO, а саме для генерації XML документів для податкової, генерації фіскальних чеків для термопринтерів, генерації документів для PRRO в офлайн режимі, розрахунку податків та генераціі посилання на фіскальний чек в кабін
61 lines (52 loc) • 2.2 kB
JavaScript
import receipt from "receipt";
import defaultReceiptConfig from "./config/receipt.js";
import { prepareDataForPrintReceipt } from "./helpers/receiptData.js";
import { initReceipt } from "./helpers/receipt.js";
import getFiscalReceiptData from "./templateData/getFiscalReceiptData.js";
import renderFiscalReceipt from "./templateBlocks/htmlFiscalReceipt.js";
import getServiceTransactionReceiptData from "./templateData/getServiceTransactionReceiptData.js";
import getXZReportData from "./templateData/getXZReportData.js";
import renderXZReport from "./templateBlocks/htmlXZReport.js";
const generateHtmlFiscalReceipt = (data) => {
const receiptData = prepareDataForPrintReceipt(data);
const fiscalReceiptData = getFiscalReceiptData(receiptData, true);
return renderFiscalReceipt(fiscalReceiptData);
};
const generateHtmlServiceTransactionReceipt = (data) => {
const serviceTransactionReceiptData = getServiceTransactionReceiptData(
data,
true,
);
return renderFiscalReceipt(serviceTransactionReceiptData);
};
const generateTextFiscalReceipt = (data) => {
initReceipt(data.receiptConfig || defaultReceiptConfig);
const receiptData = prepareDataForPrintReceipt(data);
const fiscalReceiptData = getFiscalReceiptData(receiptData);
return receipt.create(fiscalReceiptData);
};
const generateTextServiceTransactionReceipt = (data) => {
initReceipt(data.receiptConfig || defaultReceiptConfig);
const serviceTransactionReceiptData = getServiceTransactionReceiptData(data);
return receipt.create(serviceTransactionReceiptData);
};
const generateXZReport = (data) => {
initReceipt(data.receiptConfig || defaultReceiptConfig);
const xzReportData = getXZReportData(data);
return receipt.create(xzReportData);
};
const generateHTMLXZReport = (data) => {
const xzReportData = getXZReportData(data, true);
return renderXZReport(xzReportData);
};
const getPreparedDataForPrintReceipt = (data) =>
prepareDataForPrintReceipt(data);
export {
generateTextFiscalReceipt,
generateHtmlFiscalReceipt,
generateTextServiceTransactionReceipt,
generateHtmlServiceTransactionReceipt,
generateXZReport,
generateHTMLXZReport,
getPreparedDataForPrintReceipt,
};