Установка с помощью инсталлятора

Установка компонент библиотеки выполняется путем запуска инсталлятора нужной версии.

По окончанию работы инсталлятора будет открыто окно настроек сценария. В нем возможно изменить настройки или обновить скрипт в базе кассы.

При установке пакета регистрируются ActiveX компоненты Windows, поэтому установку нужно выполнять от имени Администратора системы

Поскольку компонент выполнен по технологии ActiveX, его использование возможно только в операционной среде семейства Windows.

Также возможно установить ActiveX компонент отдельно. Для этого необходимо расположить файл(ocx в каталоге установки) в любом каталоге и выполнить команду операционной системы от имени администратора:

 После чего компонент становится доступен по имени AXStrDialog.RTestX

 

Настройка кассового ПО Frontol

Загрузка основного сценария

Код основанного сценария работы кассового места содержится в файле main.js. Для загрузки сценария и установки его как основного необходимо запустить утилиту «Frontol Администратор», открыть базу, для которой предполагается установить сценарий. Далее перейти в раздел «Скидки и сценарии», создать новый сценарий, открыть файл main.js с диска или скопировать содержимое файла в открытый сценарий:

 

image-1712232581592.png

 

Для корректной работы сценария, необходимо установить значения переменных в заголовке файла установить значения переменным в начале в заголовке файла:

Имя переменной Описание
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

Тип ввода имени клиента. Доступны значения:

  • OneInput – одно поле для Фамилии, Имени и Отчества.
  • ThreeInputs – для указания Фамилии, Имени и Отчества используются разные поля.
  • var bsLogLevel = 'off';
bsLogLevel

Уровень журналирования.  Доступны значения errorinfodebugoff. Каждый последующий уровень журналирования включает в себя предыдущий. Например, при указании уровня debug в файлы журналов будут выводиться сообщения с уровнями error и infooff - полностью отключает журналирование

bsLogRootPath

Корневой каталог, в который будут сохраняться файлы журнала. В этом каталоге автоматически создаются отдельные подкаталоги с файлами журнала. Каждый файл содержит информацию за один час работы системы.

В качестве разделителя пути к каталогу необходимо использовать двойной обратный слэш(\\) в конце пути также необходимо наличие \\

bsPendingDocQueue

Корневой каталог, в который будут сохраняться файлы с информацией о документах, которые не удалось отправить на обработку в сервис по причине плохого соединения с сервисом. Такие документы будут повторно отправляться при старте системы.

В качестве разделителя пути к каталогу необходимо использовать двойной обратный слэш(\\) в конце пути также необходимо наличие \\

bsBarcodeInputSequence

Последовательность клавиш вызова окна ввода штрихкода карты. Если значение не указано, после поиска карты по штрихкоду/телефону не будет выполняться подстановка штрихкода карты в документ. Значение должно совпадать с назначенной в системе для этого действия комбинацией клавиш

bsCardTypeCodes
Коды видов карт бонусного сервиса. Проверка наличия карт в сервисе будет выполняться только для карт подходящих под условия указанных видов.

 После настройки можно сохранить сценарий и выбрать его в качестве основного в поле «В начале сеанса запускать».

 

image-1712232641374.png

 

Более простым способом настройки будет использование утилиты настройки. Она запускается по-умолчанию после установки новой версии скрипта.

 

Настройка бонусных скидок и оплаты бонусными баллами

Для корректного применения рассчитанных процессингом скидок и оплаты бонусными баллами необходимо настроить маркетинговую акцию. Для этого нужно перейти в раздел «Скидки и сценарии» -> «Маркетинговые акции» и создать новую скидку:

 

image-1712232694265.png

 

Для скидки устанавливается признак «Срабатывает всегда».

После, нужно указать два мероприятия «Оплата» и «Скидка», которые отражают логику применения оплаты бонусными баллами и скидок соответственно к документу:

 

image-1712232786087.png

 

Каждое мероприятие должно иметь тип «Автоматическая скидка из сценария», не иметь модуля условий (т.е. быть безусловными). На каждую скидку назначается функция расчета из загруженного ранее скрипта. 

Для мероприятия «Скидка», указываются следующие настройки и функция

ApplySumDiscountToPosition('rarusBonus')

 

image-1712232889605.png

 

Для мероприятия «Оплата», указываются следующие настройки  и функция

ApplyBonusPaymentToPosition()

 

image-1712232942258.png

 

Идентификация карт

Считывание бонусных карт выполняется типовой командой платформы FRONTOL. Для корректной интеграции необходимо определиться с префиксами штрихкодов бонусных карт и в разделе «Скидки и наценки» -> «Виды карт» создать один или несколько видов карт соответствующий диапазонам:

 

image-1712233019549.png

 

Такие карты НЕ будут регистрироваться в системе 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, без этого параметра не будут выводится сообщения о возникающих ошибках. 

Настройка производится в разделе «Настройки» -> «Макеты экрана» и «Настройки» -> «Раскладки».

Для назначения функции на кнопку интерфейса пользователя необходимо в макете экрана выбрать элемент типа кнопка и указать в качестве действия значение Специальные/Сценарий и в качестве параметра указать имя функции.

 

image-1712233084049.png

 

Для назначения функции на горячую клавишу необходимо проделать аналогичные действия:

 

image-1712233168374.png

 

Также основной сценарий предоставляет набор переменных, значение которых можно отобразить в интерфейсе пользователя.

Состав доступных переменных:

  • rarusBonusPayment – Количество бонусных баллов, которыми оплачен документ.
  • rarusBarcode – Штрихкод считанной и идентифицированной процессингом карты.
  • rarusUserName – Имя пользователя сервиса, связанного с картой.
  • rarusCardEntered – признак того, что введена карта клиента..

Настройка вывода этих значений выполняется в конструкторе макета экранной формы «Настройки» -> «Макеты экрана».  Для вывода используется элемент с типом «Информация», в качестве текста необходимо выбрать «Текущий документ \ Пользовательская переменная», в качестве значения имя переменной. Например:

 

image-1712233224859.png

 

Подарочные сертификаты

Для корректной продажи подарочных сертификатов бонусного сервиса необходимо настроить товар. Для этого нужно перейти в раздел «Справочники» -> «Товары» и создать новый товар:

 

image-1712233265947.png

 

 

Необходимо указать уникальный код товара и установить признак предмета расчета в значение «Аванс, предоплата». Указанный код товара необходимо ввести в сценарии в переменную bsCodeCertificatePosition.

Для того чтобы была возможность продавать данный товар необходимо в карточке товара на вкладке «Разрезы/цены/остатки» необходимо ввести остатки и цены на товар. Остатки можно указать нулевыми, цена должна быть не нулевой.

изображение_2022-11-15_175730529.png

На  вкладке «Контроль» необходимо снять галки у следующих опций «Списание остатков»,

 

изображение_2022-11-15_175801356.png

 

Для того чтобы отрабатывали опции заданные в карточке товара необходимо в разделе «Справочники» -> «Глобальный контроль» установить у опций «Списание остатков», «Запрос цены», «Скидки» и «Редактирование цены» значение «Товар».

Для возможности оплаты подарочным сертификатом необходимо в разделе «Системные справочники» -> группа «Оплаты» -> «Виды» создать новый вид оплаты.

 

изображение_2022-11-15_175839548.png

изображение_2022-11-15_175956242.png

 

Необходимо указать уникальный код вида оплаты. Указанный код товара необходимо ввести в сценарии в переменную bsCodeCertificatePayment.

Возврат оплаты подарочными сертификатами возможен только наличными поэтому необходимо установить опцию «Разрешить возврат наличными»

 

Вывод дополнительных свойств пользователя в интерфейсе кассы

Решение позволяет выводить значения дополнительных свойств пользователя, созданных в личном кабинете системы управления лояльностью, в интерфейсе кассового ПО Фронтол.

Для того чтобы настроить вывод необходимо в редакторе макета экрана добавить поле с типом "Информация" и установить значение из пользовательской переменной документа.

 

изображение_2023-05-29_162812148.png

 

Подробно о редактировании макетов экрана можно узнать из руководства администратора, поставляемого с кассовым ПО Фронтол

В качестве имени переменной нужно использовать следующий шаблон user_prop_<Идентификатор свойства>. Идентификатор свойства можно получить и указать в личном кабинете системы управления лояльностью.

 

Утилита настройки сценария

ВНИМАНИЕ! Утилита не поддерживает работу под ОС Windows 8.1 и ниже. Если вы используете более младшие версии Windows, редактировать файл конфигурации придется вручную

Утилита поставляется в установочном пакете, начиная с версии 1.0.12х. Она будет автоматически запускаться после окончания установки дистрибутива. Так же, ее можно открыть вручную, она располагается в установленном дистрибутиве в каталоге dist/settings.exe.

Утилита представляет собой графический интерфейс, позволяющий менять настройки сценария и выполнять обновление сценария из файлов поставки.

Для работы с некоторыми функциями утилиты необходимо выполнить настройку кассового места. В частности, в качестве основного сценария кассы Frontol должен быть установлен наш сценарий

Для первоначальной настройки утилиты необходимо подключиться к базе кассы Frontol. Для этого нужно указать файл базы, задать логин и пароль базы. В качестве логина и пароля по-умолчанию используются значения sysdba и masterkey, соответственно.

image-1702650881705.png

После подключения к базе можно получить настройки из сценария базы данных Frontol. Будет выполнена попытка получения настроек из текста основного сценария и их заполнение в интерфейсе утилиты.

Также, после подключения к базе кассы возможно автоматическое обновление сценария внутри базы из файла main.js входящего в поставку. 

Перед обновлением основного сценария рекомендуется создать копию, для быстрого отката к предыдущей версии, в случае возникновения ошибок.

Для обновления, нужно выбрать файл из которого будет получено тело нового сценария и нажать на кнопку "Обновить сценарий из файла".

image-1702651325099.png

По-умолчанию выбран файл из поставки, установленный в директорию по-умолчанию.

 

Настройка кассы

Настройку кассы можно выполнять старым способом, или через конфигурационный файл и описываемую утилиту.

Утилита позволяет выбрать значения из базы Frontol или указать вручную некоторые значения настроек, после чего сохранить указанные настройки в файл, который в свою очередь будет прочитан кассой. Все значения указанные в конфигурационном файле, будут заменены перед началом работы кассы, если какая-то из настроек не указана в файле, будет использоваться значение из сценария.

Файл сценария по-умолчанию располагается в каталоге C:\ProgramData\1CRarus\Frontol\config.js.json. Имена настроек в файле совпадают с именами переменных в сценарии.

Файл создается при сохранении текущего состояния настроек в этой утилите. Для того чтобы касса применила настройки, необходим перезапуск сеанса работы кассы.

 

Сценарии работы кассира

Сценарии описываются применительно к интерфейсу пользователя, включенному в поставку библиотеки интеграции. Реальные сценарии зависят от организации интерфейса и раскладки клавиатуры на конкретном предприятии

Подробно процесс назначения команд описан в руководстве интегратора системы FRONTOL

 

Регистрация покупателя на процессинге

Функция регистрации нового покупателя доступна в любой момент из интерфейса кассира:

изображение_2022-11-15_180415380.png

При вызове данной функции открывается диалог ввода атрибутов нового покупателя. После ввода параметров, в зависимости от настроек процессинга(настройка производится в личном кабинете), происходит запрос подтверждения фактора владения телефоном или почтой и выполняется попытка зарегистрировать покупателя на процессинге. При успешной регистрации, имя покупателя подставляется в текущий документ и, если при регистрации была выдана карта, она также подставляется в документ.

В зависимости от настроек процессинга, проверяется уникальность телефона или адреса электронной почты. Если покупатель был зарегистрирован ранее – регистрация невозможна.

 

Считывание карты

Для считывания карты пользователя необходимо воспользоваться стандартной командной ввода карты(по-умолчанию CTRL+F7) и ввести штрихкод карты вручную или считать с помощью устройства ввода.

После считывания карты, выполняется попытка найти карту на процессинге, в случае если карта найдена она подставляется в документ.

 

Расчет скидок на процессинге

Библиотека интеграции предоставляет возможность выполнять пред расчёт скидок в ручном режиме, до перехода к оплате чека, автоматически рассчитывает скидки при переходе в режим оплаты

Предварительный расчет

Предварительный расчет скидок может понадобиться для оценки сработавших скидок и озвучивания суммы скидки покупателю. Для предварительного расчета можно воспользоваться командой «Рассчитать»:

изображение_2022-11-15_180654940.png

После выполнения команды сумма документа изменится на значение рассчитанное по правилам настроенным в личном кабинете.

На процессинге могут быть настроены скидки учитывающие номер введенной карты пользователя. Если такие условия срабатывания скидок используются, рекомендуется считать карту до выполнения расчета скидок

Для корректной работы считывания необходимо  настроить специальный вид карт

Автоматический расчет

Автоматический расчет выполняется при переходе в режим ввода оплаты документа.  Никаких дополнительных настроек для выполнения автоматического расчета выполнять не нужно. Механизм расчета полностью аналогичен предварительному расчету.

 

Оплата бонусными баллами

Оплата бонусными баллами позволяет списать бонусные баллы с карты в счет скидки на текущий документ. Выполнить оплату бонусными баллами можно в случае если карта активирована, не заблокирована, на счету имеется необходимая сумма и не превышена максимально возможная сумма оплаты баллами(настраивается в личном кабинете).

Команда оплаты бонусными баллами применяется к документу с уже рассчитанными ручными и автоматическими скидками. Вызов команды можно осуществить как из экрана редактирования документа:

изображение_2022-11-15_181241487.png

Также использовать бонусные баллы можно в режиме оплаты:

изображение_2022-11-15_181314860.png

Перед выполнением команды оплаты, система пересчитывает скидки автоматически, для корректного отображения доступного к оплате количества бонусных баллов.

При выполнении оплаты система предлагает ввести количество баллов, которые покупатель готов потратить. Доступное для оплаты количество бонусных баллов, зависит от настроек процессинга:

изображение_2022-11-15_181346235.png

В диалоге выводится статус карты, текущий баланс карты, максимальная доступная сумма оплаты для текущего документа. В поле «Потратить»  необходимо ввести желаемую сумму оплаты. Введенная сумма не может превышать максимальную допустимую.

Оплата бонусными баллами применяется к документу как автоматическая скидка и суммируется с уже примененными к документу скидками.

Отмена оплаты и скидок выполняется специальной командой «Очистить». При выполнении команды система удаляет всю информацию о примененных скидках(в т. ч. оплату бонусными баллами).

 

Возврат товара

Возврат товара осуществляется стандартной командой оформления документа возврата на основании документа продажи. При оформлении возврата в документе автоматически устанавливается карта использованная при продаже.

Бонусные баллы, использованные в качестве оплаты чека продажи и начисленные на карту по правилам начисления(настраивается в личном кабинете), будут возвращены и списаны с карты соответственно. В случае частичного возврата, система пересчитывает возвращаемые/списываемые баллы пропорционально сумме возврата относительно суммы продажи-основания.