Как найти все механизмы обмена с сайтами в базе 1С:Управление торговлей

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

В процессе сопровождения или аудита конфигурации «1С:Управление торговлей» часто возникает задача выявления всех активных каналов передачи данных на внешние ресурсы. Проблема заключается в том, что современная платформа 1С предоставляет десятки способов реализации интеграции — от типовых планов обмена до кастомных HTTP-сервисов и внешних расширений. Разберем пошагово, как провести комплексную ревизию базы и обнаружить все «точки соприкосновения» с сайтами.

Анализ стандартных механизмов обмена и планов обмена

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

Рассмотрим порядок действий:

  1. Откроем Планы обмена в дереве конфигурации или через меню «Все функции» (Функции для технического специалиста).
  2. Проанализируем узел ОбменССайтом. Именно здесь хранятся настройки для типового обмена с CMS (Bitrix, UMI и др.).
  3. Проверим содержимое справочника Настройки интеграции с информационными системами. В новых версиях УТ здесь могут быть скрыты параметры взаимодействия с маркетплейсами или специфическими веб-платформами.

Если мы обнаружили заполненные узлы в планах обмена, необходимо проверить настройки в пользовательском режиме (раздел «Администрирование — Обмен с сайтом»), чтобы понять расписание и объем передаваемых данных.

Проверка регламентных заданий

Если обмен выполняется регулярно без участия пользователя, информация об этом обязательно должна присутствовать в планировщике заданий. Разберем, как найти скрытые процессы:

Проанализируем список в разделе Регламентные и фоновые задания. Нас интересуют задания, в имени или метаданных которых встречаются ключевые слова: «сайт», «обмен», «интеграция», «web», «http», «api». Однако помните, что разработчик мог назвать задание нейтрально, например, «Обновление остатков».

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

Исследование публикации на веб-сервере (файл default.vrd)

Когда сайт выступает инициатором запроса, он обращается к 1С через опубликованные HTTP или Web-сервисы. Это один из самых надежных способов найти «входные ворота» в базу. Проанализируем файл публикации:

  1. Перейдем на сервер, где опубликован веб-компонент 1С (обычно это IIS или Apache).
  2. Найдем в каталоге публикации файл default.vrd.
  3. Откроем его любым текстовым редактором и изучим секции <httpServices> и <wsDefinitions>.

В этом файле перечислены все программные интерфейсы, доступные извне. Даже если в конфигурации сервис называется ИнтеграцияСВнешнейСистемой, в файле публикации мы увидим его URL-шаблон, который поможет соотнести его с конкретным сайтом.

Глобальный поиск по программному коду

Если обмен написан «вручную» и не привязан к стандартным планам, нам поможет глобальный поиск (Ctrl+Shift+F). Выясним причину активности, выполнив поиск по следующим ключевым объектам и строкам:

Пример поиска вызовов API может выглядеть так:


// Пример типичного кода, который мы ищем в модулях
Соединение = Новый HTTPСоединение("api.mysite.ru", 443,,,,, Новый ЗащищенноеСоединениеOpenSSL());
Запрос = Новый HTTPЗапрос("/v1/products/update");
Ответ = Соединение.ВызватьHTTPМетод("POST", Запрос);

Анализ расширений и внешних модулей

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

  1. Проверим Расширения конфигурации. Модули от 1С-Битрикс, InSales и других вендоров часто устанавливаются именно как расширения. Ищите префиксы в именах объектов, характерные для сторонних разработчиков.
  2. Изучим справочник Дополнительные отчеты и обработки. Обмен может быть реализован в виде внешней обработки, которая запускается либо вручную, либо по расписанию через механизм БСП.

Использование стандартного интерфейса OData

Иногда код в 1С вообще отсутствует, а сайт забирает данные напрямую. Проанализируем ситуацию с REST API:

Проверим, включен ли в системе Стандартный интерфейс OData. Если он активен, внешняя система может читать любые справочники и документы, просто зная структуру метаданных 1С. Проверить доступность можно, попытавшись открыть в браузере адрес вида: http://server/base/odata/standard.odata/$metadata.

Метод «Ловли на живца» через отладку и логирование

Если статический анализ кода не дал результатов, перейдем к мониторингу активности в реальном времени. Рассмотрим два способа:

Способ 1: Отладка сервисов. В конфигураторе включим автоматическое подключение к веб-сервисам и HTTP-сервисам (меню «Отладка — Подключение — Автоматическое подключение»). Если обмен произойдет, отладчик «остановит» выполнение кода в точке входа, и мы сможем изучить стек вызовов.

Способ 2: Логирование в Журнал регистрации. Если мы подозреваем конкретный HTTP-сервис, но не понимаем, когда он вызывается, добавим в начало его методов код записи в журнал:


ЗаписьЖурналаРегистрации("ОбменССайтом.ВызовСервиса", 
    УровеньЖурналаРегистрации.Информация, , , 
    "Вызван метод: ИмяМетода, Параметры: " + СтрокаЗапроса);

Спустя некоторое время проанализируем Журнал регистрации, чтобы увидеть активность внешних систем и IP-адреса, с которых приходят запросы.

Проверка защищенного хранилища и констант

Для работы с сайтами почти всегда требуются логины и пароли. Посмотрим на настройки безопасности:

Проанализируем записи в регистре сведений БезопасноеХранилищеДанных (или аналогичных в зависимости от версии БСП). Наличие записей с именами, содержащими «token», «key», «password» в контексте веб-сервисов, однозначно укажет на настроенный обмен. Также проверим функциональные опции, такие как ИспользоватьОбменССайтами, которые активируют соответствующие интерфейсы в программе.

← На главную