|
Запрос к таблице значений | ☑ | ||
---|---|---|---|---|
0
KizerSoze
20.07.12
✎
12:02
|
Здравствуйте,
Хочу в модуле объекта написать запрос к таблице значений. Посмотрел в интернете, для этого надо сначало поместить ее в менеджер временных таблиц. Мой код: Запрос = Новый Запрос; МенеджерВТ = Новый МенеджерВременныхТаблиц; Запрос.МенеджерВременныхТаблиц = МенеджерВТ; Запрос.Текст = "ВЫБРАТЬ * ПОМЕСТИТЬ ТЗ ИЗ &ТЗ КАК ТЗ"; Запрос.УстановитьПараметр("ТЗ", ПлановыеСтавкиСвод); Запрос.Выполнить(); "ПлановыеСтавкиСвод" - таблица значений к которой хочу написать запрос. При попытки выполнения кода "Запрос.Выполнить();" появляется сообщение об ошибке. {ВнешняяОбработка.Тарификация.МодульОбъекта(1079)}: Ошибка при вызове метода контекста (Выполнить) Запрос.Выполнить(); по причине: {(1, 27)}: Тип не может быть выбран в запросе ВЫБРАТЬ * ПОМЕСТИТЬ ТЗ ИЗ <<?>>&ТЗ КАК ТЗ Не могу понять, в чем моя ошибка. |
|||
1
salvator
20.07.12
✎
12:03
|
Тип точно ТаблицаЗначений?
|
|||
2
aleks-id
20.07.12
✎
12:04
|
типизируй колонки ТЗ явно
|
|||
3
GLazNik
20.07.12
✎
12:04
|
а колонки ПлановыеСтавкиСвод какие?
|
|||
4
эцп
20.07.12
✎
12:04
|
(0) Какая-то колонка имеет тип, неподдерживаемый в запросе
|
|||
5
Virusaka
20.07.12
✎
12:10
|
(0)Все колонки должны быть типизированы.
Типа: Таблица = Новый ТаблицаЗначений; //Опишем тип создаваемой колонки Массив = Новый Массив; КЧ = Новый КвалификаторыЧисла(10, 2); Массив.Добавить(Тип("Число")); ОписаниеТиповЧ = Новый ОписаниеТипов(Массив, , ,КЧ); Таблица.Колонки.Добавить("КодУслуги",ОписаниеТиповЧ); (с) http://help1c.com/faq/view/815.html |
|||
6
KizerSoze
20.07.12
✎
12:14
|
Да, это таблица значений. Проверил при отладке.
Вот текст запроса по которому получил ПлановыеСтавкиСвод. "ВЫБРАТЬ | ШтатноеРасписаниеОрганизацийСрезПоследних.Должность, | ШтатноеРасписаниеОрганизацийСрезПоследних.ПодразделениеОрганизации, | ШтатноеРасписаниеОрганизацийСрезПоследних.АРБИС_ИФ.Ссылка КАК ИФ, | ШтатноеРасписаниеОрганизацийСрезПоследних.АРБИС_КБК.Ссылка КАК КБК, | ШтатноеРасписаниеОрганизацийСрезПоследних.КоличествоСтавок, | ШтатноеРасписаниеОрганизацийСрезПоследних.МаксимальнаяТарифнаяСтавка КАК Оклад |ИЗ | РегистрСведений.ШтатноеРасписаниеОрганизаций.СрезПоследних(&ДатаОтчета, ) КАК ШтатноеРасписаниеОрганизацийСрезПоследних |ГДЕ | ШтатноеРасписаниеОрганизацийСрезПоследних.ПодразделениеОрганизации В(&СписокПодразделений) | И ШтатноеРасписаниеОрганизацийСрезПоследних.Должность В(&СписокДолжностей) | И ШтатноеРасписаниеОрганизацийСрезПоследних.АРБИС_КБК В(&СписокКБК)"; Далее к полученной тз "ПлановыеСтавкиСвод" добавил колонку "КатегорияДолжности" с типом справочникссылка.ЗначенияСвойствОбъектов и заполнил ее обходом строк. |
|||
7
KizerSoze
20.07.12
✎
12:16
|
Попробую сейчас все колонки типизировать.
|
|||
8
andrewks
20.07.12
✎
12:18
|
(6) нафига тебе тогда ТЗ и ещё один запрос? делай всё через ВТ
|
|||
9
salvator
20.07.12
✎
12:21
|
(8) Да ему в таком случае вообще ВТ не нужны, можно все в запросе сделать.
|
|||
10
aleks-id
20.07.12
✎
12:22
|
(7) если ТЗ получена запросом то колонки не надо типизировать.
и правильный ответ в (8) |
|||
11
hhhh
20.07.12
✎
12:24
|
(10) а вот, вы не заметили: "добавил колонку "КатегорияДолжности""
|
|||
12
KizerSoze
20.07.12
✎
12:24
|
Мне нужна как таблица "ПлановыеСтавкиСвод", так и таблица, получаемая запросом к тз "ПлановыеСтавкиСвод".
|
|||
13
andrewks
20.07.12
✎
12:25
|
выбрать * поместить ВТ2 из ВТ1
|
|||
14
hhhh
20.07.12
✎
12:25
|
(12) ну колонку как добавили?
|
|||
15
KizerSoze
20.07.12
✎
12:26
|
Ошибка вылезает из за колонки "КатегорияДолжности"?
|
|||
16
andrewks
20.07.12
✎
12:26
|
(11) и чё? пусть в запросе и заполняет
|
|||
17
KizerSoze
20.07.12
✎
12:26
|
ПлановыеСтавки.Колонки.Добавить("КатегорияДолжности");
Для каждого ТекСтрока из ПлановыеСтавки цикл Отбор=Новый Структура; Отбор.Вставить("Объект",ТекСтрока.Должность); КДотбор=ТаблицаКатегорийДетальная.НайтиСтроки(Отбор); Для каждого Строка из КДотбор цикл ТекСтрока.КатегорияДолжности=Строка.КатегорияДолжности; КонецЦикла; КонецЦикла; ПлановыеСтавкиСвод=ПлановыеСтавки.Скопировать(); |
|||
18
KizerSoze
20.07.12
✎
12:27
|
Вот так добавил и заполнил колонку. См. выше
|
|||
19
salvator
20.07.12
✎
12:27
|
(17) Ты ее не типизировал, в противоречие своему (6)
|
|||
20
salvator
20.07.12
✎
12:28
|
+(19) А почему бы сразу в запросе не получить ТЗ с этой колонкой?
|
|||
21
andrewks
20.07.12
✎
12:29
|
(17) в чём смысл
Для каждого Строка из КДотбор цикл ТекСтрока.КатегорияДолжности=Строка.КатегорияДолжности; КонецЦикла; ? ЗЫ прикольно выглядит левое соединение во встроенном языке |
|||
22
hhhh
20.07.12
✎
12:30
|
(18) вот так пробуйте
"ВЫБРАТЬ | ШтатноеРасписаниеОрганизацийСрезПоследних.Должность, | ШтатноеРасписаниеОрганизацийСрезПоследних.ПодразделениеОрганизации, | ШтатноеРасписаниеОрганизацийСрезПоследних.АРБИС_ИФ.Ссылка КАК ИФ, | ШтатноеРасписаниеОрганизацийСрезПоследних.АРБИС_КБК.Ссылка КАК КБК, | ШтатноеРасписаниеОрганизацийСрезПоследних.КоличествоСтавок, | ШтатноеРасписаниеОрганизацийСрезПоследних.МаксимальнаяТарифнаяСтавка КАК Оклад, | ЗНАЧЕНИЕ(Справочник.ЗначенияСвойствИОбъектов.ПустаяСсылка) КАК КатегорияДолжности |
|||
23
KizerSoze
20.07.12
✎
12:34
|
Сейчас поробую.
|
|||
24
KizerSoze
20.07.12
✎
12:40
|
Ошибка больше не выскакивает. Спасибо вам за помощь.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |