arefaste/1C_Forums huggingface dataset:
Доброе утро. Обычные формы, сделал обработку, на форме есть выбор периода, и таблица, куда добавляется определенный список документов по нажатию кнопки "ДобавитьДокументы". По кнопке "ВыполнитьПоиск" идет обход метаданных и ищутся документы из табличной части обработки. Подскажите, пожалуйста, как мне получить список документов из каждого объекта метаданных за выбранный период?

```1c
    МояДата = НачПер;

    Пока МояДата < КонПер Цикл

    Период = Новый Массив;
    Период.Добавить(МояДата);
    МояДата = КонецДня(МояДата)+1;

    КонецЦикла;

    Для Каждого Дата Из Период Цикл

    Для Каждого Стр Из СписокДокументов Цикл

    НайденныйДок = Метаданные.Документы[Стр.ИмяДок];

    КонецЦикла;

    КонецЦикла;
```
---
```1c
    Запрос = Новый Запрос("ВЫБРАТЬ Документ.Ссылка ИЗ Документ."+ИмяДокумента+" КАК Документ ГДЕ *");
```
---
```1c
    МассивИменДокументов = Новый Массив;
    МассивЧастейЗапроса = Новый Массив;
    Для Каждого ИмяДокумента Из МассивИменДокументов Цикл
    МассивЧастейЗапроса.Добавить("ВЫБРАТЬ Ссылка ИЗ " + ИмяДокумента....);
    КонецЦикла;
    ТекстЗапроса = СтрСоединить(МассивЧастейЗапроса, Символы.ПС + "ОБЪЕДИНИТЬ ВСЕ" + Символы.ПС);
    Запрос.Выполнить();
```
---
```1c
    Запрос = Новый Запрос("ВЫБРАТЬ Документ.Ссылка ИЗ Документ."+ИмяДокумента+" КАК Документ ГДЕ *");
```
---
Спасибо!
---
Если же вам нужны все отмеченные документы за один период времени, то правильнее делать это не в цикле, а одним запросом ко всем документам сразу.
---
если я правильно понял, вы имеете ввиду одним запросом все нужные документы выбрать, но у меня список документов постоянно меняется, или вы имеете ввиду прописать условие ГДЕ Документ В ИЕРАРХИИ(&МассивДокументов) ?
---
```1c
    МассивИменДокументов = Новый Массив;
    МассивЧастейЗапроса = Новый Массив;
    Для Каждого ИмяДокумента Из МассивИменДокументов Цикл
    МассивЧастейЗапроса.Добавить("ВЫБРАТЬ Ссылка ИЗ " + ИмяДокумента....);
    КонецЦикла;
    ТекстЗапроса = СтрСоединить(МассивЧастейЗапроса, Символы.ПС + "ОБЪЕДИНИТЬ ВСЕ" + Символы.ПС);
    Запрос.Выполнить();
```
---
Спасибо!
Коллеги, доброго времени суток.

Подскажите пожалуйста, можно ли в отчёте на СКД сделать такую группировку без постобработки результата?
Склад растягивается на высоту товаров
---
https://forum.infostart.ru/forum9/topic156749/#message1604134
---
Ничего не упускаете, это 1С упустил. Я этим вопросом задавался в прошлом году в очередной раз, тщательный поиск в Интернете дал четкий ответ - решения нет. Доказательство - типовые конфигурации. У них в общем модуле производится объединение ячеек после получения табличного документа от СКД
---
Насколько я знаю - нет. Подобные объединения ячеек, только горизонтальные, частенько просили клиенты, даже госсектор, и всегда приходили к тому, что требуется постобработка.
---
Требуемый вид смог получить макетом группировки, но только для неизменяемого количества товаров, что само собой не подходит. Макет заголовка группировки и макет поля тоже мимо. Видимо Вы правы, тут только постобработка, но всё равно остаётся ощущение, что я что-то упускаю
---
Ничего не упускаете, это 1С упустил. Я этим вопросом задавался в прошлом году в очередной раз, тщательный поиск в Интернете дал четкий ответ - решения нет. Доказательство - типовые конфигурации. У них в общем модуле производится объединение ячеек после получения табличного документа от СКД
---
https://forum.infostart.ru/forum9/topic156749/#message1604134
---
Интересная идея - добавлять в представлении поля маркер для постобработки, спасибо! Над этим стоит поразмыслить
---
еще случайно наткнулся на такую вот ссылку
https://www.youtube.com/watch?v=dIv-i9ejn04
---
Одобряю :-) . Решение несколько костыльное и результат не совсем тот, что хотелось бы, но без постобработки табличного документа, т.е. исключительно средствами СКД.
Как добавить стандартный период на обычную форму. Чтоб был вид с по?
---
Форма-вставить элемент управления. В открывшемся списке выбираешь - "Выбор периода". Вставляешь выбранные элементы на форму.
---
Форма-вставить элемент управления. В открывшемся списке выбираешь - "Выбор периода". Вставляешь выбранные элементы на форму.
Добрый день, МегаМозги 1С!

Подскажите, пожалуйста, удобный способ сравнения двух обработок - какие есть инструменты и технологии?
---
Ты ведь не серьезно?

Открываешь обработку, Действия - сравнить,объединить с внешней обработкой...

Все.
---
Файл - Сравнить файлы
---
Файл - Сравнить файлы
---
Ты ведь не серьезно?

Открываешь обработку, Действия - сравнить,объединить с внешней обработкой...

Все.
Как в СКД обрезать строку после определенного символа?
---
В языке запросов реализованы следующие функции: Строка(), ДлинаСтроки(), СокрЛ(), СокрП(), СокрЛП(), Лев(), Прав(), СтрНайти(),

Источник: https://dl03.1c.ru/content/Platform/8_3_20_1613/1cv8upd_8_3_20_1613.htm#b19561b3-7056-11eb-8371-0050569f678a
---
Сделать вычисляемое поле и вызывать функцию общего модуля. Соответственно, реализовать в общем модуле такую функцию.
---
Если позиция символа известна, то ПОДСТРОКА().
Но вы, скорее всего, имеете ввиду не позицию символа, а значение символа. Тут уже сложнее. Самый правильный способ - использовать вычисляемое выражение, производимое в общем модуле (вызов внешней функции из СКД).
Хуже, но имеет право быть в определенных местах использование сложных конструкий "ВЫБОР КОГДА ПОДСТРОКА(...) ТОГДА ... КОГДА ... ТОГДА и так далее.
Совсем плохой способ - разбивать символы строки на таблицы, и обрабатывать конкатенацию средствами языка запросов 1с.
---
В языке запросов реализованы следующие функции: Строка(), ДлинаСтроки(), СокрЛ(), СокрП(), СокрЛП(), Лев(), Прав(), СтрНайти(),

Источник: https://dl03.1c.ru/content/Platform/8_3_20_1613/1cv8upd_8_3_20_1613.htm#b19561b3-7056-11eb-8371-0050569f678a
---
Вы самое главное забыли указать
В режиме совместимости с версией 8.3.19 поведение не изменилось.

Источник: https://dl03.1c.ru/content/Platform/8_3_20_1613/1cv8upd_8_3_20_1613.htm#edbeadc5-7056-11eb-8371-0050569f678a

То есть надо режим совместимости 8.3.20. В типовых когда это еще будет.
---
Думаю, это касается второй части описания:
Если отбор системы компоновки данных применяется к вычисляемому полю, которое содержит следующие функции: Sin(), Cos(), Tan(), ASin(), ACos(), ATan(), Exp(), Log(), Log10(), Pow(), Sqrt(), Окр(), Цел(), ДлинаСтроки(), то такое поле будет отрабатываться с помощью запроса (при возможности).

В режиме совместимости с версией 8.3.19 поведение не изменилось.
Я проверил, и данные функции (как минимум ДлинаСтроки(), Прав(), СтрНайти()) работают в конфигурации КА, которая в режиме совместимости: Версия 8.3.14.
---
Да, был не прав.
Там 2 почти одинаковых изменения - в языке запросов (без требования к режиму совместимости) и в языке выражений СКД (с требованием к режиму совместимости).
---
В том то и дело, я проверял именно в качестве выражения в вычисляемом поле.
---
Магия! =)
Добрый день!

У управляемой формы есть Реквизит, допустим "МояТаблица" - тип ТаблицаЗначений
У неё есть две колонки" Колонка1" и "Колонка2" - тип "ЛюбаяСсылка"

ВОПРОС: можно ли при выборе значения в колонке1 назначить такой же тип ячейке в колонке2?
Например: Для новой строки в "МояТаблица" колонке1 выбрали Тип: Справочник.Банки, Значение: Банк1. Нужно для этой же строки для элемента управления "ПолеВвода" в Колонке2 назначить такой же тип (Справочник.Банки).
Примечание: в разных строках - разные типы...

Как это можно реализовать?
---
Как то так..
---
Сделать такое можно.
Не одной строчкой кода.
Придеться вешать несколько обработчиков на несколько событий.
Сложного ничего нету
---
Как то так..
---
Спасибо - всё оказалось проще...

Я пытался это сделать в событии "ОбработкаВыбора" ячейки (строка/Колонка1) - там сложнее, да и почему то начал обрабатывать "первый проход" - когда выбирается тип...
В итоге код получился мягко говоря "объёмный" - потому и задал вопрос...
---
Классная фича в платформе - связи параметров выбора. Вам она не подойдет, но знать о ее существовании нужно.
---
Знаю.
Не подошло...
---
```1c
    ТекущиеДанные = Элементы.Таблица.ТекущиеДанные;
    МассивТипов = Новый Массив;
    МассивТипов.Добавить(ТипЗнч(ТекущиеДанные.Колонка1));
    ОписаниеТипов = Новый ОписаниеТипов(МассивТипов);
    ПустоеЗначение = ОписаниеТипов.ПривестиЗначение();
    ТекущиеДанные.Колонка2 = ПустоеЗначение;
```
---
+

В свойствах "Колонка2" снять флажок "Выбирать Тип"
---
Свойство колонки СвязьПоТипу, если без кода.
---
СвязьПоТипу

Спасибо.

Это уже обсуждалось в (6), но в моём случае не совсем подходит....
Добрый день. Помогите разобраться. Есть Переменная ДатаВыезда (тип дата), ей присваивают значение ВремяГода(тип строка).
У переменной ДатаВыезда какое значение получается? Неопределено? Другими словами что будет в переменной если ей присваивают значение не её типа?
---
Если это реквизит прикладного объекта(реквизит формы, справочника, регистра, реквизит таблицы формы итд.) у которого задан тип. То значение попытается преобразовать к типу реквизита. Если тип не удалось преобразовать. Например строку в число. То присваивается значение по умолчанию(Пустая ссылка, 0(ноль), неопределено, ""(пустая строка), 01.01.01 01:01:01), итд;

Если это просто переменная ни с чем не связанная, то ей присваивается значение "с изменением типа"
---
если это реквизит формы/объекта, то пустое значение для даты будет, т.е. Дата(1,1,1)
если просто переменная, то строка и будет, т.е. тип поменяется.
---
В 1С вроде как нет типизации для переменных, т.е. её тип и значение после присваивания станут как у источника присваивания.
Другое дело поле объекта, для него должен быть задан возможный тип(ы). Если тип источника не соответствует типу приемника и приведение типа значения источника к типу приемника невозможно, то полю установится значение по умолчанию для данного типа.
---
ничего не будет, пусто получится
---
NULL?
---
или Неопределено?
---
если это реквизит формы/объекта, то пустое значение для даты будет, т.е. Дата(1,1,1)
если просто переменная, то строка и будет, т.е. тип поменяется.
---
Переменная на форме или только в коде?
---
и на форме
---
В 1С вроде как нет типизации для переменных, т.е. её тип и значение после присваивания станут как у источника присваивания.
Другое дело поле объекта, для него должен быть задан возможный тип(ы). Если тип источника не соответствует типу приемника и приведение типа значения источника к типу приемника невозможно, то полю установится значение по умолчанию для данного типа.
---
Если это реквизит прикладного объекта(реквизит формы, справочника, регистра, реквизит таблицы формы итд.) у которого задан тип. То значение попытается преобразовать к типу реквизита. Если тип не удалось преобразовать. Например строку в число. То присваивается значение по умолчанию(Пустая ссылка, 0(ноль), неопределено, ""(пустая строка), 01.01.01 01:01:01), итд;

Если это просто переменная ни с чем не связанная, то ей присваивается значение "с изменением типа"
---
Спасибо
Как в запросе поставить условие отрицание (не КорректировкаРеализации.Дата МЕЖДУ &НачалоПериода И &КонецПериода). Так ругается на НЕ
---
КорректировкаРеализации.Дата < &НачалоПериода И КорректировкаРеализации.Дата > &КонецПериода
---
```1c
    ВЫБРАТЬ
    КорректировкаРеализации.Ссылка
    ИЗ
    Документ.КорректировкаРеализации КАК КорректировкаРеализации
    ГДЕ
    НЕ(КорректировкаРеализации.Дата МЕЖДУ &Дата1 И &Дата2)
```
---
```1c
    ВЫБРАТЬ
    КорректировкаРеализации.Ссылка
    ИЗ
    Документ.КорректировкаРеализации КАК КорректировкаРеализации
    ГДЕ
    НЕ(КорректировкаРеализации.Дата МЕЖДУ &Дата1 И &Дата2)
```
---
КорректировкаРеализации.Дата < &НачалоПериода И КорректировкаРеализации.Дата > &КонецПериода
---
"люблю" когда так пишут:
КорректировкаРеализации.Дата < &НачалоПериода
и первый документ Корректировки с датой 24.11.2021 00:00:00 при НачалоПериода = "24.11.2021 00:00:00" у тебя в запрос не попадет

знаки условия "<=" И ">=" никто не отменял
---
Там еще дата шредингера - одновременно и меньше и больше =)
Как написать запрос на 1С? Вот картинка.
---
```1c
    Выбрать
    НачалоПериода(КолонкаСдатой, День) КАК ПолеДата,
    Сумма(КолонкаСЧислом) КАК Сумма
    ИЗ
    Таблица

    Сгруппировать по
    НачалоПериода(КолонкаСдатой, День)
```
---
```1c
    Выбрать
    НачалоПериода(КолонкаСдатой, День) КАК ПолеДата,
    Сумма(КолонкаСЧислом) КАК Сумма
    ИЗ
    Таблица

    Сгруппировать по
    НачалоПериода(КолонкаСдатой, День)
```
---
Спасибо, все работает
---
```1c
    ВЫБРАТЬ
    Таблица.Дата КАК Дата,
    СУММА(Таблица.Количество) КАК Количество
    ИЗ
    Таблица КАК Таблица

    СГРУППИРОВАТЬ ПО
    Таблица.Дата
```
---
у вас не получится требуемый результат, т.к. у вас не свернёт данные за 01.12.2021. Нужно сделать как в (2) "НАЧАЛОПЕРИОДА".
Всем привет! В новых конфигурация картинки могут храниться набором, по крайней мере встроенные картинки хранятся набором и есть возможность выгрузить их в файл из конфигуратора и сохраняются они как zip-архив. Вопрос: можно ли выгрузить все картинки набора программно? Или по отдельности или архивом, без разницы. Неужели предусмотрели возможность выгрузить из конфигуратора, но не предусмотрели получение набора программно? Заранее спасибо!
---
Вот это похожде тогда?

```1c
    Для каждого ОбщКартинка Из Метаданные.ОбщиеКартинки Цикл
    Картинка = БиблиотекаКартинок[ОбщКартинка.Имя];
    ИмяФайла = "E:\Иконки\1c\"+ОбщКартинка.Имя+".zip";
    Картинка.ПолучитьДвоичныеДанные(Истина).Записать(ИмяФайла);
    КонецЦикла;
```
---
выгрузить конфигурацию в файлы и там искать в CommonPictures.
---
Не это имел ввиду?

```1c
    Для каждого ОбщКартинка Из Метаданные.ОбщиеКартинки Цикл
    Картинка = БиблиотекаКартинок[ОбщКартинка.Имя];
    ИмяФайла = "C:\"+ОбщКартинка.Имя+".jpg";
    Картинка.Записать(ИмяФайла);
    КонецЦикла;
```
---
Нет. В этом случае извлекается только картинка для текущего масштаба форм 1С:Предприятия, а нужно извлечь весь набор для всех масштабов
---
можно попробовать все масштабы закинуть в массив, и обходом по массиву сохранять картинки. Навскидку:

МассивМасштабов = Новый Массив;
МассивМасштабов.Добавить("Масштаб1"); И тд

ЗЫ Но я не знаю, есть ли поле "Мастштаб" у ОбщКартинка.
---
Нет, нету
---
Вот это похожде тогда?

```1c
    Для каждого ОбщКартинка Из Метаданные.ОбщиеКартинки Цикл
    Картинка = БиблиотекаКартинок[ОбщКартинка.Имя];
    ИмяФайла = "E:\Иконки\1c\"+ОбщКартинка.Имя+".zip";
    Картинка.ПолучитьДвоичныеДанные(Истина).Записать(ИмяФайла);
    КонецЦикла;
```
---
Аааааа, блиииин, вот я затупил, там же параметры появились у метода ПолучитьДвоичныеДанные. Да все верно, так должно работать, спасибо!
Всем привет. Подскажите, пожалуйста, как открыть форму с параметрами. При попытке присвоить форме параметр выдает ошибку (Ошибка при установке значения атрибута контекста (ВладелецФормы) по причине : несоответствие типов.

ФормаСпр = ("Справочник.Номенклатура.Форма.ФормаЭлемента");
ФормаСпр.ВладелецФормы = РезультатЗапроса.Ссылка;
ФормаСпр.Открыть();

Заходил на форму, там значение владельца формы устанавливается в ЭтаФорма.ВладелецФормы.ТекущаяСтрока, попробовал сделать так, но появилась другая ошибка (Значение не является значением объектного типа (ТекущаяСтрока)

ФормаСпр = ("Справочник.Номенклатура.Форма.ФормаЭлемента");
ФормаСпр.ВладелецФормы.ТекущаяСтрока = РезультатЗапроса.Ссылка;
ФормаСпр.Открыть();
---
```1c
    &НаКлиенте
    Процедура ЗаказТЧНоменклатураНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    ПараметрОткрытия = Новый Структура("Подразделение", Объект.Подразделение);
    ОткрытьФорму("Справочник.Номенклатура.ФормаВыбора",ПараметрОткрытия);
    КонецПроцедуры
```
---
```1c
    &НаКлиенте
    Процедура ЗаказТЧНоменклатураНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    ПараметрОткрытия = Новый Структура("Подразделение", Объект.Подразделение);
    ОткрытьФорму("Справочник.Номенклатура.ФормаВыбора",ПараметрОткрытия);
    КонецПроцедуры
```
---
Вы показываете как пытаетесь открыть форму. А как передаете параметры нет.
А по поводу несоответствия типов, прочтите в СП "ВладелецФормы" - тип не ссылка на документ или справочник, а например ФормаКлиентскогоПриложения
---
(3) Спасибо!
в запросе стала вылетать ошибка после обновы от 1с, неверные параметры "НАЧАЛАПЕРИОДА" И (НАЧАЛОПЕРИОДА(<<?>>ЗначенияСвойствОбъектов.Объект.СрокДействия, МЕСЯЦ) = НАЧАЛОПЕРИОДА(&СрокДействия, МЕСЯЦ)

```1c
    ЗапросДог = Новый Запрос;
    ЗапросДог.Текст =
    "ВЫБРАТЬ
    | ЗначенияСвойствОбъектов.Значение КАК Номенклатура,
    | ЗначенияСвойствОбъектов.Объект КАК Договор,
    | ЗначенияСвойствОбъектов.Объект.Владелец КАК Контрагент,
    | ЗначенияСвойствОбъектов.Объект.Владелец.Родитель КАК Родитель
    |ИЗ
    | РегистрСведений.ДополнительныеСведения КАК ЗначенияСвойствОбъектов
    |ГДЕ
    | (ЗначенияСвойствОбъектов.Объект.Владелец В (&Владелец)
    | И ЗначенияСвойствОбъектов.Свойство.Наименование подобно "%Услуга%"
    | И (НАЧАЛОПЕРИОДА(ЗначенияСвойствОбъектов.Объект.СрокДействия, МЕСЯЦ) = НАЧАЛОПЕРИОДА(&СрокДействия, МЕСЯЦ)
    | ИЛИ ЗначенияСвойствОбъектов.Объект.СрокДействия = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
    | И НАЧАЛОПЕРИОДА(ЗначенияСвойствОбъектов.Объект.Дата, МЕСЯЦ) <= НАЧАЛОПЕРИОДА(&СрокДействия, МЕСЯЦ))
    | ИЛИ НАЧАЛОПЕРИОДА(ЗначенияСвойствОбъектов.Объект.СрокДействия, МЕСЯЦ) = НАЧАЛОПЕРИОДА(&СрокДействия, МЕСЯЦ)
    | И ЗначенияСвойствОбъектов.Объект.СрокДействия > ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
    | И НАЧАЛОПЕРИОДА(ЗначенияСвойствОбъектов.Объект.Дата, МЕСЯЦ) <= НАЧАЛОПЕРИОДА(&СрокДействия, МЕСЯЦ))";
    ЗапросДог.УстановитьПараметр("Владелец",Объект.Абоненты.Выгрузить().ВыгрузитьКолонку("Контрагент"));
    ЗапросДог.УстановитьПараметр("СрокДействия",КонецДня(Период.ДатаОкончания));
    Объект.Услуги.Загрузить(ЗапросДог.Выполнить().Выгрузить());
```
---
Приведите в запросе поле к типу "Дата" явно:
```1c
    ВЫРАЗИТЬ(ЗначенияСвойствОбъектов.Объект.СрокДействия КАК ДАТА)
```
---
(НАЧАЛОПЕРИОДА(>ЗначенияСвойствОбъектов.Объект.СрокДействия, МЕСЯЦ)
у объекта "пропал" реквизит СрокДействия, либо его переименовали в УдалитьСрокДействия
Запрос "загнать" в консоль, убрать условие на этот реквизит и прошерстить объекты.
---
Приведите в запросе поле к типу "Дата" явно:
```1c
    ВЫРАЗИТЬ(ЗначенияСвойствОбъектов.Объект.СрокДействия КАК ДАТА)
```
---
спасибо, но я блин только что и сам так сделал)) и сработало. но придется вам приз выдать) спасибо. вы оперативнее меня))
Приветствую, Форумчане!
УФ, познавательный вопрос

Недавно решал вопрос: массовое создание нескольких справочников программно.
Из некой формы галочкой выбирались строки ТЧ и на основании выбранных строк создавались программно справочники (ну и попутно документы).

В итоге, чтобы вновь созданные справочники вывести в некую итоговую таблицу значений (дополнительная форма с ТЗ), пришлось их создать, потом сохранить и вывести в ТЗ, чтобы можно было продолжить с ними работать: оставить или удалить непосредственно как ошибочные или ненужные...

Типа всё работает и все довольны, но вот хотелось бы понять насколько возможно ли следующее:

Создать программно справочники, запомнить их в памяти без сохранения в 1с, вывести то, что есть в памяти в некой ТЗ и эту ТЗ вывести на дополнительную форму для дальнейшей работы???

До этого сделал так: при программном создании выводил на экран вновь созданные справочники. В итоге на экране висело несколько справочников и Пользователь поочереди принимал решение, что делать с этими справочниками, но это не понравилось. Поэтому пришлось создавать, сохранять, выводить их в ТЗ и далее манипулировать (при определенных условиях при закрытии этой формы "ненужные" справочники удалялись программно непосредственно)
---
муторно как-то у вас. Зачем что-то создавать сразу? На основании выбранных строк сразу заполнять итоговую ТЗ. Далее по желанию можно сделать отметку выбора элементов, для которых уже создавать записи в справочники.
---
муторно как-то у вас. Зачем что-то создавать сразу? На основании выбранных строк сразу заполнять итоговую ТЗ. Далее по желанию можно сделать отметку выбора элементов, для которых уже создавать записи в справочники.
---
Классная идея!!! Грубо говоря перегнать в "новую" ТЗ данные для формирования новых справочников из выбранных строк, далее уже из этой ТЗ создавать справочники или нет... И при закрытии формы не нужно ничего делать: не сохранил, значит не сохранил...
---
Наверное, имеются в виду не справочники, а элементы справочников?
Нет, нельзя несуществующие элементы вывести в таблицу - их же нет.
Коллеги,

Уже гуглил не могу найти информацию, как для одного реквизита в XDTO указать, что он может принимать значения 2 типов.

Поясню (упрощенно) для чего нужно:
Есть объект "Запрос", у него есть 2 реквизита: Тип запроса (строка, перечисление) и ДанныеЗапроса.

В "ДанныеЗапроса" необходимо вставлять разные объекты (разной структуры) в зависимости от типа запроса.
---
В результате сделал через определение типа, где каждый подчиненный реквизит имеет имя и тип нужного объекта при этом нижняя граница у каждого равна нулю и возможно пустое, немного коряво, но пока что другого решения, в том числе на просторах интернета не нашел.
---
Тип значения XDTO в соответствии с правилами для simple type из схемы XML может определяться тремя способами:

● ограничением, когда задается базовый тип (свойство БазовыйТип) и набор ограничений на множество возможных значений (свойство Фасеты);

● объединением, когда тип получается в результате объединения нескольких типов значений (объединяемые типы перечисляются в свойстве ТипыЧленовОбъединения);

● списком, когда значение представляет собой список значений (тип значения элементов, составляющих список значений, задается в свойстве ТипЭлементаСписка).
---
вам нужен второй пункт, если я правильно понял сабж
---
Это типы значений, а мне надо указать типы объектов
---
anyType не спасет Вселенную в данном случае?
---
В Принципе спасет, но при этом из схемы не будет понятно какие типы может принимать значение реквизита, с точки валидатора, туда можно будет подставить что угодно, и это будет корректно.
---
В результате сделал через определение типа, где каждый подчиненный реквизит имеет имя и тип нужного объекта при этом нижняя граница у каждого равна нулю и возможно пустое, немного коряво, но пока что другого решения, в том числе на просторах интернета не нашел.
---
Проблема в том, что при обращении к свойству, имеющему тип - объединение получаем ошибку Несоответствие типов (параметр номер '1')
Непонятно, как обращаться к такому свойству, чтобы получить тип.