Каталог решений - Создание плана обмена для 1С:Элемент из 1С:Предприятие 8.3

Создание плана обмена для 1С:Элемент из 1С:Предприятие 8.3

Создание плана обмена для 1С:Элемент из 1С:Предприятие 8.3

В наличии

1С: Элемент добрался до релиза, и появляются первые ласточки интеграций. Если использовать Элемент по прямому назначению (Кабинеты клиентов, Порталы и прочие сканеры штрихкодов), а не строить звездолет, который будет бороздить просторы Большого театра, то одно из первых, что понадобится — это обмен со Старшим братом. И если пробовать работать с Планом обмена в Элементе «как привыкли», то это может вызвать оторопь и микроинсульт. Ниже написанное актуально для 7.0 версии Элемента, надеюсь, сейчас, когда вы читаете эти строки, План обмена добавляет сам себя в среду разработки, слушая ваши пожелания, ну а для тех, кто до сих пор на 7.0 — ниже написанное.

Категория:

Описание

Первое правило Обмена V8-Элемент — "Забудьте все, чему вас учили в школе желтых книжках". Второе, даже более важное, чем первое — Планы обмена в двух учетных системах должны называться одинаково.

Теперь, собственно, почему появилась эта статья с обработкой.

Элемент позиционируется как Low-code система, но План обмена об этом не знает и лично у меня YAML плана обмена обычно переваливает за 1000 строк. Связано это в первую очередь с тем, что в Элементе в Плане обмене сразу настраивается трансформация данных, то есть он совмещает в себе привычный узел плана обмена с регистрацией изменений и обработчики перед-после, а также мапинг реквизитов и табличных частей

Как это сделать "Low code", вендор пока не придумал, и настраивается вся эта красота в узенькой портянке свойств справа от экрана. Если Элемент обменивается с Элементом и объекты идентичны, то они подружатся и без нашей помощи, а вот если один из участников V8, то тут уже интересней.

 

 

При чтении сообщения обмена возможно неполное чтение при соответствующем реквизите dataPart и те реквизиты, которые приехали из элемента, но не присутствуют в V8, прочитаны не будут,  то в Элементе (на текущий момент) мы должны лично указать, какой реквизит, приехавший "справа" — то есть из v8 надо будет проигнорировать

 -
            Слева: ПользовательУТ
            Справа: Справочник.Пользователи 
            Поля:
                
                -
                    Действие: Игнорировать
                    Справа: ФизическоеЛицо         

Итак, что делает данная обработка — она готовит шаблон по всем реквизитам всех объектов в составе плана обмена, проставляя все реквизиты "справа" в Игнорировать. Необходимые вам в Элементе вы можете либо исправить на сопоставить, либо просто удалить и посмотреть, как две системы справятся с этим автоматически.

Результат данной обработки — Текстовый YAML Плана обмена, который надо скопипастить в Элемент вместо имеющегося. Обработка не предназначена для тех, кто "вкатился в Элемент вчера", надо иметь представление как открыть YAML Плана обмена, где взять его ИД и т.д. 

На текущий момент "Стандартные реквизиты" в Элементе надо игнорировать  на Английском языке, но на всякий случай сделал "галочку" — вдруг исправят. 

Обработка не тестировалась на регистрах сведений и накоплений (ну не было потребности у меня пока ими меняться) — как только будет "кейс", внесу изменения. Обработка для копирования в буфер обмена использует новый механизм платформы  8.3.24, если у вас ниже, просто удалите код команды или замените.

Как пользоваться обработкой: Выберите нужный узел плана обмена, введите идентификатор ПланаОбмена в элементе (если есть, если нет, то он сгенерится), и вбейте пространство имен по умолчанию вашего проекта

 

 

При нажатии "Заполнить" заполняется таблица по составу плана обмена. Тут можете Разрешить автоматическую регистрацию там, где надо (это же у нас данные в V8, в Элементе подход может быть другой) и изменить "Объекты элемента", если пространство имен у некоторых объектов и именование другое.

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

 

 

Сокращенный пример под катом

 

has been added to your cart:
Оформление заказа