К содержанию
DGurov

Интеграции, 3 мин чтения

Как связать 1С с сайтом и не сломать её обновлением

Почему обмен нужно строить на OData и расширении, а не правкой конфигурации.

Как связать 1С с сайтом и не сломать её обновлением

Самый частый разговор про интеграцию начинается одинаково: «у нас конфигурация переписана, обновления её ломают, поэтому мы вообще ничего не трогаем». Это разумный страх, и его стоит закрывать до того, как обсуждать цену.

Что такое OData в 1С

В платформе 8.3 есть штатный REST-интерфейс. Он включается публикацией базы на веб-сервере и открывает справочники и документы наружу без единой строчки кода в конфигурации. Это важно: если обмен построен на нём, обновление типовой ничего не ломает, потому что ломать нечего.

Через OData видно номенклатуру, характеристики, цены, остатки по складам, контрагентов, заказы и документы. Для девяти задач из десяти этого хватает.

Когда OData не хватает

Бывает, что нужный расчёт живёт внутри конфигурации: своя логика резервирования, нестандартный подбор цены, проведение по особым правилам. Тогда пишется HTTP-сервис, но не в конфигурации, а в расширении.

Расширение это отдельный объект, который живёт рядом с типовой и переживает её обновление. Доработка внутри конфигурации не переживает.

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

Почему между сайтом и 1С нужен промежуточный слой

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

  • Справочники и остатки кэшируются на стороне сайта и обновляются раз в 10–15 минут
  • Тяжёлые выборки идут пакетами по расписанию, а не по запросу пользователя
  • Запись из сайта в 1С выполняется через очередь, а не синхронно
  • Обмен ходит под отдельным служебным пользователем с минимальными правами, не под администратором

Что придётся сделать вам

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

Решения по спорным карточкам принимает заказчик: только он знает, какая из трёх правильная. Обычно это три-четыре часа рабочего времени, и заложить их надо заранее.

Дмитрий Гуров

Дмитрий Гуров

Делаю сайты, ботов и интеграции. Работаю один.

Написать

Расскажите задачу, отвечу цифрой и сроком

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

Заявка ушла. Отвечу сам, обычно в течение двух часов в рабочее время.

Отвечаю сам, не менеджер. Без предупреждения не звоню: сначала пишу. В рассылки не добавляю, базу никому не передаю.

Что будет после отправки

  • Скажу, подойдёт ли вам эта услуга и сколько она стоит именно у вас
  • Назову срок и то, что войдёт в договор
  • Если задача не моя, скажу об этом и посоветую, к кому идти

Напрямую:

@ dmitrygrv +7 912 661-71-00 info@dgurov.com

Написать в Telegram