January 1
Использование скриптов драйвера ККТ Атол в xPos
Для начала - лично я не рекомендую использовать xPos в проде.
Тем более сейчас в одной лицензии и Frontol 6 и это недоразумение.
Но если у вас linux, то возможности перейти на F6 нет.
xPos с ККТ общается командами. В отличии от F6, который в драйвер шлет json-задание. Именно это не дает нам "в лоб" использовать скрипты драйвера.
Но! xPos поддерживает подключение через 1С БПО. А оно, в свою очередь, работает уже через json задания!
1. Подключаем ККТ через 1с БПО:
2. Настраиваем переменную среды, в которой указываем каталог со скриптами (путь приведен для примера может быть любым - хоть папка яндекс диска):
3. Немного модифицируем скрипт (например для продаж json_sell):
const receipt = require('fptr10_base_receipt');
const validator = require('fptr10_validators');
function validateTask(task) {
return receipt.validate(task);
}
function execute(task) {
var targetDay = new Date('2026-01-01'); // <= yyyy-MM-dd
var nowDay = new Date();
if (nowDay > targetDay) {
task = changeVat(task)
}
return receiptResult = receipt.executeReceipt(task);
}
function changeVat(task) {
for (var i = 0; i < task.items.length; i++) {
var item = task.items[i];
if (item.type !== "position")
continue;
if (validator.isMissing(item.tax))
continue;
if (item.tax.type === "vat20") {
item.tax.type = "vat22";
delete item.tax.sum;
}
if (item.tax.type === "vat120") {
item.tax.type = "vat122";
delete item.tax.sum;
};
}
return task;
}