Как перенести номенклатуру и цены из Frontol в 1С и настроить регулярный обмен для общепита?

Программист 1С v8.3 (Управляемые формы) Управленческий учет Сфера услуг, туризм и социальный сектор
← На главную

В практике автоматизации общепита нередко встречается ситуация, когда ресторан или кафе длительное время ведет продажи непосредственно во фронт-офисной системе Frontol, занося меню, модификаторы и цены прямо на кассовом терминале без подключения бэк-офиса. Когда бизнес принимает решение внедрить полноценный товароучет (в 1С:Бухгалтерии, 1С:УНФ, 1С:Рознице или специализированных отраслевых решениях), возникает сложная задача: перенести накопленный справочник меню с сохранением всех кодов, не останавливая работу заведения, и настроить корректный регулярный обмен.

Разберем по шагам, как извлечь данные из кассовой базы, как правильно связать идентификаторы номенклатуры и какую архитектуру учета выпуска продукции выбрать в 1С.

Способ 1. Прямое чтение базы данных Frontol (Firebird) через ADODB

Поскольку рабочая база 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, которые могут потребоваться при формировании запроса:

  1. SPR_WARE — содержит перечень позиций меню (товары, блюда, услуги), их коды и наименования.
  2. SPR_WARE_PRICE — содержит актуальные цены позиций по прайс-листам.
  3. SPR_BARCODE — хранит сопоставленные штрихкоды товаров.
  4. SPR_HIERARCHY — отражает дерево групп и папок меню.
  5. SPR_LAYOUT_SCHEME / SPR_LAYOUT_ITEM — раскладка кнопок быстрого визуального меню для сенсорных терминалов.

Способ 2. Выгрузка через штатный экспорт Frontol Администратор

Если нет возможности настраивать прямое SQL-подключение или доступ к серверу СУБД ограничен, используем штатный механизм:

  1. Заходим в утилиту Frontol Администратор.
  2. Переходим в меню экспорта справочников и выгружаем данные в текстовый файл стандартного формата АТОЛ/Frontol.
  3. Полученный файл содержит текстовые строки с разделителями (артикул, код, наименование, ставка НДС, цена).
  4. Пишем простую обработку в 1С на базе ЧтениеТекста, которая разбирает строки и заполняет справочник Номенклатура и документ УстановкаЦенНоменклатуры.

Критически важное правило: сохранение кодов PLU и модификаторов

Обратим особое внимание на идентификацию товаров. В ресторанах кассиры и официанты привыкают пробивать позиции по коротким кодам (PLU) или используют сетку сенсорных кнопок, жестко привязанную к коду позиции во Frontol.

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

  1. Сквозная нумерация кодов: код из Frontol (SPR_WARE.CODE) обязательно переносим в реквизит Код справочника номенклатуры 1С или в специализированный регистр соответствия кодов ККМ Офлайн.
  2. Разделение модификаторов: во Frontol модификаторы блюд бывают бесплатными (комментарии кухне) и платными (добавки, топпинги). Платные модификаторы необходимо переносить в 1С как самостоятельные номенклатурные позиции, иначе расчет себестоимости и выручки будет искажаться.

Организация кассового обмена и списания блюд

После переноса справочников необходимо выстроить схему регулярного обмена: 1С выступает управляющей базой (бэк-офисом), а Frontol — кассовым рабочим местом (фронт-офисом).

Общая схема обмена в режиме ККМ Офлайн строится следующим образом:

  1. Из 1С во Frontol: по расписанию выгружается текстовый файл формата АТОЛ со списком доступных блюд, актуальными ценами и признаками весового/штучного товара. Контроль остатков во Frontol при ресторанной специфике, как правило, отключается.
  2. Из Frontol в 1С: при закрытии смены (снятии Z-отчета) касса формирует файл отчета о продажах со списком проданных кодов, количества и сумм.

Разберем варианты отражения ресторанных продаж в различных конфигурациях 1С:

1. Вариант на базе 1С:Бухгалтерии предприятия (БП 3.0):

При загрузке кассовой смены создается документ ОтчетОРозничныхПродажах, отражающий факт выручки по готовым блюдам. Для списания продуктов поваров используется документ ОтчетПроизводстваЗаСмену. Для каждого блюда в 1С предварительно заполняется справочник СпецификацииНоменклатуры (состав ингредиентов на порцию). При загрузке отчета о продажах программно формируется ОтчетПроизводстваЗаСмену, куда на закладку «Продукция» попадают проданные блюда, а на закладку «Материалы» по спецификациям рассчитывается и подставляется списание сырья (мясо, овощи, соусы) со склада кухни.

Ограничения типовой 1С:Бухгалтерии: в ней отсутствуют встроенные механизмы учета сезонных коэффициентов холодной и горячей обработки продуктов, нет автоподбора аналогов при нехватке конкретного ингредиента, а также затруднен учет многопередельного производства (полуфабрикаты, заготовки соусов).

2. Вариант на базе 1С:УНФ (Управление нашей фирмой):

1С:УНФ поддерживает типовой обмен с кассами ККМ Офлайн (формат АТОЛ) и содержит встроенный механизм автосписания сырья по спецификациям непосредственно в документе ОтчетОРозничныхПродажах при закрытии кассовой смены. Это исключает необходимость вручную создавать производственные документы и значительно упрощает учет в заведениях со стандартным меню.

3. Специализированные решения (1С:Общепит, Трактиръ, Далион):

Если ресторану требуется сложный калькуляционный учет (калькуляционные карты ОП-1, акты проработки, замена ингредиентов, строгий контроль сроков годности и модуль ЕГАИС для алкоголя), рекомендуется использовать профильные общепитовские конфигурации с готовой поддержкой форматов обмена Frontol «из коробки».

← На главную