Описание
Услуга выдачи держателям платежных карт наличных денег (cash out) предоставляется одновременно с покупкой. Реализация функционала на кассе УКМ 5 описана здесь.
Изъятие наличных из кассы в рамках процедуры выдачи наличных реализовано через продажу товара-услуги. Данный товар-услугу необходимо предварительно загрузить в базу данных УКМ 5 с помощью конвертера XML или через API в предварительно настроенной взаимосвязи с оператором перевода и магазином. Данная взаимосвязь формируется во внешней системе. Информация об операторе перевода указывается при внесении организации-платежного агента в справочник юр. лиц на кассовом сервере УКМ 5 и, после загрузки товаров с привязкой к определенному юр. лицу, отображается для каждого товара при его подробном просмотре в разделе Справочники – Товары:
При выборе средства оплаты с выдачей наличных, чек расхода формируется автоматически, по факту выдачи наличных. В расходном чеке присутствует только товар-услуга оператора перевода в количестве, равном 1. Добавление товара-услуги в чек расхода происходит автоматически, стоимость товара-услуги равна сумме выдачи. В качестве средства оплаты в чеке расхода система указывает наличные.
В результате операции выдачи наличных, происходит уменьшение остатка денежного ящика на размер суммы выдачи. Чек расхода сохраняется в базе данных и реплицируется на кассовый сервер. Также происходит заполнение следующих тегов для товара в чеке расхода:
1016 – ИНН оператора перевода: берется в привязке к определенному товару из справочника юр. лиц;
1026 – Наименование оператора перевода: берется в привязке к определенному товару из справочника юр. лиц;
1075 – Телефон оператора перевода: берется в привязке к определенному товару из справочника юр. лиц;
1073 – Телефон платежного агента: берется в привязке к определенному товару из сведений о магазине, т.к. платежным агентом является магазин;
1005 – Адрес оператора перевода: берется в привязке к определенному товару из справочника юр. лиц.
Средство оплаты с выдачей наличных можно применять в качестве частичной (комбинированной) оплаты в чеке.
Если чек продажи отправляется покупателю в электронном виде (на email либо телефон), чек расхода отправляется по тем же реквизитам.
Если чек продажи отправляется покупателю в электронном виде без печати на ККТ, связанный с ним чек расхода также не печатается.
Настройки
Внимание! Для использования функционала выдачи наличных, необходимо предварительно обновить кассы и сервер до версии 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. Печатная форма чека расхода и прихода регулируется настройками в следующих конфигурационных файлах:
- conf/applications/sale/scripts/printItemLine_ffd12.js
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 выгружает следующую информацию об операциях выдачи наличных на кассе:
- сумма выданных наличных (поле <cashOutSum>);
- ID чека продажи, связанного с чеком расхода, в смене (поле <saleReceiptNum>).
Ограничения функциональности
- УКМ 5 не контролирует полноту и актуальность реквизитов опер.
- УКМ 5 не выполняет проверку принадлежности карты покупателя к числу корпоративных платежных карт юридических лиц и индивидуальных предпринимателей.
- Выдача наличных в чеке может быть осуществлена только один раз.
- Возврат товара, оплаченного средством оплаты с выдачей наличных, разрешён. Возврат выданных наличных не предусмотрен.
- В режиме просмотра чеков в интерфейсе кассового сервера отображение реквизитов платёжных агентов не предусматривается.
- Печатная форма чека расхода определяется ККТ.
- Печать копии чека расхода не предусматривается.
- Вывод на печать реквизитов оператора перевода в чеке расхода будет выполняться в обязательном порядке для ФФД 1.0.5 и 1.2.
- Изменений в работу службы мониторинга кассового сервера УКМ 5 не вносится.
- Выдача наличных на кассе УКМ 5 в режиме многофискальности не предусматривается.