В практике автоматизации общепита нередко встречается ситуация, когда ресторан или кафе длительное время ведет продажи непосредственно во фронт-офисной системе Frontol, занося меню, модификаторы и цены прямо на кассовом терминале без подключения бэк-офиса. Когда бизнес принимает решение внедрить полноценный товароучет (в 1С:Бухгалтерии, 1С:УНФ, 1С:Рознице или специализированных отраслевых решениях), возникает сложная задача: перенести накопленный справочник меню с сохранением всех кодов, не останавливая работу заведения, и настроить корректный регулярный обмен.
Разберем по шагам, как извлечь данные из кассовой базы, как правильно связать идентификаторы номенклатуры и какую архитектуру учета выпуска продукции выбрать в 1С.
Поскольку рабочая база Frontol функционирует под управлением СУБД Firebird (расширения файлов .gdb или .fdb), мы можем подключиться к ней напрямую из 1С с помощью COM-объекта ADODB.Connection и стандартного драйвера Firebird/InterBase.
Проанализируем структуру строки подключения и пример кода внешней обработки 1С для чтения данных из кассовой базы:
Соединение = Новый COMОбъект("ADODB.Connection");
СтрокаПодключения = "Driver=Firebird/InterBase(r) driver;" +
"UID=SYSDBA;" +
"PWD=masterkey;" +
"CHARSET=WIN1251;" +
"client=C:\Program Files\Firebird\Firebird_2_5\bin\fbclient.dll;" +
"Dbname=192.168.1.100/3050:D:\FrontolBase\main.gdb;";
Попытка
Соединение.Open(СтрокаПодключения);
Исключение
Сообщить("Ошибка подключения к базе Firebird: " + ОписаниеОшибки());
Возврат;
КонецПопытки;
ЗапросSQL = "SELECT W.CODE, W.NAME, P.PRICE " +
"FROM SPR_WARE W " +
"LEFT JOIN SPR_WARE_PRICE P ON W.ID = P.WAREID";
НаборЗаписей = Соединение.Execute(ЗапросSQL);
Пока НаборЗаписей.EOF() = 0 Цикл
КодТовара = СокрЛП(НаборЗаписей.Fields("CODE").Value);
ИмяТовара = СокрЛП(НаборЗаписей.Fields("NAME").Value);
ЦенаТовара = Число(НаборЗаписей.Fields("PRICE").Value);
// Создаем или обновляем номенклатуру в 1С
// ...
НаборЗаписей.MoveNext();
КонецЦикла;
НаборЗаписей.Close();
Соединение.Close();
Рассмотрим ключевые таблицы базы Frontol, которые могут потребоваться при формировании запроса:
Если нет возможности настраивать прямое SQL-подключение или доступ к серверу СУБД ограничен, используем штатный механизм:
ЧтениеТекста, которая разбирает строки и заполняет справочник Номенклатура и документ УстановкаЦенНоменклатуры.Обратим особое внимание на идентификацию товаров. В ресторанах кассиры и официанты привыкают пробивать позиции по коротким кодам (PLU) или используют сетку сенсорных кнопок, жестко привязанную к коду позиции во Frontol.
Если при первичной загрузке в 1С сгенерировать новые автоматические коды и затем выгрузить обновленный каталог обратно на кассу, все раскладки кнопок, модификаторы и привычные коды кассиров собьются. Чтобы этого не произошло, соблюдаем следующие правила:
SPR_WARE.CODE) обязательно переносим в реквизит Код справочника номенклатуры 1С или в специализированный регистр соответствия кодов ККМ Офлайн.После переноса справочников необходимо выстроить схему регулярного обмена: 1С выступает управляющей базой (бэк-офисом), а Frontol — кассовым рабочим местом (фронт-офисом).
Общая схема обмена в режиме ККМ Офлайн строится следующим образом:
Разберем варианты отражения ресторанных продаж в различных конфигурациях 1С:
1. Вариант на базе 1С:Бухгалтерии предприятия (БП 3.0):
При загрузке кассовой смены создается документ ОтчетОРозничныхПродажах, отражающий факт выручки по готовым блюдам. Для списания продуктов поваров используется документ ОтчетПроизводстваЗаСмену. Для каждого блюда в 1С предварительно заполняется справочник СпецификацииНоменклатуры (состав ингредиентов на порцию). При загрузке отчета о продажах программно формируется ОтчетПроизводстваЗаСмену, куда на закладку «Продукция» попадают проданные блюда, а на закладку «Материалы» по спецификациям рассчитывается и подставляется списание сырья (мясо, овощи, соусы) со склада кухни.
Ограничения типовой 1С:Бухгалтерии: в ней отсутствуют встроенные механизмы учета сезонных коэффициентов холодной и горячей обработки продуктов, нет автоподбора аналогов при нехватке конкретного ингредиента, а также затруднен учет многопередельного производства (полуфабрикаты, заготовки соусов).
2. Вариант на базе 1С:УНФ (Управление нашей фирмой):
1С:УНФ поддерживает типовой обмен с кассами ККМ Офлайн (формат АТОЛ) и содержит встроенный механизм автосписания сырья по спецификациям непосредственно в документе ОтчетОРозничныхПродажах при закрытии кассовой смены. Это исключает необходимость вручную создавать производственные документы и значительно упрощает учет в заведениях со стандартным меню.
3. Специализированные решения (1С:Общепит, Трактиръ, Далион):
Если ресторану требуется сложный калькуляционный учет (калькуляционные карты ОП-1, акты проработки, замена ингредиентов, строгий контроль сроков годности и модуль ЕГАИС для алкоголя), рекомендуется использовать профильные общепитовские конфигурации с готовой поддержкой форматов обмена Frontol «из коробки».