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