Возникла идея упрощения и универсализации таких блоков. Обмен должен осуществляться через COM или WS.
Например: есть две базы. В одной базе формируется задача по запросу из другой базы некоторой информации.
Формируем параметры такого запроса и его алгоритм для выполнения на "той стороне".
Передаем строками (по-другому не пройдет ч/з COM) на сторону ответчика, выполняем там алгоритм, и принимаем ответ, также строкой.
В принципе строки параметров запроса и ответ это сериализованные в JSON значения примитивных типов.
Реализация механизма такого универсального обмена в двух справочниках (один для настроек подключения, второй для хранения алгоритмов), программной "обвязки" в виде общих модулей и обработки для работы с JSON.
Обработка реализована не мной, огромное спасибо за нее Александру Переверзеву (a.v.pereverzev@gmail.com), я там только немного доработал некоторые вещи.
Законный вопрос: зачем отдельный механизм для JSONа, если он уже есть в платформе?
Ответ на него немного выше по тексту - несколько баз корреспондентов работают на платформе 8.2 и переходить на новую не собираются.
Рассмотрим в картинках:
Справочник "Настройки подключений" - предназначен для хранения информации о соответствующих настройках для COM и WS соединений.
На практике, возможно, и не понадобится. Например, в конфигурациях на основе БСП для этого используется регистр сведений НастройкиТранспортаОбменаДанными и практичней хранить там, и удобней, и все находится в одном месте.
Справочник "Алгоритмы обмена" - предназначен для хранения информации о составе параметров и текста самого алгоритма.
Файл для скачивания представляет собой выгрузку информационной базы с тестовым примером.
Для установки конфигурации на управляемое приложение следует только изменить основные формы объектов.
Параметры публикации на WS для тестирования такие
Для вызова конкретного алгоритма в теле модулей используется вот эта процедура:
Механизмы БСП в конфигурации не задействованы. Тестировалось на базе платформ 1С:Предприятие 8.2 (8.2.19.130) и 1С:Предприятие 8.3 (8.3.22.1709).