...
Блок кода |
---|
|
# Описание средства оплаты, использующего процессинг Сбербанк с выдачей наличных
# ПредарительноПредварительно необходимо настроить конфиг. файл sbrf_lin.conf или sbrf_win.conf.
{
"payment.sbrf": {
params : {
paymentId = 11 # Id средства оплаты. Уникальный код средства оплаты на кассе. Определяет порядок вывода списка средств оплаты на экран дисплея.
externalCode = "11" # Id средства оплаты для внешних систем. Не используется. Рекомендуется устанавливать значение равное paymentId.
currencyId = 0 # Параметр не изменять!
currencyCode = "RUB" # Параметр не изменять!
name = "Сбербанк Выдача наличных" # Название средства оплаты. Выводится на экран кассира, печатается в чеке и в отчётах.
timeout = 1000 # Время ожидания ответа от подсистем (в секундах). Параметр изменять не рекомендуется.
isMain = false
cashOut = true # Включение выдачи наличных на кассе через Сбербанк
cashOutMax = 10000 # Максимальная сумма доступная для выдачи (в рубляърублях)
cashOutMin = 100 # Минимальная сумма доступная для выдачи (в рублях)
cashOutMod = 100 # Кратность суммы доступной для выдачи (в рублях)
cashOutMoneyLeftMin = 1000 # Минимальный остаток наличных в кассе после выдачи наличных (в рублях)
sku = "CASHOUT" # Артикул товара для добавления в чек Расхода
}
}
} |
Следует предусмотреть, чтобы внешний и внутренний ID отличались от обычного ID Сбербанка.
...
Блок кода |
---|
|
if (!!cashOut) {
if (item.paymentAgent.agentType == 'broker') {
res += printString( alignLeftRight("ТИП АГЕНТА:", "КОМИССИОНЕР", " ", width));
}
else if (item.paymentAgent.agentType == 'agent') {
res += printString( alignLeftRight("ТИП АГЕНТА:", "АГЕНТ", " ", width));
}
else if (item.paymentAgent.agentType == 'bankAgent') {
res += printString( alignLeftRight("ТИП АГЕНТА:", "БАНК. ПЛ. АГЕНТ", " ", width));
}
res += printString( alignLeftRight("ТЛФ. ПЛ. АГЕНТА:", item.paymentAgent.paymentAgentPhoneNumber, " ", width));
res += printString( alignLeftRight("НАИМ. ОП. ПЕРЕВОДА:", item.paymentAgent.name, " ", width));
res += printString( alignLeftRight("ИНН ОП. ПЕРЕВОДА:", item.paymentAgent.inn, " ", width));
res += printString( alignLeftRight("ТЛФ. ОП. ПЕРЕВОДА:", item.paymentAgent.phoneNumber, " ", width));
if (item.paymentAgent.address.length > width - 19) {
res += printString( alignLeft("АДРЕС ОП. ПЕРЕВОДА:", " ", width));
res += printString( alignRight(item.paymentAgent.address, " ", width));
}
else {
res += printString( alignLeftRight("АДРЕС ОП. ПЕРЕВОДА:", item.paymentAgent.address, " ", width));
}
} |
- conf/applications/sale/scripts/receiptRebuilder_condensed.js
Блок кода |
---|
|
//находим объект с суммой кешаута
var cashOutObj;
var i = 0;
while(i < receiptObj.properties.length && receiptObj.properties[i]["id"] !== "CASH_OUT_AMOUNT") i++;
if(i < receiptObj.properties.length) cashOutObj = receiptObj.properties[i];
var cashOutAmount;
if( typeof cashOutObj === "object" && cashOutObj["value"] )
cashOutAmount = cashOutObj["value"]["name"];
//если кешаут в чеке присутствует, то печатаем об этом упоминание
if( !!cashOutAmount && cashOutAmount["length"] && cashOutAmount["length"] > 0)
receiptObj.additionalDataForPrint.unshift("[S]По чеку произошла операция выдачи наличных[/S]\n[S]ВЫДАНО, НАЛИЧНЫЕ: " + cashOutAmount + "руб.[/S]") |
- conf/services/marketing/scripts/printMarketingReceipt.js
Блок кода |
---|
|
function genInformTxt(maxStringLength, inform) {
var obj = eval("(" + inform + ")");
var res = "";
var tagsTest = /\[S.*]/;
if( tagsTest.test(obj.info) )
res = "\n" + obj.info + "\n";
else
res = "\n" + splitTextToStringsByWords(obj.info, maxStringLength) + "\n";
return res;
} |
Конвертер XML
Конвертер Экспорт XML выгружает следующую информацию об операциях выдачи наличных на кассе:
...