В этой статье будет рассмотрен вариант продажи порционного алкоголя через r_keeper 7 и ЕГАИС с использованием StoreHouse 5.

Системные требования

  • r_keeper 7.7.0.325 и выше
  • StoreHouse 5.143 и выше
  • Сканер штрих кодов, основное требование к сканеру — поддержка штрих-кодов в формате PDF417 и DataMatrix, а также поддержка в r_k 7 
  • Farcards 604
  • Интерфейсная библиотека для Farcards ExtdllEGAIS.dll. 2.4.0.10. Для работы в Windows 7 нужно поставить Framework 4.5.1
  • УТМ 4.2.0, BuildNumber 2600

Технология работы

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

Для бутылок, вскрытых в ЕГАИС до ввода порционного учета:

  • отсканировать EAN13
  • отсканировать DataMatrix/PDF417
  • указать оставшийся от бутылки объем. Если бутылка еще фактически не использовалась, указать объем целой бутылки
  • марка проходит проверку на наличие в базе SH5.

Для алкоголя, вскрывающегося после ввода порционного учёта, бутылка сканируется единожды при вскрытии:

  • отсканировать EAN13
  • отсканировать DataMatrix/PDF417
  • марка проходит проверку на наличие в базе SH5.

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

В момент оплаты StoreHouse 5:

  • для чистого алкоголя — проверяет по комплекту блюда наличие вскрытых бутылок и необходимый объем для списания. Передает информацию по марке и объёму в кассу. Касса передает в УТМ данные по чеку (марки, вскрытые до ввода порционного учета не передаются в УТМ). В случае успешной проверки в УТМ заказ можно будет оплатить, при этом автоматически распечатается фискальный чек с QR-кодом для самостоятельной проверки алкогольной продукции.
  • для коктейлей — фиксирует информацию в базе. После закрытия кассового дня на основе комплектов по FIFO (из вскрытых бутылок) подбираются марки, и создается акт списания с причиной Приготовление. Если при подборе будут использованы марки "ранее вскрытые в ЕГАИС", они не будут участвовать в актах, так как фактически уже списаны.
Удалять чек, где присутствует алкогольная позиция, можно только полностью. Делать возврат отдельных товаров из чека нельзя.

Принцип подбора марок из SH5

Объём списания алкоголя рассчитывается на основании комплектов SH, привязанных к блюдам r_k. Подбор марок происходит только из вскрытых на кассе бутылок, сопоставленных с товарами SH.

При реализации сначала по FIFO проверяются марки, вскрытые в форме Ранее вскрытые в ЕГАИС. Если бутылок, вскрытых до ввода порционного учета, нет, только после этого, также по FIFO, проверяются марки, вскрытые в форме Вскрытие бутылок.

Например, на кассе "вскрыто" две бутылки водки "Беленькая" 0.7л.
Одна бутылка вскрыта в форме Ранее вскрытые в ЕГАИС, вторая в форме после Вскрытие бутылок.
При продаже на кассе блюда "Водка Беленькая 1л" сначала спишется объем бутылки (700мл), ранее вскрытой в ЕГАИС, а после 300мл из бутылки, вскрытой после ввода порционного учета.

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

УТМ

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

Если на предприятии уже установлен модуль УТМ (например, для системы StoreHouse), его можно задействовать для интеграции с r_keeper 7.

Farcards

Установка FARCARDS необходима для передачи чеков в ЕГАИС.

Подробно процесс установки модуля Farcards описан в статье Установка и настройка системы ПДС.

После установки и базовой настройки Farcards необходимо подключить и настроить интерфейсную библиотеку ExtdllEGAIS.dll — актуальную версию можно скачать на FTP ftp://ftp.ucs.ru/rk7/other/fc_egais/

Для подключения библиотеки в файле FARCARDS.INI прописываем параметры:

[FarServer]
Type = 1
DLL = ExtdllEGAIS.dll
...
CODE

Остальные секции и параметры настраиваются стандартным образом — более подробно в документе Настройка связи с ПДС.

Далее настраиваем конфигурационный файл ExtdllEGAIS.ini для библиотеки ExtdllEGAIS.dll:

Настройки для версии 2.4.0.6:

[EGAIS]
INN=7701723018
KPP=770101001
Address=Москва г, ул. Большая почтовая д. 18 стр. 6
RestaurantName=Шоурум
KassaMachineNum=435345342
UTM=http://172.22.3.62:8081/xml/
 
[Main]
LogLevel=1
MaxChars=40
 
[RK]
InterfaceId=1000097
CODE

где:

  • INN, KPP, Address, RestaurantName — параметры организации. Используются при печати QR-кода (можно взять из настроек УТМ)
  • KassaMachineNum — номер ККМ. Параметр устарел, в версии 2.4.0.6 заполнение не требуется.
  • UTM — URL для обмена данными через УТМ
  • MaxChars — количество символов в строке при печати информации от ЕГАИС в купоне
  • InterfaceId — идентификатор интерфейса (необязательный параметр):
    а. Заполнен — обрабатываются запросы только для этого интерфейса
    б. Не заполнен — обрабатываются запросы для всех интерфейсов.
При добавлении на кассовый сервер нескольких интерфейсов, параметр InterfaceId обязателен к заполнению, иначе ЕГАИС-farcards корректно работать не будет.

Параметры Address, KassaMachineNum, LogLevel устарели, и с версии 2.4.0.7 исключены из конфигурационного файла ExtdllEGAIS.ini.

[EGAIS]
; параметры для печати
INN=7709750359
KPP=770901001
RestaurantName=Тестовый ресторан

UTM=http://172.22.4.154:8080/xml/
[Main]
MaxChars=40


[Rk]
;Если задан, то обрабатывать запросы только от этого интерфейса
InterfaceId=0
CODE

Настройки в менеджерской r_keeper 7

  1. В справочнике Настройки > Параметры в параметре Режим работы заведения выберите значение Режим HoReCa — для реализации порционного алкоголя.

  2. В справочнике Настройки > Параметры в параметре Ввод марок для крепкого алкоголя установите значение:
  3. Выберите реквизиты юридического лица для ФР. Данные реквизиты будут использованы для проверки марок в базе SH5
    В реквизитах для юридического лица заполните КПП.


    Когда в одной базе ведется несколько ресторанов:
    • В случае, если они принадлежат одному юр.лицу, необходимо создавать реквизиты для одного юр.лица с разными КПП и привязывать эти реквизиты к принтерам
    • В случае, если они принадлежат разным юр.лицам, необходимо создавать отдельные юр. лица и реквизиты к ним.
  4. В справочнике Сервис > Обработка сигналов устройств > MCR алгоритмы активированы предустановленные MCR-алгоритмы ЕГАИС EAN13 и ЕГАИС PDF417.
  5. В справочнике Настройки > Печать > Документы и макеты в разделе Документы CRM > Купон создайте новый макет печати ЕГАИС: Инфо. Для этого:
    1. откройте дизайнер макета и импортируйте готовой макет EGAIS_kupon.mak (находится на FTP ftp://ftp.ucs.ru/rk7/other/fc_egais/EGAIS_kupon.mak)
    2. в печатный макет кроме команды QRCode можно добавлять параметр QRProperties <высота>;<Уровень коррекции QR-кода>, например: <QRProperties 100;15%><QRCode "[QRCodeField]">.
  6. В справочнике Настройки > Печать > Схемы печати выберите требуемую схему печати и добавьте в представления документов созданный макет печати ЕГАИС: Инфо. В свойствах представления выберите Класс основного принтера, который будет печатать QR-код (как правило это чековый принтер).
  7. В справочнике Параметры > Установочные > Связь с другими системами в свойствах параметра Классификация для ЕГАИС выберите классификацию Маркировка/Россия
  8. В справочнике Сервис > Станции и устройства выберите кассовый сервер и на закладке Устройства добавьте PDS interface. Интерфейс должен быть добавлен на всех кассовых серверах, которые печатают чеки.
  9. В свойствах PDS-интерфейса настройте базовые параметры и для параметра Pass ALL Receipts XML data установите значение Yes, always (fail if impossible)

  10. В справочнике Сервис > Интерфейсы выберите интерфейс Персональная Дисконтная Система (ПДС) и свяжите его с PDS-интерфейсом, созданным в предыдущем пункте. Если интерфейс Персональная Дисконтная Система (ПДС) уже задействован, скопируйте и переименуйте предустановленный вариант (например, в интерфейс ЕГАИС). Перезагрузите кассовый сервер.
  11. В справочнике Сервис > Станции и устройства выберите кассовую станцию и на закладке Устройства добавьте порт и драйвер для подключения сканера штрих-кодов. Настройте параметры драйвера.
  12. Работникам, которые будут выполнять вскрытия бутылок, установите права:
    • Вскрытые кега/ бутылки
    • Ввод остатков по ранее вскрытым бутылкам

Настройка связи с SH5

  1. Перейдите в Сервис > Экспорт данных > Конфигурации баз данных Shore House. Создайте Новую конфигурацию Store House и заполнить свойства:
    1. Имя пользователя – наименование пользователя SH5
    2. Пароль – пароль пользователя SH5
    3. Сервер – адрес сервера SH5
    4. TCP порт — порт сервера SH5 (по умолчанию 7771).
      Сервер SH5 по указанным настройкам должен быть доступен с главного кассового сервера.

      Кнопка Проверить предназначена для проверки настроек подключения по API. В нашем случае подключение происходит не по API, поэтому кнопку нажимать не надо. 

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

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

    [Config]
    MainCashServerNetName=MID
    CODE

    MainCashServerNetName — сетевое имя главного кассового сервера.

  3. На главный кассовый сервер добавьте драйвер Alcohol accounting interface for SH5.

    На другие кассовые сервера в рамках ресторана добавлять драйвер не требуется.


    Подтвердите операцию.

    Заполните параметры. В параметре
    sh5config выберите конфигурацию, заведённую ранее (см.1 пункт).

Логи хранятся в папке, где установлен кассовый сервер, в файле rkalkosh.log.

Настройки блюда

Проверьте наличие предустановленных условий:

  • В справочнике Меню > Модификаторы по умолчанию добавлены группы модификаторов ЕГАИС EAN13 и DataMatrix/PDF417

    Также убедитесь, что модификаторы включены в используемые торговые группы.
  • В справочнике Меню > Схемы модификаторов по умолчанию добавлена схема РОССИЯ: ЕГАИС, в которую входят группу модификаторов ЕГАИС EAN13 и DataMatrix/PDF417
  • В справочник Меню > Классификации блюд по умолчанию добавлена классификация Маркировка/Россия с предустановленными категориями. Если классификация не активирована, активируйте ее.
    Если меню было заведено до активации классификации, чтобы активировать классификацию Маркировка/Россия, снимите флаг Обяз. группировка. Активируйте классификацию, распределите все блюда по категориям, а потом снова выставьте флаг, если обязательность группировки нужна.
    Для продажи алкоголя будут использоваться категории Алкогольные напитки и Алкогольные коктейли. Для категории Алкогольные напитки выбрана схема модификаторов РОССИЯ: ЕГАИС.
    Также убедитесь, что категории включены в используемую торговую группу.

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

Для чистого алкоголя:

  • В классификации Маркировка/Россия выберите категорию Алкогольные напитки.
  • Выберите Литр в свойстве Тип единицы измерения. Выбранное значение передаётся в атрибут фискального чека Мера количества предмета расчета (Тег 2108). Если значение не заполнено, передаются штуки.
  • Укажите объем напитка в свойстве Объем (мл).

    Значения Типа единицы измерения и Объёма будут использоваться в случае недоступности SH5.
  • В свойстве Тип товара выберите значение Подакцизный товар без кода маркировки.

Для коктейлей:

  • В классификации Маркировка/Россия выберите категорию Алкогольные коктейли
  • В свойстве Тип товара оставьте значение Товар.

Настройки на кассовом сервере

При стандартной установке или обновлении кассового сервера будут автоматически добавлены библиотеки:

    • sh5rki.dll – интерфейс учёта алкоголя
    • sdbcli.dll – клиент SH5
    • msdset.dll
    • domm.dll

Настройка StoreHouse 5

В Sh5 при ведении большого количества документов, некоторые процедуры могут выполнятся не быстро (Например отчеты за большие периоды с расчетом себестоимости)

Для возможности параллельно работать с проверкой марок ЕГАИС и не зависеть от работы бухгалтерии (создания документов, построения "тяжелых" отчетов), необходимо включить режим "многопоточности" на сервере SH

Для настройки SH5 откройте Редактор реестра. В разделе HKEY_LOCAL_MACHINE > Software > Ucs > Sdbserv.2 > SDBSERV в параметре threads установите значение от 2 до 4 - количество потоков обработки данных.

Если характеристики компьютера, где установлен сервер SH, позволяют запустить больше потоков, можно устанавливать значения больше.

Работа в StoreHouse 5

Перед началом работы проверьте следующие требования:

  • Товар SH должен быть сопоставлен с товаром ЕГАИС.
  • Товар SH, сопоставленный с товаром ЕГАИС, должен быть указан в комплекте блюда r_k 7. На блюде обязательно должен стоять флаг Производить.
  • В комплектах должен быть указан верный объем для списания, так как именно этот объем будет списан при реализации блюда. 

    1. Единица измерения товара может использоваться любая, если для неё указан пересчет к литру.
    2. Взаимозамены при списании в ЕГАИС не учитываются.
  • Для блюд r_k 7 (чистый алкоголь и коктейли) должна быть заполнена закладка  "Списание" (определены подразделения списания)
    Если списание не указано, при закрытии чека выйдет ошибка.

  • Поставка ЕГАИС должна быть подтверждена.

    Если накладная не принята, ставить бутылку на вскрытие нельзя.

Работа на кассе

Вскрытие бутылки

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

Учет вскрытия бутылок идет в разрезе Категории заказа/Место реализации. Это надо для последующего правильного подбора марок при реализации. Например, в схеме, когда в заведении есть бар перового и второго этажа, и каждый из них работает со своими бутылками, создаём две категории заказа, назначаем им использование. Марки будут вскрываться и реализовываться отдельно для каждого бара.

Для вскрытия бутылки в главном меню откройте форму Меню > раздел Вскрытие бутылок.

  • Каждую бутылку, вскрытую до ввода порционного учета, надо единожды будет добавить в форму Ранее вскрытые в ЕГАИС.

    Эти бутылки будут списываться в первую очередь и не передадутся в УТМ, так как вскрытый алкоголь повторному учёту не подлежит.


    В этой форме:
     

    • нажмите кнопку Вскрыть бутылку. Если есть связь с SH5, кнопка зеленая, если нет – красная.
    • отсканируйте DataMatrix/PDF417
    • отсканируйте EAN13
    • укажите оставшийся от бутылки объем (в МЛ). Если бутылка еще фактически не использовалась, укажите объем целой бутылки.

      После добавления бутылки заполнятся следующие поля:
      • Наименование товара – наименование товара ЕГАИС, определиться по марке из базы SH5
      • Время начала — дата и время добавления бутылки в список
      • Доп.информация — код товара ЕГАИС
      • Объем — объем, указанный при вскрытии
      • Статус — два вариант: подключен или ожидает проверки
      • Автор — работник, зарегистрированный на станции.
  • Для алкоголя, вскрывающегося после ввода порционного учета, бутылка сканируется единожды при вскрытии в форме Вскрытие бутылок:

    • нажмите кнопку Вскрыть бутылку. Если есть связь с SH5, кнопка зеленая, если нет – красная.
    • отсканируйте DataMatrix/PDF417.
    • отсканируйте EAN13


      После добавления бутылки заполнятся следующие поля:
      • Наименование товара – наименование товара ЕГАИС, определиться по марке из базы SH5
      • Время начала — дата и время добавления бутылки в список
      • Доп.информация — код товара ЕГАИС
      • Объем — объем целой бутылки.
      • Статус — два вариант: подключен или ожидает проверки
      • Автор — работник, зарегистрированный на станции.

        Детализацию по строке можно увидеть, нажав на неё.

Данные по отсканированным маркам попадают в Store House в пункт Сервис > ЕГАИС > Вскрытие марки.

  • Код ЕГАИС – уникальный идентификатор товара в базе ЕГАИС.
  • Наименование – наименование товара поставщика в базе ЕГАИС.
  • Емкость – единица измерения емкости, в которой поставляется товар поставщиком.
  • Начало (Литр) – указывается объем бутылки в единице измерения Литр. Объем бутылки берется из документов ЕГАИС, пересчитывается в Литры по коэффициентам единиц измерения из карточки товара Store House сопоставленного с товаром ЕГАИС. Для бутылок, списанных по документам ЕГАИС, указывается оставшийся объем от бутылок (информация по остатку вскрытой бутылки приходит с кассовой станции).
  • Расход (Литр) – указывается расход в единице измерения Литр от вскрытой бутылки. Данные по расходу вскрытой бутылки попадают при оплате чека, содержащего чистый алкоголь и (или) коктейли, на кассовой станции. Расход алкоголя рассчитывается на основании комплектов, привязанных к карточке товара (блюда). Подбор марок происходит только из вскрытых на кассе бутылок, сопоставленных с товарами Store House. Поэтому для реализации алкогольной продукции через кассу товары ЕГАИС должны быть сопоставлены с товарами Store House.
  • Остатки (Литр) – указывается остаток в единице измерения Литр от вскрытой бутылки. Объем вскрытой бутылки уменьшается при оплате чека, содержащего чистый алкоголь и (или) коктейли, на кассовой станции.
  • Дата/времядата и время вскрытия бутылки на кассовой станции.
  • Старая – марки, списанные по документам ЕГАИС при вскрытии потребительской тары алкогольной продукции. На остатках FSRAR_ID такие марки не числятся, но есть в наличии. Сначала подбор для списания марок идет по позициям с флагом Старая, далее подбираются марки под списание по методу FIFO.
  • Блок. – флаг выставляется для заблокированной марки. Остаток с заблокированной марки списываться не будет.
  • Марка – код марки, переданный кассой.
  • EAN13 – код EAN13, переданный кассой.
  • Справка Б – внутренний номер ЕГАИС, который присваивается каждой строке алкогольной продукции из приходной накладной при фиксации накладной в ЕГАИС. Данный номер можно увидеть в накладной ЕГАИС и в остатках 1-го регистра.

Если по какой-то причине в результате обращения к ЕГАИС с подобранными SH5 марками на кассовой станции при продаже бутылки выходит ошибка на марку, рекомендуем отставить в сторону такую бутылку для дальнейшего изучения причин рассинхронизации данных в ЕГАИС и базе Store House. Данную марку можно заблокировать, нажав на кнопку Заблокировать. Остаток с заблокированной марки списываться не будет.

Если нужно снять блокировку с марки для дальнейшей ее продажи, нажмите на кнопку Снять блокировку.

Добавление блюда в заказ

При наличии связи с SH5 добавление позиций алкоголя в заказ происходит обычным способом. Чистый алкоголь и коктейли добавляются одинаково.

Если связи с SH5 нет, коктейли добавляются обычным способом, а чистый алкоголь добавляется с обязательным указанием EAN13 и DataMatrix/PDF417. Подробнее описано здесь.

Продажа чистого алкоголя

При оплате заказа с блюдами, входящими в категорию Алкогольные напитки, происходит онлайн проверка в SH по комплекту на наличие вскрытой марки и достаточного объема. Информация передаётся в кассу.

Перед печатью фискального чека данные передаются в УТМ в формате ChequeV4. После получения положительного ответа от ЕГАИС печатается фискальный чек + QRкод ЕГАИС.

Если на момент оплаты ЕГАИС будет недоступен выйдет ошибка. Чек закрыт не будет.

Продажа коктейлей

В момент оплаты StoreHouse 5 рассчитывает ингредиенты по комплекту и фиксирует информацию о количестве реализации в своей базе. Чек закрывается.

Удаление чека

При удалении чека с чистым алкоголем в УТМ отправляется возврат в формате ChequeV4.

При удалении чека с коктейлем в накопительной базе SH5 удаляются записи с этим чеком и объем алкоголя возвращается на остаток.

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

Закрытие дня

В момент закрытия общей смены в r_keeper в Store House формируются документы Акт списания по результатам продажи алкогольной продукции через кассовую станцию.

Акты списания сохраняются в Store House в пункт Сервис > ЕГАИС > Акты.

Для каждого Места реализации приходят отдельные Акты списания:

  • по реализации чистого алкоголя с комментарием Обработка чеков
  • по реализации алкогольной продукции через коктейли с комментарием Приготовление.

Акт списания по реализации чистого алкоголя НЕ ТРЕБУЕТСЯ отправлять в ЕГАИС, информация по списанию объема алкоголя передается в момент закрытия чека через кассовую станцию. Данные акты будут использованы при построении алкогольной декларации (ЕГАИС).

Акт списания по реализации алкогольной продукции через коктейли необходимо отправлять вручную в ЕГАИС.

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

  • Акты списания отличаются только полем Комментарий.
  • Акт списания по чистому алкоголю невозможно отправить в ЕГАИС.

  • Дата акта – дата оформления акта.
  • Текущая версия ЕГАИС – версия xml файла акта списания, который будет отправлен в ЕГАИС.
  • Комментарий – заполняется автоматически. Обработка чеков заполняется для Актов по реализации чистого алкоголя. Приготовление заполняется для Актов по реализации алкогольной продукции через коктейли.
  • Причина – заполняется автоматически. В качестве основания списания алкогольной продукции указывается причина Приготовление.

Акт списания будет заполнен номенклатурой и ее свойствами:

  • Код ЕГАИС – уникальный идентификатор товара в базе ЕГАИС.
  • Наименование – наименование товара поставщика в базе ЕГАИС.
  • Емкость – единица измерения емкости, в которой поставляется товар поставщиком.
  • Объем (мл) – указывается объем использованной для приготовления коктейлей (блюд) алкогольной продукции (в миллилитрах).
  • Цена – отпускная цена за единицу измерения «мл». Поле рассчитывается автоматически. Отпускная цена берется из карточки товара Store House, и используется коэффициент пересчета к единице измерения «мл». Поэтому для возможности использовать автоматическую подстановку отпускной цены в акты списания товары ЕГАИС должны быть сопоставлены с товарами Store House.
  • Сумма – поле рассчитывается автоматически. Отпускная цена умножается на объем проданной алкогольной продукции.

    Отпускные цены блюд r_keeper не используются для создания актов списания ЕГАИС

  • Производитель:
    • Код ЕГАИС – уникальный идентификатор корреспондента производителя в базе ЕГАИС
    • Наименование производителя – наименование производителя алкогольной продукции.
  • Справка Б – внутренний номер ЕГАИС, который присваивается каждой строке алкогольной продукции из приходной накладной при фиксации накладной в ЕГАИС. Данный номер можно увидеть в накладной ЕГАИС и в остатках 1-го регистра.