Оглавление |
---|
Описание
Кэшаут (cash out) представляет собой услугу Услуга выдачи держателям платежных карт наличных денег (cash out) предоставляется одновременно с покупкой. На текущий момент, услуга предоставляется физическим лицам-держателям платежных карт Сбербанка. Реализация Реализация функционала на кассе УКМ 5 описана здесь.
Изъятие наличных из кассы в рамках процедуры кэшаута выдачи наличных реализовано через продажу товара-услуги. Данный товар-услугу необходимо предварительно загрузить в базу данных УКМ 5 с помощью конвертера XML или через API в предварительно настроенной взаимосвязи с банковским платежным агентом и оператором перевода и магазином. Данная взаимосвязь формируется во внешней системе. Информация о банковском платежном агенте об операторе перевода указывается при внесении организации-платежного агента в справочник юр. лиц на кассовом сервере УКМ 5 и, после загрузки товаров с привязкой к определенному юр. лицу, отображается для каждого товара при его подробном просмотре в разделе Справочники – Товары:
...
При выборе средства оплаты с кэшаутомвыдачей наличных, чек расхода формируется автоматически, по факту выдачи наличных. В расходном чеке присутствует только товар-услуга банковского платёжного агента оператора перевода в количестве, равном 1. Добавление товара-услуги в чек расхода происходит автоматически, стоимость товара-услуги равна сумме выдачи. В качестве средства оплаты в чеке расхода система указывает наличные.
В результате операции кэшаутавыдачи наличных, происходит уменьшение остатка денежного ящика на размер суммы выдачи. Чек расхода сохраняется в базе данных и реплицируется на кассовый сервер. Также происходит заполнение следующих тегов для товара в чеке расхода:
1016 – ИНН оператора перевода: берется в привязке к определенному товару из справочника юр. лиц;
1026 – Наименование оператора перевода: берется в привязке к определенному товару из справочника юр. лиц;
1075 – Телефон оператора перевода: берется в привязке к определенному товару из справочника юр. лиц;
1073 – Телефон платежного агента: берется в привязке к определенному товару из сведений о магазине, т.к. платежным агентом является магазин;
1005 – Адрес оператора перевода: берется в привязке к определенному товару из справочника юр. лиц.
Средство оплаты с кэшаутом выдачей наличных можно применять в качестве частичной (комбинированной) оплаты в чеке.
...
Если чек продажи отправляется покупателю в электронном виде без печати на ККТ, связанный с ним чек расхода также не печатается.
Настройки
Внимание! Для использования функционала выдачи наличных, необходимо предварительно обновить кассы и сервер до версии 1.40 или выше! Если сервер будет более низкой версии, смены, в которых использовалась выдача наличных, не будут выгружаться. К тому же, пока сервер и ВСЕ кассы не будут обновлены до 1.40 версии, выгрузка связи товара и банковского платежного агента оператора перевода может нарушить процесс обработки документа на старых кассах.
Права
Операция выдачи наличных на кассе должна выполняться исключительно сотрудниками, имеющими к ней допуск и прошедшими соответствующее обучение. Необходимо исключить доступ к операции посторонних. В этой связи, функционал кэшаута выдачи наличных ограничен специальными правами, которые можно настроить в разделе Кассиры – Роли кассиров на кассовом сервере УКМ 5:
Конфигурации
Настройки кэшаута функционала выдачи наличных производятся сразу в нескольких файлах на кассовом сервере УКМ 5 по адресу: Магазин – Типы касс, где нужно выбрать тип кассы и нажать кнопку Настройки:
1. В появившемся иерархическом древе необходимо найти файл payment.conf (services\payment\payment.conf) и раскомментировать в нем следующую строку (либо добавить ее, если она отсутствует):
Блок кода | ||||
---|---|---|---|---|
| ||||
,{ include file("conf/services/payment/payment_sbrf_cashout.conf") } # Сбербанк с выдачей наличных. "Раскомментировать" при использовании. выдачи наличных |
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 Сбербанка.:
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>).
Ограничения функциональности
- УКМ 5 не контролирует полноту и актуальность реквизитов банковского платёжного агентаопер.
- УКМ 5 не выполняет проверку принадлежности карты покупателя к числу корпоративных платежных карт юридических лиц и индивидуальных предпринимателей.
- Выдача наличных в чеке может быть осуществлена только один раз.
- Возврат товара, оплаченного средством оплаты с выдачей наличных, разрешён. Возврат выданных наличных не предусмотрен.
- В режиме просмотра чеков в интерфейсе кассового сервера отображение реквизитов платёжных агентов не предусматривается.
- Печатная форма чека расхода определяется ККТ.
- Печать копии чека расхода не предусматривается.
- Вывод на печать реквизитов банковского платёжного агента оператора перевода в чеке расхода будет выполняться в обязательном порядке для ФФД 1.0.5 и 1.2.
- Изменений в работу службы мониторинга кассового сервера УКМ 5 не вносится.
- Выдача наличных на кассе УКМ 5 в режиме многофискальности не предусматривается.