...
Настройки функционала выдачи наличных производятся сразу в нескольких файлах на кассовом сервере УКМ 5 по адресу: Магазин – Типы касс, где нужно выбрать тип кассы и нажать кнопку Настройки:
Image RemovedImage Added
1. В появившемся иерархическом древе необходимо найти файл payment.conf (services\payment\payment.conf) и раскомментировать в нем следующую строку (либо добавить ее, если она отсутствует):
Блок кода |
---|
|
,{ include file("conf/services/payment/payment_sbrf_cashout.conf") } # Сбербанк с выдачей наличных. "Раскомментировать" при использовании. выдачи наличных |
Image Added
2. Затем, в файле payment_sbrf_cashout.conf (conf/services/\payment/\payment_sbrf_cashout.conf) нужно выполнить следующие настройки (если файл отсутствует по данному адресу, его необходимо там сохранить с приведенным ниже содержимым):
Блок кода |
---|
|
# Описание средства оплаты, использующего процессинг Сбербанк с выдачей наличных
# ПредарительноПредварительно необходимо настроить конфиг. файл 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 Сбербанка.:
Image Added
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
Блок кода |
---|
|
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;
} |
Image Added
Image Added
Конвертер XML
Конвертер Экспорт XML выгружает следующую информацию об операциях выдачи наличных на кассе:
- сумма выданных наличных (поле <cashOutSum>, передается в составе средства оплаты, на основании которого была осуществлена выдача);
- ID чека продажи, связанного с чеком расхода, в смене (поле <saleReceiptNum>).
...