Реализация бизнес-ланчей во Frontol Win32 с помощью сценариев

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

    • Продажа заранее подготовленных комплектов
    • Продажа бизнес-ланчей с возможностью выбора позиций по каждой из категории блюд, в него входящих

Продажа заранее подготовленных комплектов

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

Автоматизация данного бизнес-процесса как правило не вызывает особых сложностей на стороне Frontol и не требует дополнительных настроек и доработок. Лишь в случае ведомственных столовых, когда бизнес-ланч реализуется сотрудникам предприятий как дотация на питание бесплатно или по специальным скидкам, количество реализуемых в одни руки комплектов, как правило, ограничивается. Для реализации такого ограничения, необходимо обеспечить персональную идентификацию каждого сотрудника посредством карт, вводимых во Frontol устройствами ввода (предпочтительнее ридер магнитных карт или Proximity – считывателями). Далее, необходимо во Frontol создать счетчик с привязкой к карте и загрузить в справочник Карты используемые на предприятии идентификационные карты в связке со счетчиком, значение которого должно равняться количеству доступных для данного сотрудника на сегодня бизнес-ланчей. Данный подход позволяет регулировать количество дотируемых комплектов для разных категорий сотрудников. Например, сотрудникам охраны, находящимся на дежурстве сутки, может быть разрешено несколько комплектов в течение смены. На следующий сутки, когда сотрудник охраны находится на отдыхе, ему запрещена продажа бизнес-ланчей.

Итак, для реализации данного подхода необходимо осуществить следующие настройки:

  1. Запретить ввод нескольких карт клиента:
  2. Создать вид счетчика со значением поля «Автосоздание» = «Карта», для того, чтобы для всех загружаемых или регистрируемых карт был создан экземпляр счетчики данного вида:
  3. Создать группу карт, которая будет соответствовать картам сотрудников.
  4. Осущесвить загрузку карт сотрудников вместе с лимитами на количество бизнес-ланчей, которые задаются в созданном ранее счетчике.
  5. Создать сценарий, который, при вводе в чек карты клиента, будет сохранять в чеке количество доступных для данного клиента бизнес-ланчей, например, чтобы вывести это количество на экран кассира. Сценарий должен иметь момент действия «Ввод карты» и содержать следующий код:

    function BeforeAct(AO, RO, E, O)
    {
    //Перебираем счетчики вводимой карты
    for (O.Counter.Index = 1;
    O.Counter.Index <=
    O.Counter.Count;
    O.Counter.Index ++)
    {
    //Выбираем счетчик, в котором указано количество доступных Бизнес ланчей
    if (O.Counter.TypeCode == 1)
    //Объявляем пользовательскую переменную, в которой хранится количество доступных Бизнес //ланчей
    RO.UserValues.Set (“PassBL”, “Доступно “ + O.Counter.Value + “ Бизнес ланчей”);
    }
    }

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

  6. Поскольку бизнес-ланчи предполагается продавать только сотрудникам предприятия и в ограниченных количествах, необходимо, чтобы бизнес-ланч регистрировался в чек после ввода идентификационной карты. Для этого необходимо ввести некоторые условности. Чтобы можно было отличить бизнес-ланчи от остальной номенклатуры, необходимо отметить их в карточках товара справочника номенклатуры Frontol. Существует множество способов отметить определенные товары в справочнике, даже если коды товаров изменяются при перезагрузке справочников (например, при использовании идентификатора товара «Строка до 20 символов»). Например, ставить определенные значения в полях «Серия» или «Сертификат» или воспользоваться механизмом классификаторов, или же условиться, что наименование товара должно содержать фразу «Бизнес ланч». Воспользуемся последним способом и создадим сценарий с моментом действия «Добавление позиции». Посмотреть сценарий
  7. Подобный сценарий необходимо также создать и для момента действия «Изменение позиции», чтобы запретить продажу большего числа бизнес-ланчей, чем установлено в лимитах сотрудника. Посмотреть сценарий
  8. Для предотвращения возможности покупки большего числа бизне-ланчей, оформив несколько чеков, создадим сценарий с моментом действия «Закрытие чека», в котором спишем уже реализованное в данном чеке количество бизнес-ланчей. Посмотреть сценарий
  9. Остается только создать объекты скидок и указать в них созданные сценарии.

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

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

Итак, в качестве примера рассмотрим следующую задачу. Бизнес-ланч состоит из пяти категорий блюд: первое, второе, гарнир, салат и напиток. Клиент в рамках стоимости бизнес-ланча может выбрать по одному блюду из каждой категории. Клиент может отказаться от любых блюд любой категории. Клиент может заказать любые дополнительные блюда из меню бизнес-ланча, но по розничным ценам. Стоимость бизнес-ланча должна загружаться из back-office. Меню выгружается из back-office непостоянно, но в каждый конкретный день блюда бизнес-ланча меняются. Поэтому необходимо обеспечить продажу только тех блюд, которые доступны сегодня к реализации. Требуется обеспечить контроль количества проданных бизнес-ланчей в back-office.

Введем для примера следующие ограничения:

  1. Необходимо в справочнике товаров разнести блюда бизнес-ланча в разные товарные группы по категориям
  2. Необходимо, чтобы коды товарных групп, в которых находятся разные категории блюд были неизменными
  3. Для обозначения общей стоимости бизнес-ланча, необходимо из back-office в справочник товаров выгрузить номенклатурную единицу с указанной в ней розничной стоимостью бизнес-ланча
  4. Необходимо, чтобы номенклатурный код этой номенклатурной единицы был неизменным
  5. Блюда бизнес-ланча, доступные к реализации в данный момент должны отмечаться любым символом в поле «Серия»

Для реализации требуемого функционала на рабочие места потребуется установить провайдер доступа к базе данных Frontol. Например IBProvider_free_32_3.0.0.3464, бесплатную версию которого можно найти в сети интернет. Из back-office выгружаем справочник номенклатуры, включая все блюда бизнес-ланча с розничными ценами, по которым эти блюда доступны вне состава бизнес-ланча, и номенклатурную единицу для обозначения стоимости бизнес-ланча. Администратор отмечает доступные к продаже блюда бизнес-ланча в поле «Серия». Блюда категории «Первое блюдо» находятся в группе с кодом 1222, «Второе блюдо» в группе с кодом 1223, «Гарнир» в группе с кодом 1224, «Салат» в группе с кодом 1225, «Напиток» в группе с кодом 1226. Номенклатурная единица, в которой хранится розничная стоимость Бизнес ланча, имеет код 1433.

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

  1. На первом шаге необходимо создать сценарий с моментом действия «Нет», в котором и будет осуществляться выбор входящих в бизнес-ланч блюд, а также расчет стоимости бизнес-ланча. Ввиду довольно большого объема кода в сценарии не будем приводить его полное описание. Посмотреть сценарий
  2. Поскольку цены каждого блюда из набора бизнес-ланча рассчитаны программно и напрямую влияют на общую стоимость бизнес-ланча, сторнировать эти позиции нельзя. Это приведет к изменению стоимости бизнес-ланча, что недопустимо исходя из поставленной задачи. С другой стороны, блюда из меню бизнес-ланча, зарегистрированные по розничным ценам вне набора блюд, то есть дополнительно, могут быть сторнированы из чека при необходимости, как и любые другие позиции. Для обеспечения данного функционала напишем сценарий с моментом действия «Изменение позиции». Посмотреть сценарий
  3. Остается только создать объекты скидок и указать в них созданные сценарии
  4. А также назначить на сенсорном макете или в раскладке клавиатуры кнопку, отвечающую за регистрацию бизнес-ланча, т.е. кнопку с вызовом функции “Сценарий”, в параметрах которого указать созданный на первом шаге сценарий

Как же это выглядит в регистрации?

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

  1. После нажатия кнопки, соответствующей регистрации бизнес-ланча на экране появится список ввода первых блюд, доступных к продаже сегодня:
  2. После выбора блюда из предложенного списка или отказа от блюда данной категории кассиру будет показано аналогичное окно выбора блюда из следующей категории и так далее по всем 5 категориям. Допустим, мы выбрали блюда из каждой категории, отказавшись при этом от салата, после этого будет отображен запрос на ввод количества регистрируемых бизнес-ланчей:
  3. После ввода количества происходит непосредственная регистрация как самого бизнес-ланча , так и блюд, входящих в него в чеке:
  4. Как видно, стоимость одного бизнес-ланча равна 250 рублям. В чек зарегистрировались два набранных комплекта на общую сумму 500 рублей и сама позиция бизнес-ланч по цене 0 рублей. После выгрузки данные о продажах попадают в back-office для анализа количества проданных комплектов. Цена каждого блюда рассчитана исходя из стоимости бизнес-ланча, розничных цен блюд и состава набора, и отличается от розничной цены.
  5. Дополнительные блюда из меню бизнес-ланча регистрируются в чеке по розничным ценам обычным способом

Данная методика, при соответствующих доработках, может быть применена для составления любых комплектов, а также для работы с модификаторами на предприятиях общественного питания.

(c)  Павел Сусин
ООО “Арбиссофт”, (495) 978-80-31

Рубрики Мастер класс · Таги

Speak Your Mind

Tell us what you're thinking...
and oh, if you want a pic to show with your comment, go get a gravatar!

You must be logged in to post a comment.