Имя: Пароль:
1C
1С v8
Типизированная ТЗ с колонкой ТипВсеСсылки()
0 Franchiser
 
гуру
30.01.23
18:04
Мне нужна ТЗ типизированная в которой будут колонки содержащие субконто1, субконто2, субконто3.
Как воспользоваться описание типов, что в колонках были одновременно ссылка на разные типы документов, справочников и перечисления?
1 ptiz
 
30.01.23
18:28
См. метаданные, например, ПВХ видов субконто
2 inkvizitr
 
30.01.23
18:28
3 Franchiser
 
гуру
31.01.23
11:11
(2) Это не то что нужно
4 Franchiser
 
гуру
31.01.23
11:14
Пробовал так:
СписокТипов = Новый Массив;
    СписокТипов.Добавить(Документы.ТипВсеСсылки());
    СписокТипов.Добавить(Справочники.ТипВсеСсылки());
    СписокТипов.Добавить(Перечисления.ТипВсеСсылки());
    ОписаниеСоставногоТипа = Новый ОписаниеТипов(СписокТипов);

В итоге при выполнении запроса ошибка
"по причине:
{(1, 41)}: Тип не может быть выбран в запросе
Выбрать * Поместить ДанныеКомБазБазы ИЗ <<?>>&ТЗ как ТЗ"
5 lodger
 
31.01.23
11:17
(4) ты неправильно используешь конструктор ОписаниеТипов
почитай СП
6 KJlag
 
31.01.23
11:18
(4)
оОписание = Новый ОписаниеТипов;
оОписание = Новый ОписаниеТипов(оОписание, Справочники.ТипВсеСсылки().Типы());
оОписание = Новый ОписаниеТипов(оОписание, Документы.ТипВсеСсылки().Типы());


ТЗ= Новый ТаблицаЗначений();  
ТЗ.Колонки.Добавить("ОбъектВыгр",оОписание);
7 Franchiser
 
гуру
31.01.23
11:25
(6) не работает
8 Franchiser
 
гуру
31.01.23
11:31
(6) у тебя каждый следующий тип перезатирает предыдущий.
9 KJlag
 
31.01.23
11:35
10 KJlag
 
31.01.23
11:39
(8)
ОписаниеТипов (TypeDescription)
На основании объекта ОписаниеТипов
Синтаксис:
Новый ОписаниеТипов(<ИсходноеОписаниеТипов>, <ДобавляемыеТипы>, <ВычитаемыеТипы>, <КвалификаторыЧисла>, <КвалификаторыСтроки>, <КвалификаторыДаты>, <КвалификаторыДвоичныхДанных>)
Параметры:
<ИсходноеОписаниеТипов> (необязательный)
Тип: ОписаниеТипов.
Исходное описание типов, на основании которого будет строиться новое.
<ДобавляемыеТипы> (необязательный)
Тип: Массив, Строка.
Массив значений типа Тип, состоящий из типов, которые будут использованы в объекте, или строка, содержащая имена типов разделенных запятыми.
11 ptiz
 
31.01.23
11:39
(4) ТЗ.Колонки.Добавить("МояКолонка1", Метаданные.ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Тип);
12 Franchiser
 
гуру
31.01.23
13:29
(11) отлично.
Теперь следующая проблема: нужно в эту колонку иметь возможность писать значение NULL
13 Franchiser
 
гуру
31.01.23
13:41
Если так, то снова ошибка
    СписокТипов = Новый Массив;
    СписокТипов.Добавить(Метаданные.ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Тип);
    СписокТипов.Добавить(Тип("Null"));    
    ОписаниеСоставногоТипа = Новый ОписаниеТипов(СписокТипов);
14 lodger
 
31.01.23
14:39
(13) ты не внял (5)

ну напиши так:
ОписаниеСоставногоТипа = Новый ОписаниеТипов(Метаданные.ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Тип,"Null");
15 KJlag
 
31.01.23
14:44
(14) он не внял и (10) , где как раз выписка из сп
16 Жан Пердежон
 
31.01.23
14:53
Вариант для ленивых:

Запрос = Новый Запрос("ВЫБРАТЬ ПЕРВЫЕ 1 Значение КАК Субконто1, Значение КАК Субконто2, Значение КАК Субконто3 ИЗ РегистрБухгалтерии.Хозрасчетный.Субконто ГДЕ ЛОЖЬ");
ТЗ = Запрос.Выполнить().Выгрузить();
17 Franchiser
 
гуру
31.01.23
15:43
ладно, пока null не нужен. При связи по субконто двух наборов не получится сделать join, если в обеих таблицах значения null
18 Franchiser
 
гуру
01.02.23
01:43
(9) понял, там типы дополняются
19 Franchiser
 
гуру
01.02.23
01:43
(9) что это за консоль?
20 KJlag
 
01.02.23
08:44
(19) в инструментах разработчика. консоль кода.
ссылку на инфостарт чет не могу найти. давно качал