Записать данные для обновления файл. Выполняет инициализацию XML файла, для записи информации об объектах.
// Выполняет инициализацию XML файла, для записи информации об объектах.
//
Процедура ЗаписатьДанныеДляОбновленияВФайл(Параметры, Данные, ВидДанных, ПолноеИмяОбъекта = "") Экспорт
Если Не СтандартныеПодсистемыПовтИсп.ИспользуетсяРИБ("СФильтром") Тогда
Возврат;
КонецЕсли;
Если Параметры.ЗаписьИзмененийДляПодчиненногоУзлаРИБСФильтрами = Неопределено Тогда
ТекстИсключения = НСтр("ru = 'В обработчике неправильно организована работа с параметрами регистрации данных к обработке.'");
ВызватьИсключение ТекстИсключения;
КонецЕсли;
ЗаписьXML = Параметры.ЗаписьИзмененийДляПодчиненногоУзлаРИБСФильтрами;
ЗаписьXML.ЗаписатьНачалоЭлемента("Object");
ЗаписьXML.ЗаписатьАтрибут("Queue", Строка(Параметры.Очередь));
Если Не ЗначениеЗаполнено(ПолноеИмяОбъекта) Тогда
ПолноеИмяОбъекта = Данные.Метаданные().ПолноеИмя();
КонецЕсли;
ЗаписьXML.ЗаписатьАтрибут("Type", ПолноеИмяОбъекта);
Если ВРег(ВидДанных) = "ССЫЛКА" Тогда
ЗаписьXML.ЗаписатьАтрибут("Ref", XMLСтрока(Данные.Ссылка));
Иначе
Если ВРег(ВидДанных) = "НЕЗАВИСИМЫЙРЕГИСТР" Тогда
ЗаписьXML.ЗаписатьНачалоЭлемента("Filter");
Для Каждого ЭлементОтбора Из Данные.Отбор Цикл
Если ЗначениеЗаполнено(ЭлементОтбора.Значение) Тогда
ЗаписьXML.ЗаписатьНачалоЭлемента(ЭлементОтбора.Имя);
ТипДанных = ТипЗнч(ЭлементОтбора.Значение);
ОбъектМетаданных = Метаданные.НайтиПоТипу(ТипДанных);
Если ОбъектМетаданных <> Неопределено Тогда
ЗаписьXML.ЗаписатьАтрибут("Type", ОбъектМетаданных.ПолноеИмя());
ИначеЕсли ТипДанных = Тип("УникальныйИдентификатор") Тогда
ЗаписьXML.ЗаписатьАтрибут("Type", "УникальныйИдентификатор");
Иначе
ЗаписьXML.ЗаписатьАтрибут("Type", Строка(ТипДанных));
КонецЕсли;
ЗаписьXML.ЗаписатьАтрибут("Val", XMLСтрока(ЭлементОтбора.Значение));
ЗаписьXML.ЗаписатьКонецЭлемента();
КонецЕсли;
КонецЦикла;
ЗаписьXML.ЗаписатьКонецЭлемента();
Иначе
Регистратор = Данные.Отбор.Регистратор.Значение;
ЗаписьXML.ЗаписатьАтрибут("FilterType", Строка(Регистратор.Метаданные().ПолноеИмя()));
ЗаписьXML.ЗаписатьАтрибут("Ref", XMLСтрока(Регистратор.Ссылка));
КонецЕсли;
КонецЕсли;
ЗаписьXML.ЗаписатьКонецЭлемента();
КонецПроцедуры
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
ЗавершитьЗаписьФайлаСДаннымиОбновления (БСП)
ЗавершитьЗаписьФайлаИПолучитьДанныеОбновления (БСП)
ЗаписатьСведенияОбОбновленииИнформационнойБазы (БСП)
ЗаписатьФайлВИнформационнуюБазу (БСП)
ЗаписатьСтатусОбновления (БСП)
ЗаписатьНастройкиОбновления (БСП)
СохранитьДанныеОбновления (БСП)
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)