IIKO (Айко). Обмениваемся накладными с 1С

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

Описание текущей ситуации

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

Вроде неплохо. Внешнюю обработку можно немного доработать для работы в фоне по расписанию, а проблемы с установкой внешней компоненты случаются в основном в облачных сервисах и особо не проявляются, если одинэс живет внутри организации. Конечно же на этом этапе существует ряд "НО". К примеру нам недоступно использование решений 1С Fresh, потому что внешняя обработки из поставки не проходит аудит облачного решения. На данный момент есть решение под 1С Fresh, работающее с небольшими ограничениями.

А что, если мы захотим передать данные обратно, из в Айко? Данная потребность может показаться надуманной: кому нужно выгружать данные из системы для регламентированной отчетности в систему для управленческого учета сферы HoReCa? Как показала практика, постановка такого вопроса не редкость. Данная ситуация может произойти хотя бы потому, что база с большей долей вероятности могла появиться раньше решения от Айко. Зачем вновь создавать стопицот номенклатурных позиций, когда они уже все есть в ?

Поиск источников вдохновения

Давайте попробуем для начала проанализировать, как можно обмениваться данными с Айко. Наблюдать будем глазами дилетанта одинэсника, который ничего не знает о сервере приложений 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С, можно заключить, что нет никаких препятствий для формирования запросов к Айко прямо из 1С.

Примерная схема передачи документа Поступление из типовой Бухгалтерии в IIKO (Айко) может выглядеть следующим образом:

  • Организуем подписку на события при изменении документа Поступления;
  • В регистрации события фиксируем измененный документ в планы обмена;
  • На основе XDTO документа Айко формируем XML-представление из документа Поступление;
  • Отправляем HTTP-запрос на сервер;
  • Обрабатываем ответ.

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

Вместо заключения

Спасибо, если дочитали до конца. Надеюсь, изложенная информация поможет в решении вопросов автоматизации.

Если что-то не будет получаться, обращайтесь, буду рад помочь.

UPDATE

[25.06.18][Добавлено] "Создаем номенклатурную позицию в IIKO (Айко) по данным из 1С". Описание процесса передачи данных из 1С в Айко с прикладной точки зрения. В конце статьи можно скачать внешнюю обработку, демонстрирующую описанную технологию.

[12.09.18][Добавлено] "Из 1С в IIKO: Передаем перемещения УТ в приходные накладные". Рассмотрение прикладных вопросов, возникающие при реализации обмена.

[27.11.18][Добавлено] "izi.cloud: Передаем поступления БП в приходные накладные IIKO без регистрации и смс". В статье рассмотрен вариант реализации создания приходных накладных IIKO из типовой Бухгалтерии предприятия 3.0 с использованием функционала сервиса izi.cloud. (обработка инсайд)

[31.01.19][Добавлено] "Передаем накладные из 1С в IIKO (Айко)". Пошаговое руководство по выгрузке документов с использованием сервиса izi.cloud.

13 Comments

  1. ifal

    Интересное начало, не хватает хотя бы одного примера.

    Reply
  2. oyti

    Конкретная реализация защищена NDA. Обмен осуществляется в фоне и из интересного почитать можно разве что логи.

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

    Reply
  3. RocKeR_13

    (2) Не пробовали добавить sql-базу iiko в качестве внешнего источника данных?) Сам не в восторге от их обработок, но руки не доходили пока что-то изменить. Точнее года 4 назад подпилил их обработку для загрузки в бухню 3.0, а сотрудники iiko при последующем общении с этим клиентом все перезатерли и не поленились удалить копии обработок на диске)

    Reply
  4. oyti

    (3) использовать SQL-базу iiko в качестве источника внешник данных — значит миновать прикладной уровень, а вместе с тем появится потребность реализовывать уровень приложения Айко.

    Что касается описанного вами случая, то все мы допускаем ошибки, а мысль сделать резервную копию приходит после случившегося. Такие моменты делают нас опытней и учат своевременно делать бэкапы.

    Reply
  5. RocKeR_13

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

    P.S. Копия у меня была, благополучно ее вернул на место: к тому времени уже прошел стадию «забыл сделать бэкап»)

    Reply
  6. oyti

    (5) Прямое подключение в типовом функционале реализовано через внешнюю компоненту, которая давно не сопровождается. В частности по какому-то из документов реализации (возможно услуги) через компоненту отсутствует информация по кассам, в то время, как в файле она есть. В конечном случае пришлось столкнуться со случаем, когда для доработки данная информация потребовалась, а вот таблицу из компоненты свернуть не удалось из-за отсутствия необходимых полей.

    Reply
  7. oyti

    (1) постарался исправить данный момент в следующей публикации https://infostart.ru/public/852996/

    Reply
  8. user1045437

    здравствуйте, нужна загрузка из iiko в 1с. как получить файл с загрузкой?

    Reply
  9. oyti

    (8) Здравствуйте. Обратитесь в центр поддержки клиентов организации, у которой находитесь на обслуживании. Ребята все установят.

    Reply
  10. Nattaurl

    Добрый день!

    Вы пишите: На данный момент есть решение под 1С Fresh, работающее с небольшими ограничениями.

    Можно ли подсказать, что это за решение? Ранее выгружали из iiko в 1С 8.2. Сейчас обновились и перешли на 1СФреш, и все приходится вбивать ручками, за весь прошлый квартал. Обработка через которую работали не подходит, у кого находимся на обслуживании в iiko сказали, что обработку запросили у iiko, но время идет, а обработки нет.

    Reply
  11. oyti

    (10) Здравствуйте.

    Мы предоставляем своим клиентам видоизмененную версию типовой выгрузки для 1С:Fresh. Насколько мне известно она относится к официальной поставке. Обработка сначала отправляется на аудит обслуживающей компании, а впоследствии доступна через интерфейс внешних обработок и отчётов.

    Прошу прощения, на данный момент в отпуске. Более детальную информацию можно получить на сайте сервиса Изи Клауд или компании Лемма

    Reply
  12. Nattaurl

    Спасибо!

    Reply
  13. Nattaurl

    (11) Добрый день!

    Связалась с компанией Лемма, мы собственно готовы приобрести обработку. Но ответа так и не получила, два раза перезвонили, уточнили, не нужно ли нам обслуживание. Обслуживание не нужно, только обработка для 1с фреш. Но в итоге, обработку мы пока так и ждем. Может, по выходу из отпуска, можно как-то ускорить этот процесс?) будем очень благодарны.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *