Имя: Пароль:
1C
1С v8
временные таблицы
0 jamesgold
 
19.11.14
11:00
Прошу помочь!
Имеется 2 таблицы значений: тзКолОпераций и тзОбщиеДанные. Пытюсь использовать их в запросе.        

Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.Текст = "ВЫБРАТЬ * ПОМЕСТИТЬ тзКолОпераций ИЗ &тзКолОпераций КАК тзКолОпераций";
Запрос.УстановитьПараметр("тзКолОпераций", тзКолОпераций);
Запрос.Выполнить();
        
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.Текст = "ВЫБРАТЬ * ПОМЕСТИТЬ тзОбщиеДанные ИЗ &тзОбщиеДанные КАК тзОбщиеДанные";
Запрос.УстановитьПараметр("тзОбщиеДанные", тзОбщиеДанные);
Запрос.Выполнить();
        
Запрос.Текст = "ВЫБРАТЬ        
|    ИсточникДанных.Сотрудник КАК Сотрудник,
|    ИсточникДанных.ТехОперация КАК ТехОперация,
|    ИсточникДанных.Ставка КАК Ставка,
|    СУММА(ИсточникДанных.КоличествоОборот) КАК КоличествоОборот,
|    1 КАК Количественная
|    ИЗ
|    тзКолОпераций
|    ЛЕВОЕ СОЕДИНЕНИЕ тзОбщиеДанные КАК ИсточникДанных
|    ПО тзКолОпераций.ТехОперация = ИсточникДанных.ТехОперация
|    
|    СГРУППИРОВАТЬ ПО
|    ИсточникДанных.ТехОперация,
|    ИсточникДанных.Сотрудник,
|    ИсточникДанных.Ставка";

Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();


Оширбка:

Таблица не найдена "тзКолОпераций"
<<?>>тзКолОпераций
1 Kuein
 
19.11.14
11:01
Потому что МенеджерВременныхТаблиц создается дважды. И во втором менеджере действительно нет таблицы тзКолОпераций.
2 Ёпрст
 
19.11.14
11:03
(0) и вообще, МенеджерВременныхТаблиц можно выкинуть и всё написать в одном пакетном запросе.
3 Kuein
 
19.11.14
11:03
(0) Настоятельно рекомендую не извращаться, а написать нормально запрос с помощью конструктора и уже в нем указать все временные таблицы.
4 DS
 
19.11.14
11:03
Нет такой таблицы. Что не ясно?
5 jamesgold
 
19.11.14
11:04
А каким образом можно поместить в один менеджер 2 таблицы значений?
6 RomanYS
 
19.11.14
11:04
ИЗ
    &тзКолОпераций КАК тзКолОпераций
7 RomanYS
 
19.11.14
11:06
(5) не пересоздавать объект запрос и его менеджер ВТ
*(6) поспешил)
8 jamesgold
 
19.11.14
11:08
Осень важно реализовать именно в этом формате, подскажите как это будет в виде синтакиса? 2 тз в одном менеджере вт?
9 Ёпрст
 
19.11.14
11:11
(8) да ё

//Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.Текст = "ВЫБРАТЬ * ПОМЕСТИТЬ тзОбщиеДанные ИЗ &тзОбщиеДанные КАК тзОбщиеДанные";
10 Kuein
 
19.11.14
11:14
(8) И расскажите заодно почему вам "осень важно реализовать именно в этом формате".
И чем вас не устроит нормальный пакетный запрос, который вам рекомендуют.
11 jamesgold
 
19.11.14
11:15
Спасибо большое, помогло (10) !!!
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.