# Настройка кассового ПО Frontol ### Загрузка основного сценария Код основанного сценария работы кассового места содержится в [файле **main.js**](https://rzn-wb-02.1c-hosting.com/books/integratsiya-s-frontol/page/sostav-ustanovochnogo-paketa "Состав установочного пакета"). Для загрузки сценария и установки его как основного необходимо запустить утилиту «Frontol Администратор», открыть базу, для которой предполагается установить сценарий. Далее перейти в раздел *«Скидки и сценарии»*, создать новый сценарий, открыть файл main.js с диска или скопировать содержимое файла в открытый сценарий: [](https://rzn-wb-02.1c-hosting.com/uploads/images/gallery/2022-11/izobrazhenie-2022-11-15-172008535.png) Для корректной работы сценария, необходимо установить значения переменных в заголовке файла установить значения переменным в начале в заголовке файла:
Имя переменной | Описание |
bsServer | Адрес процессингового сервера. Доступные сервера: [https://demo.bonus.rarus-online.com:88/](https://demo.bonus.rarus-online.com:88/) - Тестовый сервер; [https://bonus.rarus-online.com:88/](https://bonus.rarus-online.com:88/) - Боевой сервер; |
bsUser | Имя пользователя сервиса, полученное при регистрации |
bsPassword | Пароль пользователя сервиса, полученный при регистрации. Для безопасности пароль не вводится в открытом виде, нужно ввести шестнадцатеричное значение хеш-функции от значения пароля. Вычислить такое значение можно, например, на сайте [http://www.sha1-online.com/](http://www.sha1-online.com/) |
bsShopID | Уникальный идентификатор магазина, используется для аналитики продаж |
bsKKTID | Уникальный идентификатор кассы |
bsKKTName | Наименование кассы |
bsCodeCertificatePosition | Код товара, который используется при продаже сертификатов |
bsCodeCertificatePayment | Код вида оплаты, который используется при оплате чека сертификатом |
bsClientNameInputType | Тип ввода имени клиента. Доступны значения: - OneInput – одно поле для Фамилии, Имени и Отчества. - ThreeInputs – для указания Фамилии, Имени и Отчества используются разные поля. - **var** bsLogLevel = 'off'; |
bsLogLevel | Уровень журналирования. Доступны значения *`error`, `info`, `debug`,* `off`. Каждый последующий уровень журналирования включает в себя предыдущий. Например, при указании уровня `debug` в файлы журналов будут выводиться сообщения с уровнями `error` и `info`. `off` - полностью отключает журналирование |
bsLogRootPath | Корневой каталог, в который будут сохраняться файлы журнала. В этом каталоге автоматически создаются отдельные подкаталоги с файлами журнала. Каждый файл содержит информацию за один час работы системы. В качестве разделителя пути к каталогу необходимо использовать двойной обратный слэш(\\\\) в конце пути также необходимо наличие \\\\ |
bsPendingDocQueue | Корневой каталог, в который будут сохраняться файлы с информацией о документах, которые не удалось отправить на обработку в сервис по причине плохого соединения с сервисом. Такие документы будут повторно отправляться при старте системы. В качестве разделителя пути к каталогу необходимо использовать двойной обратный слэш(\\\\) в конце пути также необходимо наличие \\\\ |
bsBarcodeInputSequence | Последовательность клавиш вызова окна ввода штрихкода карты. Если значение не указано, после поиска карты по штрихкоду/телефону не будет выполняться подстановка штрихкода карты в документ. Значение должно совпадать с назначенной в системе для этого действия комбинацией клавиш |
bsCardTypeCodes | Коды видов карт бонусного сервиса. Проверка наличия карт в сервисе будет выполняться только для карт подходящих под условия указанных видов. |
Обязательно в сценарии настроить значение кодов видов карт в переменной `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*, без этого параметра не будут выводится сообщения о возникающих ошибках.
Настройка производится в разделе «Настройки» -> «Макеты экрана» и «Настройки» -> «Раскладки». Для назначения функции на кнопку интерфейса пользователя необходимо в макете экрана выбрать элемент типа кнопка и указать в качестве действия значение Специальные/Сценарий и в качестве параметра указать имя функции. [](https://rzn-wb-02.1c-hosting.com/uploads/images/gallery/2022-11/izobrazhenie-2022-11-15-175342106.png) Для назначения функции на горячую клавишу необходимо проделать аналогичные действия: [](https://rzn-wb-02.1c-hosting.com/uploads/images/gallery/2022-11/izobrazhenie-2022-11-15-175423356.png) Также основной сценарий предоставляет набор переменных, значение которых можно отобразить в интерфейсе пользователя. Состав доступных переменных: - rarusBonusPayment – Количество бонусных баллов, которыми оплачен документ. - rarusBarcode – Штрихкод считанной и идентифицированной процессингом карты. - rarusUserName – Имя пользователя сервиса, связанного с картой. - rarusCardEntered – признак того, что введена карта клиента.. Настройка вывода этих значений выполняется в конструкторе макета экранной формы «Настройки» -> «Макеты экрана». Для вывода используется элемент с типом «Информация», в качестве текста необходимо выбрать «Текущий документ \\ Пользовательская переменная», в качестве значения имя переменной. Например: [](https://rzn-wb-02.1c-hosting.com/uploads/images/gallery/2022-11/izobrazhenie-2022-11-15-175456767.png) ### Подарочные сертификаты Для корректной продажи подарочных сертификатов бонусного сервиса необходимо настроить товар. Для этого нужно перейти в раздел *«Справочники» -> «Товары»* и создать новый товар: [](https://rzn-wb-02.1c-hosting.com/uploads/images/gallery/2022-11/izobrazhenie-2022-11-15-175616548.png) Необходимо указать уникальный код товара и установить признак предмета расчета в значение «Аванс, предоплата». Указанный код товара необходимо ввести в сценарии в переменную bsCodeCertificatePosition. Для того чтобы была возможность продавать данный товар необходимо в карточке товара на вкладке «Разрезы/цены/остатки» необходимо ввести остатки и цены на товар. Остатки можно указать нулевыми, цена должна быть не нулевой. [](https://rzn-wb-02.1c-hosting.com/uploads/images/gallery/2022-11/izobrazhenie-2022-11-15-175730529.png) На вкладке «Контроль» необходимо снять галки у следующих опций «Списание остатков», [](https://rzn-wb-02.1c-hosting.com/uploads/images/gallery/2022-11/izobrazhenie-2022-11-15-175801356.png) Для того чтобы отрабатывали опции заданные в карточке товара необходимо в разделе *«Справочники» -> «Глобальный контроль» установить у опций «Списание остатков», «Запрос цены», «Скидки» и «Редактирование цены»* значение *«Товар».* Для возможности оплаты подарочным сертификатом необходимо в разделе *«Системные справочники» ->* группа *«Оплаты» -> «Виды» создать новый вид оплаты.* [](https://rzn-wb-02.1c-hosting.com/uploads/images/gallery/2022-11/izobrazhenie-2022-11-15-175839548.png) [](https://rzn-wb-02.1c-hosting.com/uploads/images/gallery/2022-11/izobrazhenie-2022-11-15-175956242.png) Необходимо указать уникальный код вида оплаты. Указанный код товара необходимо ввести в сценарии в переменную bsCodeCertificatePayment. Возврат оплаты подарочными сертификатами возможен только наличными поэтому необходимо установить опцию «Разрешить возврат наличными» ### Вывод дополнительных свойств пользователя в интерфейсе кассы Решение позволяет выводить значения дополнительных свойств пользователя, созданных в личном кабинете системы управления лояльностью, в интерфейсе кассового ПО Фронтол. Для того чтобы настроить вывод необходимо в редакторе макета экрана добавить поле с типом "Информация" и установить значение из пользовательской переменной документа. [](https://rzn-wb-02.1c-hosting.com/uploads/images/gallery/2023-05/izobrazhenie-2023-05-29-162812148.png)Подробно о редактировании макетов экрана можно узнать из руководства администратора, поставляемого с кассовым ПО Фронтол
В качестве имени переменной нужно использовать следующий шаблон ***user\_prop\_<Идентификатор свойства>.*** Идентификатор свойства можно получить и указать в личном кабинете системы управления лояльностью.