Как настроить автоматическое предложение сопутствующих товаров во Frontol?

Программист Торговля и дистрибуция
← На главную

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

Способ 1. Использование встроенного механизма «Схемы модификаторов»

Если требуется обязательный или рекомендуемый выбор сопутствующего товара без программирования и написания скриптов, наиболее надежным и штатным решением является использование механизма модификаторов. Разберем по шагам, как это настроить:

  1. Откроем модуль администрирования Frontol и перейдем в раздел настройки схем модификаторов.
  2. Создадим новую схему модификаторов, в которую включим перечень необходимых сопутствующих товаров или целую группу сопутствующего ассортимента.
  3. В свойствах схемы настроим условия: укажем минимальное и максимальное количество позиций для выбора кассиром (например, от 0 до N, если выбор необязателен, или от 1, если добавление обязательно).
  4. Перейдем в справочник номенклатуры, откроем карточку основного товара и на вкладке свойств укажем созданную схему модификаторов.

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

Способ 2. Реализация через пользовательские сценарии (JavaScript)

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

Проанализируем структуру работы со сценариями:

  1. Событийная модель: в настройках сценариев Frontol можно привязать обработчик к конкретному событию. Для перехвата добавления товара используются события beforeAddPosition (добавление позиции) или afterAddPosition (после добавления позиции). Также доступен универсальный тип события ANY, внутри которого проверяется код текущей операции.
  2. Проверка условий: в теле скрипта получаем данные о регистрируемом товаре (код, артикул, группу или значения пользовательских реквизитов) и проверяем, привязаны ли к нему сопутствующие товары.
  3. Диалог с пользователем: при выполнении условия вызываем диалоговое окно подтверждения с помощью методов Frontol (например, вывод сообщения с вопросом кассиру).
  4. Добавление в чек: в случае положительного ответа сценарий программно добавляет сопутствующую позицию в текущий документ через объектную модель кассовой программы.

Посмотрим на пример базовой структуры пользовательского сценария:


function init() {
    frontol.addEventListener("afterAddPosition", "onAddPosition");
}

function onAddPosition(position) {
    // Проверяем код или артикул добавленного товара
    if (position.item.code == 105) {
        // Запрашиваем подтверждение у кассира
        var answer = frontol.actions.showMessage("Предложить пакет/сопутствующий товар?", 1);
        if (answer == 1) {
            // Добавляем связанный товар по его коду
            frontol.currentDocument.addPosition("code", 200, 1);
        }
    }
}

Способ 3. Настройка кнопок на визуальной раскладке

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

Особенности отладки и ограничения скриптов во Frontol

При разработке пользовательских скриптов во Frontol важно учитывать следующие нюансы:

  1. Отладка кода: встроенный движок сценариев не имеет интерактивного пошагового отладчика с точками останова. Для контроля значений переменных используется вывод отладочных сообщений через frontol.actions.showMessage() или логирование в текстовый файл.
  2. Ограничения интерфейса: стандартные методы скриптов позволяют выводить простые диалоговые окна (вопрос «Да/Нет», ввод числа/строки). Для создания сложных интерактивных каталогов с визуальным выбором требуется использование внешних COM/ActiveX-компонент.
  3. Документация: подробное описание доступных объектов, методов и структуры событий содержится в официальном руководстве интегратора Frontol.
← На главную