Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Составной тип в запросе

Составной тип в запросе
Я
   vsg-work
 
26.05.21 - 15:19
Добрый день.

Возникла проблема. Есть таблица значений, которую создал программно. Описал типы, все как нужно. Единственное, у меня поле "ДокументОтгрузки" является составным типом (может быть как реализацией, так и отчет о розничных продажах).

Когда я эту таблицу значений передаю в запрос параметром, при исполнении 1С ругается следующим образом:
Тип не может быть выбран в запросе
<<?>>ТаблицаДанных.ДокументОтгрузки КАК ДокументОтгрузки,

КАк решается данная проблема, подскажите пожалуйста...
 
 Партнерская программа EFSOL Oblako
   vde69
 
1 - 26.05.21 - 15:23
что-то типа такого

Выбор 
когда т.Поле ссылка(документ.твойдокумент) тогда 
выразить(т.Поле, документ.твойдокумент) = &пвр 
иначе
ложь
конецвыбор
   vsg-work
 
2 - 26.05.21 - 15:31
(1) Не понял, а что я должен в параметр поставить?) Вместе &пвр?
   hhhh
 
3 - 26.05.21 - 15:38
(0) ну, покажите, как описали типы.
   perlharbor
 
4 - 26.05.21 - 15:39
(0) Ну загляни в эту ТЗ и посмотри какие документы туда попадают. Может встречаться null например,или документ с типом,которого нет в описании колонки
   vsg-work
 
5 - 26.05.21 - 15:44
(3)     МассивОписанийТипов = Новый Массив;
    МассивОписанийТипов .Добавить(Новый ОписаниеТипов("ДокументСсылка.РеализацияТоваровУслуг"));
    МассивОписанийТипов .Добавить(Новый ОписаниеТипов("ДокументСсылка.ВозвратТоваровОтПокупателя"));
    ТаблицаДанных.Колонки.Добавить("ДокументОтгрузки", Новый ОписаниеТипов(МассивОписанийТипов ));
   vsg-work
 
6 - 26.05.21 - 15:45
(4) Ну вот, только два документа и попадают. NULL нету. Только два типа.
   hhhh
 
7 - 26.05.21 - 15:48
(6) вот это какой-то дебилизм, описание типов, а внутри еще одно описание типов. Наверно так надо

МассивОписанийТипов .Добавить(Тип("ДокументСсылка.РеализацияТоваровУслуг"));
   Anton1307
 
8 - 26.05.21 - 15:49
Рабочий код:

    ТЗ = Новый ТаблицаЗначений;
    ТЗ.Колонки.Добавить("ААА", ОбщегоНазначения.ПолучитьОписаниеТиповЧисла(10));
    ТЗ.Колонки.Добавить("БББ", Новый ОписаниеТипов("ДокументСсылка.ПоступлениеТоваровУслуг, ДокументСсылка.РеализацияТоваровУслуг"));
    
    ТекстЗапроса = "ВЫБРАТЬ
                   |    Т.ААА,
                   |    Т.БББ
                   |ПОМЕСТИТЬ ВремТЗ
                   |ИЗ
                   |    &ТЗ КАК Т";
    
    Запрос = Новый Запрос(ТекстЗапроса);
    Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
    Запрос.УстановитьПараметр("ТЗ", ТЗ);
    Запрос.Выполнить();
   Anton1307
 
9 - 26.05.21 - 15:56
(5) У тебя здесь ошибка. Ты в качестве параметра типа колонки передаёшь не массив типов, в массив ОПИСАНИЙ типов.
Правильно - как в (7)

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.