|
Тип не может быть выбран в запросе | ☑ | ||
---|---|---|---|---|
0
rool
07.06.18
✎
14:30
|
Добрый день!
БГУ после обновления в вот этом куске кода: Если (Массив1.Количество() = 0) ИЛИ (Массив2.Количество() = 0) Тогда МассивРезультат = Новый Массив; Возврат МассивРезультат; КонецЕсли; МассивТ = Новый Массив; МассивТ.Добавить(ТипЗнч(Массив1[0])); ОписаниеТ = Новый ОписаниеТипов(МассивТ); Таб1 = Новый ТаблицаЗначений; Таб1.Колонки.Добавить("К1", ОписаниеТ); Таб1.Колонки.Добавить("Порядок", Новый ОписаниеТипов("Число")); Таб2 = Новый ТаблицаЗначений; Таб2.Колонки.Добавить("К1", ОписаниеТ); Таб2.Колонки.Добавить("Порядок", Новый ОписаниеТипов("Число")); МаксИндекс = Массив1.Количество() - 1; Для к = 0 По МаксИндекс Цикл СтрокаТаб = Таб1.Добавить(); СтрокаТаб.К1 = Массив1[к]; СтрокаТаб.Порядок = к; КонецЦикла; МаксИндекс = Массив2.Количество() - 1; Для к = 0 По МаксИндекс Цикл СтрокаТаб = Таб2.Добавить(); СтрокаТаб.К1 = Массив2[к]; СтрокаТаб.Порядок = к; КонецЦикла; МВТ = Новый МенеджерВременныхТаблиц; Запрос = Новый Запрос; Запрос.МенеджерВременныхТаблиц = МВТ; Запрос.Текст = "ВЫБРАТЬ | К1, | Порядок |ПОМЕСТИТЬ Т1 |ИЗ | &Таб1 КАК Таб1; |///////////////////////// |ВЫБРАТЬ | К1, | Порядок |ПОМЕСТИТЬ Т2 |ИЗ | &Таб2 КАК Таб2; |///////////////////////// |ВЫБРАТЬ РАЗЛИЧНЫЕ | Т1.К1, | Т1.Порядок |ИЗ | Т1 | ВНУТРЕННЕЕ СОЕДИНЕНИЕ | Т2 ПО Т1.К1 = Т2.К1 |УПОРЯДОЧИТЬ ПО Т1.Порядок |"; Запрос.УстановитьПараметр("Таб1", Таб1); Запрос.УстановитьПараметр("Таб2", Таб2); ТабР = Запрос.Выполнить().Выгрузить(); МассивРезультат = ТабР.ВыгрузитьКолонку("К1"); Начало выдавать ошибку "Тип не может быть выбран в запросе" что ему надо? вроде обе таблицы типизированные |
|||
1
Ёпрст
07.06.18
✎
14:32
|
(0) массив в качестве колонки ?
|
|||
2
Ёпрст
07.06.18
✎
14:32
|
оригинально
|
|||
3
rool
07.06.18
✎
14:33
|
(1) я не при делах, это типовой кусок БГУ :)
|
|||
4
Ёпрст
07.06.18
✎
14:34
|
Посмотри, что у тебя в табличке, в к1
|
|||
5
rool
07.06.18
✎
14:42
|
(4) пока не могу, база на сервере с отключенной отладкой, копирую
|
|||
6
rool
07.06.18
✎
14:44
|
(4) я ж правильно понимаю что по хорошему там должно быть что-то вроде вот этого:
///rool //МассивТ = Новый Массив; //МассивТ.Добавить(ТипЗнч(Массив1[0])); // //ОписаниеТ = Новый ОписаниеТипов(МассивТ); //\rool Таб1 = Новый ТаблицаЗначений; ///rool //Таб1.Колонки.Добавить("К1", ОписаниеТ); Таб1.Колонки.Добавить("К1", Новый ОписаниеТипов(ТипЗнч(Массив1[0]))); //\rool Таб1.Колонки.Добавить("Порядок", Новый ОписаниеТипов("Число")); Таб2 = Новый ТаблицаЗначений; ///rool //Таб2.Колонки.Добавить("К1", ОписаниеТ); Таб2.Колонки.Добавить("К1", Новый ОписаниеТипов(ТипЗнч(Массив2[0]))); //\rool Таб2.Колонки.Добавить("Порядок", Новый ОписаниеТипов("Число")); |
|||
7
Малыш Джон
07.06.18
✎
14:54
|
(6) нет
есть два варианта: Новый ОписаниеТипов("СправочникСсылка.блаблабла"); или МассивТипов = НовыйМассив; МассивТипов.Добавить(Новый Тип("СправочникСсылка.блаблабла"); Новый ОписаниеТипов(МассивТипов); |
|||
8
Малыш Джон
07.06.18
✎
14:54
|
поэтому
Новый ОписаниеТипов(ТипЗнч(чего-то там)) не прокатит |
|||
9
Малыш Джон
07.06.18
✎
15:02
|
а в твоем случае - скорее всего не происходит типизации колонки в тз.
смотри в отладке, что в Массив1 попадает |
|||
10
hhhh
07.06.18
✎
15:10
|
(8) но эта штука
МассивТ = Новый Массив; МассивТ.Добавить(ТипЗнч(Массив1[0])); ОписаниеТ = Новый ОписаниеТипов(МассивТ); должна ведь прокатить. |
|||
11
hhhh
07.06.18
✎
15:11
|
может там СправочникОбъект передается?
|
|||
12
rool
07.06.18
✎
15:11
|
(9) ок. всем спасибо. завтра натравлю отладчик на копию базы)
|
|||
13
Малыш Джон
07.06.18
✎
15:18
|
(10) да , конечно
это второй вариант из (7), только вместо Новый Тип() - ТипЗнч(). |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |