Имя: Пароль:
1C
1С v8
Добавить программно элементы в ОбъектXDTO
☑
0 Sevish
 
24.09.26
✎
04:25
Добрый день всем!
Есть уже созданный "ОбъектXDTO" (не смог в коде найти где он создается и как). То есть это уже переменная в некоторой процедуре "ДвоичныеДанныеДокументаЭПД".
Мне нужно в "ОбъектXDTO" добавить и заполнить элементы так, чтобы в XML получилось:
<ИнфПол>
<ТекстИнф Идентиф="абв" Значение="123"/>
<ТекстИнф Идентиф="где" Значение="456"/>
</ИнфПол>

Подскажите, пожалуйста, как это сделать?

PS: Это для создания XML ЭТрН.
1 Sevish
 
24.09.26
✎
04:48
Прошу прощения, задача упростилась.
Оказывается уже есть "<ИнфПол>" с типом "СписокXDTO", надо просто добавить значение "<ТекстИнф>", как это сделать?
2 Sevish
 
24.09.26
✎
07:12
Сам разобрался экспериментально, вот. если кому пригодиться.
        Если НЕ(Объект.ДанныеИнфПол.Количество() = 0) Тогда
            СодИнфГО                                                    = ОбъектXDTO.Документ.СодИнфГО;
            Если НЕ(СодИнфГО.Свойства().Получить("ИнфПол") = Неопределено) Тогда
                // Добавляем данные XDTO
                ИнфПол                                                    = СтруктураСФабрикой.Фабрика.Создать(ОбъектXDTO.Документ.СодИнфГО.ИнфПол.ВладеющееСвойство.Тип);
                Для Каждого врСтрокаТЧ Из Объект.ДанныеИнфПол Цикл
                    ТекстИнф                                            = СтруктураСФабрикой.Фабрика.Создать(ИнфПол.ТекстИнф.ВладеющееСвойство.Тип);
                    ЗаполнитьЗначенияСвойств(ТекстИнф, врСтрокаТЧ);
                    ИнфПол.ТекстИнф.Добавить(ТекстИнф);
                КонецЦикла;
                ОбъектXDTO.Документ.СодИнфГО.ИнфПол.Добавить(ИнфПол);
            КонецЕсли;
        КонецЕсли;
3 Рамиль Маугли
 
24.09.26
✎
12:24
Не удивлюсь, если узнаю, что вы в шахматы сам с собой умеете играть.  ))
AdBlock убивает бесплатный контент. 1Сергей