Назначение
Попытка соединить в себе две обработки — Универсальный обмен данными XML и Универсальный подбор и обработку объектов — а именно, отобрать некоторые из загружаемых объектов (включая табличные части), переопределить реквизиты или выполнить определенный код перед или после записи.
Аудитория пользователей
Разработчики, специалисты поддержки, опытные пользователи. Последние являются основными потребителями функционала.
Проблематика
Обработка «выросла» из нескольких распространенных неудобств обмена данными в формате XML:
- Устаревшие правила обмена
- Ошибки в правилах обмена
- Большое количество «отраслевых» решений, предлагающих правила обмена с типовыми конфигурациями, написанными «на коленке» и имеющими очень скудные возможности заполнения объектов в конфигурациях-получателях
- Вечные «хотелки» пользователей, ради которых лезть в КД как-то не комильфо
Матчасть
Обработка предназначена для ЗАГРУЗКИ данных из файла XML в конфигурацию-получателя. Имеет ряд реквизитов, относящихся к обработке УниверсальныйОбменДаннымиВФорматеXML и табличную часть, описывающую правила для отбора и заполнения загружаемых объектов.
Наличие обработки УниверсальныйОбменДаннымиВФорматеXML в конфигурации обязательно.
Обработка создает УниверсальныйОбменДаннымиВФорматеXML, инициализирует загрузку данных, получает обратно массив загруженных объектов и проходится по нему Правилами заполнения.
Порядок работы
В табличной части пользователь может определить произвольное количество Правил. Каждое правило представляет собой:
- Объект — объект (вид объекта информационной базы, включая табличные части), к которому применимо правило
- Отбор — отбор по реквизитам объекта
- Заполнение — установка значений реквизитов объекта
- Тексты на встроенном языке «ПередЗаписью» и «ПослеЗаписи» — алгоритм, выполняющийся перед и после записи объекта. Доступ к обрабатываемому объекту возможен через переменную ТекущийОбъект.
Также имеется возможность включения/отключения и сортировки (порядка выполнения) правил.
Послесловие
Для работы используется ПостроительОтчета и функция общего модуля типовых конфигураций (см. 4 скриншот), которую можно легко добавить в модуль самой обработки. Работает на платформе 8.2 (не на УФ), протестировано на УПП, УТ 10, БП 2, ЗУП.
Не претендую на новаторство или кучу плюсов — надеюсь, что она окажется полезной вам и вашим пользователям. Так же приветствуется допиливание — УФ, увеличение производительности, замена ПостроителяОтчета на ПостроительЗапроса (или СКД).
Авансон плюс!
А так КД постоянный помощник.
(0) >>>>>> Наличие обработки УниверсальныйОбменДаннымивФорматеXML в конфигурации обязательно.
Её можно можно вставить в макет обработки и при открытии извлекать во временный файл.
А к этой не приделаешь?
http://infostart.ru/public/16654/
Или наоборот — эту к своей приделаешь?
Пользуюсь первой обработкой постоянно, спасибо автору.
Но и твоя очень интересна.
Если бы удалось скрестить — было бы здорово.
(3) aspirator23,
На самом деле не совсем понял, что Вы имеете ввиду.
(4) твоя обработка позволяет изменять загружаемые данные.
Описанная обработка позволяет видеть что загружается.
Если их срастить, было бы здорово.
(5) Я посмотрю, хотя не понимаю, зачем видеть, что загружается — только для отладки?
(7) А ты посмотри эту обработку — она очень удобная.
Если часто и много работаешь с КД, то выручает она очень часто от ляпов.
Да и просто сделать анализ, можно сделать практически только с ней.
Хорошая разработка. Претендует на много плюсов :). От меня точно плюс.
Здравствуйте!
Не сочтите за занудство, но в описании темы — как пользоваться этой обработкой не совсем понятно. На мой взгляд, название темы «Загрузка данных XML с возможностью перезаполнения загружаемых объектов» и «порядок работы» указанный у вас совсем не связаны друг с другом. Опишите подробно, в картинках КАК пользоваться вашей обработкой.
(10) Ну ведь вроде все просто. Добавляете в табличную часть правила для ЗАГРУЖАЕМЫХ ОБЪЕКТОВ. Они работают так.
Для каждой строки из табличной части:
—Выбираются все ЗАГРУЖАЕМЫЕ объекты по типу, указанному в реквизите «Объект»
——Из них выбираются те, которые удовлетворяют условиям, указанным на закладке «Отбор»
———Для каждого из оставшихся после отбора объектов выполняются:
————Заполнение указанных реквизитов каждого объекта значениями, согласно указаниям на закладке «Заполнение»
————Выполнение кода на встроенном языке для каждого объекта перед и после записи — закладки «перед записью» и «После записи» соответственно.
Я не претендую на предельную лаконичность моего изложения, поэтому предлагаю Вам скачать обработку и попробовать с ней поработать. Вы все сами поймете через 20 минут работы.
Скачаю вашу обработку обязательно, пока мне для скачивания не хватает $m.
Можно ли дополнить эту разработку автоматическим созданием правил?