...
Блок кода | ||||
---|---|---|---|---|
| ||||
# Описание средства оплаты, использующего процессинг Сбербанк с выдачей наличных # ПредарительноПредварительно необходимо настроить конфиг. файл 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 Сбербанка.
3. Печатная форма чека расхода и прихода регулируется настройками в следующих конфигурационных файлах:
...
...
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
...
language | scala |
---|---|
theme | RDark |
...
Конвертер XML
Конвертер Экспорт XML выгружает следующую информацию об операциях выдачи наличных на кассе:
- сумма выданных наличных (поле <cashOutSum>, передается в составе средства оплаты, на основании которого была осуществлена выдача);
- ID чека продажи, связанного с чеком расхода, в смене (поле <saleReceiptNum>).
...