![]() |
|
Составной тип в запросе | ☑ | ||
---|---|---|---|---|
0
vsg-work
26.05.21
✎
15:19
|
Добрый день.
Возникла проблема. Есть таблица значений, которую создал программно. Описал типы, все как нужно. Единственное, у меня поле "ДокументОтгрузки" является составным типом (может быть как реализацией, так и отчет о розничных продажах). Когда я эту таблицу значений передаю в запрос параметром, при исполнении 1С ругается следующим образом: Тип не может быть выбран в запросе <<?>>ТаблицаДанных.ДокументОтгрузки КАК ДокументОтгрузки, КАк решается данная проблема, подскажите пожалуйста... |
|||
1
vde69
26.05.21
✎
15:23
|
что-то типа такого
Выбор когда т.Поле ссылка(документ.твойдокумент) тогда выразить(т.Поле, документ.твойдокумент) = &пвр иначе ложь конецвыбор |
|||
2
vsg-work
26.05.21
✎
15:31
|
(1) Не понял, а что я должен в параметр поставить?) Вместе &пвр?
|
|||
3
hhhh
26.05.21
✎
15:38
|
(0) ну, покажите, как описали типы.
|
|||
4
perlharbor
26.05.21
✎
15:39
|
(0) Ну загляни в эту ТЗ и посмотри какие документы туда попадают. Может встречаться null например,или документ с типом,которого нет в описании колонки
|
|||
5
vsg-work
26.05.21
✎
15:44
|
(3) МассивОписанийТипов = Новый Массив;
МассивОписанийТипов .Добавить(Новый ОписаниеТипов("ДокументСсылка.РеализацияТоваровУслуг")); МассивОписанийТипов .Добавить(Новый ОписаниеТипов("ДокументСсылка.ВозвратТоваровОтПокупателя")); ТаблицаДанных.Колонки.Добавить("ДокументОтгрузки", Новый ОписаниеТипов(МассивОписанийТипов )); |
|||
6
vsg-work
26.05.21
✎
15:45
|
(4) Ну вот, только два документа и попадают. NULL нету. Только два типа.
|
|||
7
hhhh
26.05.21
✎
15:48
|
(6) вот это какой-то дебилизм, описание типов, а внутри еще одно описание типов. Наверно так надо
МассивОписанийТипов .Добавить(Тип("ДокументСсылка.РеализацияТоваровУслуг")); |
|||
8
Anton1307
26.05.21
✎
15:49
|
Рабочий код:
ТЗ = Новый ТаблицаЗначений; ТЗ.Колонки.Добавить("ААА", ОбщегоНазначения.ПолучитьОписаниеТиповЧисла(10)); ТЗ.Колонки.Добавить("БББ", Новый ОписаниеТипов("ДокументСсылка.ПоступлениеТоваровУслуг, ДокументСсылка.РеализацияТоваровУслуг")); ТекстЗапроса = "ВЫБРАТЬ | Т.ААА, | Т.БББ |ПОМЕСТИТЬ ВремТЗ |ИЗ | &ТЗ КАК Т"; Запрос = Новый Запрос(ТекстЗапроса); Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; Запрос.УстановитьПараметр("ТЗ", ТЗ); Запрос.Выполнить(); |
|||
9
Anton1307
26.05.21
✎
15:56
|
(5) У тебя здесь ошибка. Ты в качестве параметра типа колонки передаёшь не массив типов, в массив ОПИСАНИЙ типов.
Правильно - как в (7) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |