Имя: Пароль:
1C
1С v8
Составной тип в ТЗ
0 ЗлаяЗая
 
01.03.21
11:20
В ТЗ нужно описать колонку составного типа. Делаю так:
СписокТипов = Новый Массив;
СписокТипов.Добавить("ДокументСсылка.ЗаказНаПроизводство");
СписокТипов.Добавить("ДокументСсылка.ВнутреннийЗаказ");
ОписаниеСоставногоТипа = Новый ОписаниеТипов(СписокТипов);
ТЗ.Колонки.Добавить("Заказ",ОписаниеСоставногоТипа);
Все нормально, создалось, заполнилось.

А потом эту ТЗ передаю в качестве параметра в запрос. И мне пишет "Тип не может быть выбран в запросе".

В запросе не может быть составного типа?
1 Василий Алибабаевич
 
01.03.21
11:25
(0) Колонка ВременнойТаблицы не может быть составного типа. Пользуйте две разные таблицы для "ЗаказНаПроизводство" и "ВнутреннийЗаказ" и объединение в запросе.
2 acht
 
01.03.21
12:27
(1) Не трынди. Колонка временной таблицы может быть составного типа. Я те больше скажу - она там в потрохах всегда составного, там еще NULL есть.

(0) При формировании массива типов туда надо пихать типы, а не строки. Или предавать в конструктор описания типов строку, перечисляющую имена типов через запятую. Синтакс-помощник понимать совсем не трудно.
3 Малыш Джон
 
01.03.21
12:34
(0)
СписокТипов = Новый Массив;
СписокТипов.Добавить(Тип("ДокументСсылка.ЗаказНаПроизводство"));
СписокТипов.Добавить(Тип("ДокументСсылка.ВнутреннийЗаказ"));
4 ЗлаяЗая
 
01.03.21
14:32
спасибо
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший