Программа iiko – комплексное решение проблем общепита
Программа iiko – комплексное решение проблем общепита
В последние десятилетия на отечественном рынке стали появляться компьютерные программы, созданные специально для предприятий общественного питания. Оно также необходимо, как и прочее оснащение общепита — тепловое, холодильное, кухонное, нейтральное и т.д.
Такое программное обеспечение позволяет владельцам кафе и ресторанов грамотно вести аналитику, эффективно организовывать работу, автоматизировать производство, контролировать персонал.
Одним из подобных новшеств является программа iiko, созданная одноименной компанией и предназначенная для автоматизации больших ресторанов, маленьких кафетериев, столовых и сетей быстрого питания.
Продавцы предлагают российским рестораторам взять iiko в аренду и платить за ее использование каждый месяц либо приобрести софт в собственность.
Главная задача iikoChain – управлять распределенной компанией, в которую входит много заведений. Продукт поддерживает различные структуры организации, даже несколько различных сетей ресторанов в рамках одной компании.
Система позволяет гибко управлять заведениями, поддерживая единые стандарты обслуживания клиентов. Вы можете проводить маркетинговые акции и реализовывать программы лояльности клиентов. Отдельно стоит отметить систему анализа и отчетность, которая в реальном времени предоставляет всю важную для принятия управленческих решений информацию.
Поиск источников вдохновения
Давайте попробуем для начала проанализировать, как можно обмениваться данными с Айко. Наблюдать будем глазами дилетанта одинэсника, который ничего не знает о сервере приложений Tomcat, но умеет пользоваться браузером и даже может запустить Fiddler.
Наблюдение 1
За отдельную плату существует возможность приобретения функционала API IIKO. Но это простой и неинтересный программистам путь, поэтому остановимся на пути без дополнительной оплаты. Даже в этом случае компания Айко предоставляет довольно обширную информацию по API, с которой можно ознакомиться на странице http://help.iiko.ru/articles/#!api-documentations/api . Здесь нас интересует как общая схема объектов Айко, так и XML схемы объектов.
Наблюдение 2
Запускаем Fiddler. Запускаем IIKO Office. Устанавливаем фильтр на процесс Айко. Изучаем язык общения приложения с сервером. Многие неочевидные и непонятные моменты можно подсмотреть именно так.
Наблюдение 3
У каждой установки Айко, будь то RMS или CHAIN, существует веб-часть по пути /resto. Зайти можно под учетной записью, которая используется для обычного входа в office. Внутри много интересных дополнений вроде всякого рода отчетов и импорта данных из CSV-файлов (например номенклатуры или технологических карт). Нас же в рамках обсуждаемой темы больше всего интересует /resto/service/maintance/sql.jsp . Данный скрипт позволяет формировать к серверу Айко что-то вроде SQL-запросов (пусть знатоки поправят).
Продукты списываются автоматически, вы всегда будете знать, сколько осталось. Назначьте минимальный остаток, чтобы вовремя заказать продукты поставщику. А инвентаризация поможет найти возможные расхождения с фактическими остатками.
Храните данные и историю посещений клиентов. Начисляйте бонусы или скидки — накопительные либо фиксированные. В отчете о продажах сравнивайте покупки лояльных, новых и прочих клиентов, чтобы оценить эффективность системы лояльности.
Загружайте в Бухгалтерию накладные и получайте приходные кассовые ордера. Получайте в 1С данные с кассы и накладные.
Мы не оставим вас наедине с проблемой. Поможем настроить связи сервиса и кассового модуля, решить технические проблемы и научим работать в сервисе.
Импорт данных из iiko
Скрипты импорта предназначены для выгрузки данных в систему Mozg.Rest . Импорт может производится как из RMS, так и из Chain при его наличии. Предпочтителен импорт из Сhain, так как потребуется настройка одного экземпляра скриптов и единая лицензия на API.
- у скриптов должен быть доступ в SQL базу данных, можно только на чтение;
- в пути к скриптам не должно быть кириллицы;
- для импорта себестоимости на сервере должен быть установлен PowerShell версии 3.0 и новее;
- для импорта себестоимости на сервере iiko обязательно наличие лицензии iiko server api (OLAP) (Платная).
1 Этап — Развертывание ПО и настройка
Ссылка на актуальную версию архива с ПО для импорта: https://mozg.rest/mozg_import_iiko.zip
В архиве находится папка mozg_import с набором скриптов.
Распакуйте папку на диск C: любого из компьютеров при условии наличия на компьютере sqlcmd и подключения к SQL-серверу.
В файле variables.ini пропишите параметры:
- sqlcmd= путь к программе sqlcmd (устанавливается вместе с SQL-сервером)
- ps= путь к исполняемому файлу powershell.
- serv=адрес и порт SQL сервера. Если ПО расположено на самом сервере, то можно указать просто .имя экземпляра (по умолчанию 127.0.0.1:1433)
- user=логин для доступа к базе SQL. Обязательно пользователь SQL, не Windows.
- pass=пароль для доступа к базе SQL
- db=имя базы данных SQL сервера
- iikoaddr=адрес сервера Tomcat iiko (по умолчанию 127.0.0.1:8080)
- iikouser=имя пользователя iiko
- iikopass=хэш SHA1 пароля пользователя iiko (можно сделать тут sha1-online.com )
- orgid= id организации в системе Мозг. Смотреть в mozg.rest — Настройки – Импорт данных
- impkey= ключ для импорта, смотреть в mozg.rest
- dbid= id базы данных, смотреть в mozg.rest
Для каждой отдельной базы данных SQL сервера нужно создавать копию папки mozg_import и в каждой настраивать variables.ini .
ВАЖНО: если для разных БД указать в настройках импорта один и тот же dbid, все ваши данные смешаются и вместо итога по одному филиалу/ресторану вы получите Итого по всем. Для исправления ситуации нужно будет поставить разные dbid во всех variables.ini, удалить все загруженные в Мозг данные и загрузить их заново.
Для проверки настройки подключения к SQL можно запустить check_rests_iiko.bat . Если все корректно, то в консоли появится список ресторанов, иначе — ошибка с описанием.
2 Этап — Импорт справочников
ВАЖНО: При первой настройке импорта запустите imp_dict_iiko.bat , чтобы список ресторанов попал в Мозг. После этого в Мозге (Настройки — Рестораны) необходимо проставить галочки в поле “Импорт” у ресторанов, которые планируется выгружать.
Для импорта справочников также используется скрипт imp_dict_iiko.bat . При запуске ничего указывать не нужно. При корректном импорте и отправке появляется сообщение об успешном помещении архива в очередь импорта. Процесс может занять некоторое время.
Убедится в том, что все было выгружено корректно можно в mozg.rest — Настройки – Залы. В списке должны быть залы только тех ресторанов, которые были отмечены галочками.
Если у вас нет возможности зайти в Мозг, обратитесь к сотрудникам технической поддержки для настройки списка ресторанов.
3 Этап — Импорт продаж
Для импорта данных о продажах используется скрипт imp_period_iiko.bat . При запуске скрипта укажите период, который необходимо выгрузить. Даты указываются в формате “ ГГГГ-ММ-ДД ”.
При корректном импорте появится сообщение об успешном добавлении архива в очередь, иначе — ошибка, помешавшая импорту. При первом импорте необходимо выгружать данные за последние 2 года, либо от даты начала работы заведения.
Если в предыдущим этапе вы не отметили рестораны на импорт, то данные выгружаться не будут.
Также возможны ошибки входа пользователя sql. Для диагностики вы можете открыть любой из сформированных .csv файлов, либо запустить check_rests_iiko.bat
4 Этап — Импорт себестоимости
Себестоимость берется из отчета OLAP по продажам через подключение к iiko api. Поэтому для импорта сс обязательно наличие лицензии на api сервер iiko. Если импорт настраивается из нескольких RMS, то лицензия должна быть на каждом из них. Если импорт из сервера Chain, то достаточно единственной лицензии на самом сервере.
Для импорта используется скрипт imp_cost_iiko_period.bat
При запуске укажите период, за который нужно производить импорт. Так как сс берется за месяц, то дата в скрипте указывается в формате “ ГГГГ-ММ ”.
Если во время импорта в консоли появляется ошибка, то в первую очередь необходимо проверить файл token.txt . При правильной работе там должен содержатся код доступа к api iiko, в ином случае — текст ошибки подключения.
5 Этап — Настройка автоимпорта
Автоимпорт настраивается через планировщик заданий Windows.
В Бибилиотеке планировщика заданий — создать папку Mozg — в ней Создать простую задачу – Имя imp_yest_iiko – Ежедневно – Начать 5:00:00 – Запустить программу – Обзор – mozg_import auto_import.bat
ВАЖНО: настраивайте выполнение задачи от имени системы, это позволит в будущем избежать проблем со входом пользователя в систему, например, в случае изменения пароля.
Скрипт auto_import.bat выгружает продажи за последние 4 дня и себестоимость за месяц. Обязательно укажите рабочую папку, иначе при выполнении будет происходить ошибка отсутствия файла ( 0х1 ).
В параметрах задачи поставьте отметку “ Немедленно запускать задачу, если пропущен плановый запуск ”.
Запустите задачу для проверки работоспособности. При корректной работе код выполнения должен быть 0х0 .
Выгрузка данных может занять до часа времени, поэтому выбирайте время начала выгрузки так, чтобы управляющие и бухгалтерия к моменту прихода на работу уже могли воспользоваться Мозгом.
После того, как задача настроена, на следующий день обязательно проверьте в планировщике, что она завершилась успешно.
Сразу после запуска внешней обработки откроется форма выбора подключения:
Добавим новое подключение:
Выберем добавленное подключение и нажмем "Подключиться"
Необходимо подождать некоторое время, пока загрузятся справочники из IIKO.
После выбора типа документа нажмем на кнопку "Подбор" и добавим выгружаемые документы:
Далее жмем на кнопку "Заполнить таблицы". Должны появиться вкладки с таблицами сопоставления, в которых соотносим реквизиты выгружаемых документов со справочниками IIKO.
Перейдем к первой таблице "Номенклатура":
Для сопоставления выберем строку с пустым значением IIKO и двойным кликом вызовем окно с данными. Воспользовавшись поиском можно быстро найти нужное значение:
Таким образом сопоставим все значения во всех таблицах и нажмем кнопку "Передать в IIKO":
В завершение должно появится сообщение о результатах отправки документа в IIKO. После этого можно перейти в IIKO и найти созданный документ по номеру из сообщения:
Все документы выгружаются непроведенными.
Версии программного обеспечения
Платформа — 1С:Предприятие 8.3 (8.3.11.2867). По идее подойдет и гораздо старше, начиная с появления методов для работы с HTTP, строковые функции типа СтрРазделить.
Конфигурация — Бухгалтерия предприятия, редакция 3.0 (3.0.52.36). Данная версия просто использовалась для разработки, однако не так много объектов прикладного решения было задействовано и обработка должна работать на многих других версиях без исправлений или с внесением минимальных корректировок.
IIKO — работа проверена на версиях, начиная с 4.5.4038 по 6.2.2015 (как Chain, так и RMS).
Сервер IIKO должен быть доступен извне, для возможности подключения к нему сервисом izi.cloud. При невозможности внешнего подключения для обмена используется standalone версия сервиса.