Доработка стандартного модуля обмена от Битрикс для выгрузки произвольных таблиц значений или запросов в Highload-блоки
Простой и универсальный механизм, позволяющий выгружать любые таблицы значений, включая результаты запросов из 1С, на сайт Bitrix через стандартный механизм — без каких либо доработок модулей на стороне сайта Bitrix.
- Описание
- Подробнее
Описание
Привет, коллеги! В своей работе я часто встречаюсь с различными реализациями выгрузок дополнительной информации в Битрикс через всякие кастомные модули для Битрикс, сложные обмены через файлы или фтп папки.
Хочу поделиться с вами простым и универсальным решением — очень простой доработкой стандартного модуля обмена Битрикс, которая позволит выгружать и главное обновлять ЛЮБЫЕ данные в Highload-блоки Битрикс.
Возможные кейсы
- выгрузка дополнительных сведений для карт лояльности
- выгрузка видов цен контрагентов из договоров
- выгрузка исключений цен и расширение механизмов ценообразования
- выгрузка любых регистров сведений или справочников или других результатов запросов
- выгрузка резервов, остатков, взаиморасчетов и любых других регистров накоплений
- выгрузка детализаций документооборота для б2б системы
- выгрузка дополнительный сведений или контента для товаров
- выгрузка дополнительных механизмов контроля доступа
- выгрузка вообще любых сведений, сложных запросов из 1с с ключами и без,
- выгрузка множества таблиц значений в одном обмене с легким добавлений источников.
Реализация
За основу возьмем и переделаем стандартную процедуру модуля Битрикс "Б_ПроцедурыИФункцииВыгрузкиДанныхНаСайт.ВыгрузитьПользовательскиеСправочникиXDTO"
Эта процедура выгружает любые пользовательские справочники и их автоматически загружает их Highload-блоки в Битрикс, она наиболее близка к нашим целям.
Главная проблема ее использования для отправки произвольных таблиц — это необходимость xmlid-ключа для каждой строки передаваемых в Битрикс данных, этот ключ нужен для обновления уже существующих данных. А у результатов запросов ключа может не быть или быть сразу несколько.