gifts2017

Подключаемая обработка для запуска по расписанию обработки "УниверсальныйОбменДаннымиXML" с отбором узла обмена

Опубликовал владимир демченко (jour) в раздел Обмен - Обмен через XML

(На момент написания работал с УТ_11.1.10.199).
В типовых конфигурациях для узла Полного плана обмена нельзя загрузить правила конвертации, поэтому удобно пользоваться обработкой универсального обмена данными XML.
Единственное неудобство - это отсутствие штатной возможности ее запуска в фоновом режиме по расписанию, его я и попытался исправить.

Программный запуск обработки универсального обмена данными (далее УОД) рассматривали на форме уже много раз, поэтому приведу только кусочек кода, который позволяет устанавливать узел плана обмена, из которого обработка УОД будет читать зарегистрированные для обмена объекты и после выгрузки либо чистить, либо оставлять регистрацию, на усмотрение программиста.

Процедура ВыполнитьВыгрузкуXML(ПараметрыВыполнения)
	УзелОбмена = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(ПараметрыВыполнения, "УзелОбмена");
	НастройкиУзла = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(ПараметрыВыполнения, "НастройкиУзла");
	ОбработкаОбмена = Обработки.УниверсальныйОбменДаннымиXML.Создать();
	ОбработкаОбмена.ТипУдаленияРегистрацииИзмененийДляУзловОбменаПослеВыгрузки = Число(НастройкиУзла);
	ОбработкаОбмена.ЗагрузитьПравилаОбмена();
	ИзменитьДеревоПравилВыгрузки(ОбработкаОбмена.ТаблицаПравилВыгрузки.Строки, ОбработкаОбмена.ТаблицаПравилВыгрузки.Строки, УзелОбмена);
	ОбработкаОбмена.ВыполнитьВыгрузку();
КонецПроцедуры
Процедура ИзменитьДеревоПравилВыгрузки(СтрокиИсходногоДерева, СтрокиЗаменяемогоДерева, УзелОбмена)
	КолонкаВключить = СтрокиЗаменяемогоДерева.ВыгрузитьКолонку("Включить");
	СтрокиИсходногоДерева.ЗагрузитьКолонку(КолонкаВключить, "Включить");
	КолонкаУзел = СтрокиЗаменяемогоДерева.ВыгрузитьКолонку("СсылкаНаУзелОбмена");
	СтрокиИсходногоДерева.ЗагрузитьКолонку(КолонкаУзел, "СсылкаНаУзелОбмена");
	
	Для Каждого СтрокаИсходногоДерева Из СтрокиИсходногоДерева Цикл
		ИндексСтроки = СтрокиИсходногоДерева.Индекс(СтрокаИсходногоДерева);
		СтрокаИзменяемогоДерева = СтрокиЗаменяемогоДерева.Получить(ИндексСтроки);
		СтрокаИзменяемогоДерева.СсылкаНаУзелОбмена = ?(СтрокаИзменяемогоДерева.ЭтоГруппа, Неопределено, УзелОбмена); 
		ИзменитьДеревоПравилВыгрузки(СтрокаИсходногоДерева.Строки, СтрокаИзменяемогоДерева.Строки, УзелОбмена);
	КонецЦикла;
КонецПроцедуры

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
ФоновыйЗапускОбработкиУниверсальногоОбменаДаннымиXML.epf
.epf 11,07Kb
27.04.16
8
.epf 11,07Kb 8 Скачать

См. также

Подписаться Добавить вознаграждение
В этой теме еще нет сообщений.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа