Инструкция по интеграции Фронтол
Дата написания: 19.03.2024
Установка с помощью инсталлятора
Установка компонент библиотеки выполняется путем запуска инсталлятора нужной версии.
По окончанию работы инсталлятора будет открыто окно настроек сценария. В нем возможно изменить настройки или обновить скрипт в базе кассы.
При установке пакета регистрируются ActiveX компоненты Windows, поэтому установку нужно выполнять от имени Администратора системы
Поскольку компонент выполнен по технологии ActiveX, его использование возможно только в операционной среде семейства Windows.
Также возможно установить ActiveX компонент отдельно. Для этого необходимо расположить файл(ocx в каталоге установки) в любом каталоге и выполнить команду операционной системы от имени администратора:
regsvr32 <ПутьКФайлуКомпонента>
После чего компонент становится доступен по имени AXStrDialog.RTestX
Настройка кассового ПО Frontol
Загрузка основного сценария
Код основанного сценария работы кассового места содержится в файле main.js. Для загрузки сценария и установки его как основного необходимо запустить утилиту «Frontol Администратор», открыть базу, для которой предполагается установить сценарий. Далее перейти в раздел «Скидки и сценарии», создать новый сценарий, открыть файл main.js с диска или скопировать содержимое файла в открытый сценарий:
Для корректной работы сценария, необходимо установить значения переменных в заголовке файла установить значения переменным в начале в заголовке файла:
Имя переменной | Описание |
bsServer |
Адрес процессингового сервера. Доступные сервера: https://demo.bonus.rarus-online.com:88/ - Тестовый сервер; https://bonus.rarus-online.com:88/ - Боевой сервер; |
bsUser |
Имя пользователя сервиса, полученное при регистрации |
bsPassword |
Пароль пользователя сервиса, полученный при регистрации. Для безопасности пароль не вводится в открытом виде, нужно ввести шестнадцатеричное значение хеш-функции от значения пароля. Вычислить такое значение можно, например, на сайте http://www.sha1-online.com/ |
bsShopID |
Уникальный идентификатор магазина, используется для аналитики продаж |
bsKKTID |
Уникальный идентификатор кассы |
bsKKTName |
Наименование кассы |
bsCodeCertificatePosition |
Код товара, который используется при продаже сертификатов |
bsCodeCertificatePayment |
Код вида оплаты, который используется при оплате чека сертификатом |
bsClientNameInputType |
Тип ввода имени клиента. Доступны значения:
|
bsLogLevel |
Уровень журналирования. Доступны значения |
bsLogRootPath |
Корневой каталог, в который будут сохраняться файлы журнала. В этом каталоге автоматически создаются отдельные подкаталоги с файлами журнала. Каждый файл содержит информацию за один час работы системы. В качестве разделителя пути к каталогу необходимо использовать двойной обратный слэш(\\) в конце пути также необходимо наличие \\ |
bsPendingDocQueue |
Корневой каталог, в который будут сохраняться файлы с информацией о документах, которые не удалось отправить на обработку в сервис по причине плохого соединения с сервисом. Такие документы будут повторно отправляться при старте системы. В качестве разделителя пути к каталогу необходимо использовать двойной обратный слэш(\\) в конце пути также необходимо наличие \\ |
bsBarcodeInputSequence |
Последовательность клавиш вызова окна ввода штрихкода карты. Если значение не указано, после поиска карты по штрихкоду/телефону не будет выполняться подстановка штрихкода карты в документ. Значение должно совпадать с назначенной в системе для этого действия комбинацией клавиш |
bsCardTypeCodes
|
Коды видов карт бонусного сервиса. Проверка наличия карт в сервисе будет выполняться только для карт подходящих под условия указанных видов.
|
После настройки можно сохранить сценарий и выбрать его в качестве основного в поле «В начале сеанса запускать».
Более простым способом настройки будет использование утилиты настройки. Она запускается по-умолчанию после установки новой версии скрипта.
Настройка бонусных скидок и оплаты бонусными баллами
Для корректного применения рассчитанных процессингом скидок и оплаты бонусными баллами необходимо настроить маркетинговую акцию. Для этого нужно перейти в раздел «Скидки и сценарии» -> «Маркетинговые акции» и создать новую скидку:
Для скидки устанавливается признак «Срабатывает всегда».
После, нужно указать два мероприятия «Оплата» и «Скидка», которые отражают логику применения оплаты бонусными баллами и скидок соответственно к документу:
Каждое мероприятие должно иметь тип «Автоматическая скидка из сценария», не иметь модуля условий (т.е. быть безусловными). На каждую скидку назначается функция расчета из загруженного ранее скрипта.
Для мероприятия «Скидка», указываются следующие настройки и функция
ApplySumDiscountToPosition('rarusBonus')
Для мероприятия «Оплата», указываются следующие настройки и функция
ApplyBonusPaymentToPosition()
Идентификация карт
Считывание бонусных карт выполняется типовой командой платформы FRONTOL. Для корректной интеграции необходимо определиться с префиксами штрихкодов бонусных карт и в разделе «Скидки и наценки» -> «Виды карт» создать один или несколько видов карт соответствующий диапазонам:
Такие карты НЕ будут регистрироваться в системе FRONTOL определение будет выполняться на процессинге, поэтому необходимо установить признак «Использовать для незарегистрированных карт»
Обязательно в сценарии настроить значение кодов видов карт в переменной bsCardTypeCodes
. Коды не внесенные в массив будут работать по логике Frontol и не будут проверяться на сервисе управления лояльностью.
Дополнительные функции и значения
Основной сценарий предоставляет набор функций, которые можно использовать для в качестве команд кассира в основном режиме работы.
Состав команд:
- Регистрация нового пользователя бонусного сервиса
- Привязка новой карты к пользователю бонусного сервиса
- Расчет скидок на процессинге с применением к текущему документу
- Ввод оплаты бонусными баллами
- Отмена рассчитанных скидок и оплаты баллами
- Поиск карты пользователя бонусного сервиса по номеру телефона
- Сброс дисконтной карты пользователя
- Поиск промо-кода бонусного сервиса
- Очистка промо-кода бонусного сервиса
- Продажа подарочного сертификата бонусного сервиса
- Отмена продажи подарочного сертификата бонусного сервиса
- Оплата документа подарочным сертификатом бонусного сервиса
Команды реализованы в виде функций глобальном контексте основного сценария:
- function RegisterNewCustomer()
- function AttachCard()
- function CalculateDiscounts(interactive)
- function EnterBonusPayment()
- function ClearAllDiscounts(interactive)
- function SearchCardByPhone()
- function ClearCard(interactive)
- function SearchCoupon()
- function ClearCoupon(interactive)
- function AddCertificate()
- function DeleteCertificate()
- function EnterCertificatePayment()
Эти команды можно назначить на кнопки пользовательского интерфейса или горячие клавиши.
Для функций у которых есть параметр interactive необходимо при назначении функции на кнопку/горячую клавишу в параметрах передавать true, без этого параметра не будут выводится сообщения о возникающих ошибках.
Настройка производится в разделе «Настройки» -> «Макеты экрана» и «Настройки» -> «Раскладки».
Для назначения функции на кнопку интерфейса пользователя необходимо в макете экрана выбрать элемент типа кнопка и указать в качестве действия значение Специальные/Сценарий и в качестве параметра указать имя функции.
Для назначения функции на горячую клавишу необходимо проделать аналогичные действия:
Также основной сценарий предоставляет набор переменных, значение которых можно отобразить в интерфейсе пользователя.
Состав доступных переменных:
- rarusBonusPayment – Количество бонусных баллов, которыми оплачен документ.
- rarusBarcode – Штрихкод считанной и идентифицированной процессингом карты.
- rarusUserName – Имя пользователя сервиса, связанного с картой.
- rarusCardEntered – признак того, что введена карта клиента..
Настройка вывода этих значений выполняется в конструкторе макета экранной формы «Настройки» -> «Макеты экрана». Для вывода используется элемент с типом «Информация», в качестве текста необходимо выбрать «Текущий документ \ Пользовательская переменная», в качестве значения имя переменной. Например:
Подарочные сертификаты
Для корректной продажи подарочных сертификатов бонусного сервиса необходимо настроить товар. Для этого нужно перейти в раздел «Справочники» -> «Товары» и создать новый товар:
Необходимо указать уникальный код товара и установить признак предмета расчета в значение «Аванс, предоплата». Указанный код товара необходимо ввести в сценарии в переменную bsCodeCertificatePosition.
Для того чтобы была возможность продавать данный товар необходимо в карточке товара на вкладке «Разрезы/цены/остатки» необходимо ввести остатки и цены на товар. Остатки можно указать нулевыми, цена должна быть не нулевой.
На вкладке «Контроль» необходимо снять галки у следующих опций «Списание остатков»,
Для того чтобы отрабатывали опции заданные в карточке товара необходимо в разделе «Справочники» -> «Глобальный контроль» установить у опций «Списание остатков», «Запрос цены», «Скидки» и «Редактирование цены» значение «Товар».
Для возможности оплаты подарочным сертификатом необходимо в разделе «Системные справочники» -> группа «Оплаты» -> «Виды» создать новый вид оплаты.
Необходимо указать уникальный код вида оплаты. Указанный код товара необходимо ввести в сценарии в переменную bsCodeCertificatePayment.
Возврат оплаты подарочными сертификатами возможен только наличными поэтому необходимо установить опцию «Разрешить возврат наличными»
Вывод дополнительных свойств пользователя в интерфейсе кассы
Решение позволяет выводить значения дополнительных свойств пользователя, созданных в личном кабинете системы управления лояльностью, в интерфейсе кассового ПО Фронтол.
Для того чтобы настроить вывод необходимо в редакторе макета экрана добавить поле с типом "Информация" и установить значение из пользовательской переменной документа.
Подробно о редактировании макетов экрана можно узнать из руководства администратора, поставляемого с кассовым ПО Фронтол
В качестве имени переменной нужно использовать следующий шаблон user_prop_<Идентификатор свойства>. Идентификатор свойства можно получить и указать в личном кабинете системы управления лояльностью.
Утилита настройки сценария
ВНИМАНИЕ! Утилита не поддерживает работу под ОС Windows 8.1 и ниже. Если вы используете более младшие версии Windows, редактировать файл конфигурации придется вручную
Утилита поставляется в установочном пакете, начиная с версии 1.0.12х. Она будет автоматически запускаться после окончания установки дистрибутива. Так же, ее можно открыть вручную, она располагается в установленном дистрибутиве в каталоге dist/settings.exe.
Утилита представляет собой графический интерфейс, позволяющий менять настройки сценария и выполнять обновление сценария из файлов поставки.
Для работы с некоторыми функциями утилиты необходимо выполнить настройку кассового места. В частности, в качестве основного сценария кассы Frontol должен быть установлен наш сценарий
Для первоначальной настройки утилиты необходимо подключиться к базе кассы Frontol. Для этого нужно указать файл базы, задать логин и пароль базы. В качестве логина и пароля по-умолчанию используются значения sysdba и masterkey, соответственно.
После подключения к базе можно получить настройки из сценария базы данных Frontol. Будет выполнена попытка получения настроек из текста основного сценария и их заполнение в интерфейсе утилиты.
Также, после подключения к базе кассы возможно автоматическое обновление сценария внутри базы из файла main.js входящего в поставку.
Перед обновлением основного сценария рекомендуется создать копию, для быстрого отката к предыдущей версии, в случае возникновения ошибок.
Для обновления, нужно выбрать файл из которого будет получено тело нового сценария и нажать на кнопку "Обновить сценарий из файла".
По-умолчанию выбран файл из поставки, установленный в директорию по-умолчанию.
Настройка кассы
Настройку кассы можно выполнять старым способом, или через конфигурационный файл и описываемую утилиту.
Утилита позволяет выбрать значения из базы Frontol или указать вручную некоторые значения настроек, после чего сохранить указанные настройки в файл, который в свою очередь будет прочитан кассой. Все значения указанные в конфигурационном файле, будут заменены перед началом работы кассы, если какая-то из настроек не указана в файле, будет использоваться значение из сценария.
Файл сценария по-умолчанию располагается в каталоге C:\ProgramData\1CRarus\Frontol\config.js.json. Имена настроек в файле совпадают с именами переменных в сценарии.
Файл создается при сохранении текущего состояния настроек в этой утилите. Для того чтобы касса применила настройки, необходим перезапуск сеанса работы кассы.
Сценарии работы кассира
Сценарии описываются применительно к интерфейсу пользователя, включенному в поставку библиотеки интеграции. Реальные сценарии зависят от организации интерфейса и раскладки клавиатуры на конкретном предприятии
Подробно процесс назначения команд описан в руководстве интегратора системы FRONTOL
Регистрация покупателя на процессинге
Функция регистрации нового покупателя доступна в любой момент из интерфейса кассира:
При вызове данной функции открывается диалог ввода атрибутов нового покупателя. После ввода параметров, в зависимости от настроек процессинга(настройка производится в личном кабинете), происходит запрос подтверждения фактора владения телефоном или почтой и выполняется попытка зарегистрировать покупателя на процессинге. При успешной регистрации, имя покупателя подставляется в текущий документ и, если при регистрации была выдана карта, она также подставляется в документ.
В зависимости от настроек процессинга, проверяется уникальность телефона или адреса электронной почты. Если покупатель был зарегистрирован ранее – регистрация невозможна.
Считывание карты
Для считывания карты пользователя необходимо воспользоваться стандартной командной ввода карты(по-умолчанию CTRL+F7) и ввести штрихкод карты вручную или считать с помощью устройства ввода.
После считывания карты, выполняется попытка найти карту на процессинге, в случае если карта найдена она подставляется в документ.
Расчет скидок на процессинге
Библиотека интеграции предоставляет возможность выполнять пред расчёт скидок в ручном режиме, до перехода к оплате чека, автоматически рассчитывает скидки при переходе в режим оплаты
Предварительный расчет
Предварительный расчет скидок может понадобиться для оценки сработавших скидок и озвучивания суммы скидки покупателю. Для предварительного расчета можно воспользоваться командой «Рассчитать»:
После выполнения команды сумма документа изменится на значение рассчитанное по правилам настроенным в личном кабинете.
На процессинге могут быть настроены скидки учитывающие номер введенной карты пользователя. Если такие условия срабатывания скидок используются, рекомендуется считать карту до выполнения расчета скидок
Для корректной работы считывания необходимо настроить специальный вид карт
Автоматический расчет
Автоматический расчет выполняется при переходе в режим ввода оплаты документа. Никаких дополнительных настроек для выполнения автоматического расчета выполнять не нужно. Механизм расчета полностью аналогичен предварительному расчету.
Оплата бонусными баллами
Оплата бонусными баллами позволяет списать бонусные баллы с карты в счет скидки на текущий документ. Выполнить оплату бонусными баллами можно в случае если карта активирована, не заблокирована, на счету имеется необходимая сумма и не превышена максимально возможная сумма оплаты баллами(настраивается в личном кабинете).
Команда оплаты бонусными баллами применяется к документу с уже рассчитанными ручными и автоматическими скидками. Вызов команды можно осуществить как из экрана редактирования документа:
Также использовать бонусные баллы можно в режиме оплаты:
Перед выполнением команды оплаты, система пересчитывает скидки автоматически, для корректного отображения доступного к оплате количества бонусных баллов.
При выполнении оплаты система предлагает ввести количество баллов, которые покупатель готов потратить. Доступное для оплаты количество бонусных баллов, зависит от настроек процессинга:
В диалоге выводится статус карты, текущий баланс карты, максимальная доступная сумма оплаты для текущего документа. В поле «Потратить» необходимо ввести желаемую сумму оплаты. Введенная сумма не может превышать максимальную допустимую.
Оплата бонусными баллами применяется к документу как автоматическая скидка и суммируется с уже примененными к документу скидками.
Отмена оплаты и скидок выполняется специальной командой «Очистить». При выполнении команды система удаляет всю информацию о примененных скидках(в т. ч. оплату бонусными баллами).
Возврат товара
Возврат товара осуществляется стандартной командой оформления документа возврата на основании документа продажи. При оформлении возврата в документе автоматически устанавливается карта использованная при продаже.
Бонусные баллы, использованные в качестве оплаты чека продажи и начисленные на карту по правилам начисления(настраивается в личном кабинете), будут возвращены и списаны с карты соответственно. В случае частичного возврата, система пересчитывает возвращаемые/списываемые баллы пропорционально сумме возврата относительно суммы продажи-основания.