Таблица схемы запроса

1. MikhailDr 13.10.21 09:38 Сейчас в теме
Здравствуйте форумчане. Возник вопрос со схемой запроса, не могу разобраться. Мне надо в схему запроса добавить временную таблицу. Итоговый вид запроса будет следующим:

"ВЫБРАТЬ
|	ТаблицаПравилПервогоУровня.Родитель КАК Родитель,
|	ТаблицаПравилПервогоУровня.Правило КАК Правило
|ПОМЕСТИТЬ ТаблицаПравилПервогоУровня
|ИЗ
|	&ТаблицаПравилПервогоУровня КАК ТаблицаПравилПервогоУровня
|;
|
|////////////////////////////////////////////////////////////­////////////////////
|ВЫБРАТЬ
|	ТаблицаПравилПервогоУровня.Родитель КАК Родитель,
|	ТаблицаПравилПервогоУровня.Правило КАК Правило
|ИЗ
|	ТаблицаПравилПервогоУровня КАК ТаблицаПравилПервогоУровня"
Показать


Не понимаю как добавить в источник первого пакета "&ТаблицаПравилПервогоУровня"

Написал такой код, но система ругается на то что таблица не найдена

СхемаЗапроса = Новый СхемаЗапроса;

ОператорСхемы = СхемаЗапроса.ПакетЗапросов[0].Операторы[0];
ОператорСхемы.Источники.Добавить("&ТаблицаРодителейПервогоУровня", "ТаблицаПравилПервогоУровня");

ГруппаСправочника = ОператорСхемы.ВыбираемыеПоля.Добавить("ТаблицаПравилПервогоУровня.Родитель", 0);
Правило = ОператорСхемы.ВыбираемыеПоля.Добавить("ТаблицаПравилПервогоУровня.Правило", 1);

СхемаЗапроса.ПакетЗапросов[0].ТаблицаДляПомещения = "ТаблицаПравилПервогоУровня";
Показать



Ошибка понятна, не знаю как исправить.
По теме из базы знаний
Найденные решения
8. MikhailDr 13.10.21 10:11 Сейчас в теме
Все, наконец-то понял

СхемаЗапроса = Новый СхемаЗапроса;

ОператорСхемы = СхемаЗапроса.ПакетЗапросов[0].Операторы[0];
ОператорСхемы.Источники.Добавить(Тип("ОписаниеВременнойТаблицыСхемыЗапроса"), "&ТаблицаПравилПервогоУровня");

ГруппаСправочника = ОператорСхемы.ВыбираемыеПоля.Добавить("ТаблицаПравилПервогоУровня.Родитель", 0);
Правило = ОператорСхемы.ВыбираемыеПоля.Добавить("ТаблицаПравилПервогоУровня.Правило", 1);

СхемаЗапроса.ПакетЗапросов[0].ТаблицаДляПомещения = "ТаблицаПравилПервогоУровня";
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. jefjef 10 13.10.21 09:52 Сейчас в теме
(1) Это не вложенный запрос, а временная таблица.
Все то же самое, как в (2), только кнопка правее - создать описание временной таблицы.
5. MikhailDr 13.10.21 09:55 Сейчас в теме
(4) Мне это не надо в конструкторе, мне надо через схему.
2. Alexponenta 13.10.21 09:43 Сейчас в теме
В конструкторе запросов есть же поле "Добавить вложенный запрос"
Прикрепленные файлы:
3. MikhailDr 13.10.21 09:49 Сейчас в теме
(2) Мне надо это сделать через схему запроса. Через конструктор тут все очевидно.
6. Release 13.10.21 10:00 Сейчас в теме
(3) Откуда должны быть получены данные в &ТаблицаПравилПервогоУровня?
Увидел в шапке.
А таблицу &ТаблицаРодителейПервогоУровня не увидел.
7. MikhailDr 13.10.21 10:03 Сейчас в теме
(6) Я пример кода написал. В синтаксисе есть такой конструктор "Новый СхемаЗапроса". Используется для программного изменения текста запроса. А &ТаблицаПравилПервогоУровня это параметр запроса, представляет собой таблицу значений.
9. MikhailDr 13.10.21 10:13 Сейчас в теме
(6) Да, там была опечатка, но глобально вопрос был в том как добавить в схему описание временной таблицы, ниже я написал решение.
8. MikhailDr 13.10.21 10:11 Сейчас в теме
Все, наконец-то понял

СхемаЗапроса = Новый СхемаЗапроса;

ОператорСхемы = СхемаЗапроса.ПакетЗапросов[0].Операторы[0];
ОператорСхемы.Источники.Добавить(Тип("ОписаниеВременнойТаблицыСхемыЗапроса"), "&ТаблицаПравилПервогоУровня");

ГруппаСправочника = ОператорСхемы.ВыбираемыеПоля.Добавить("ТаблицаПравилПервогоУровня.Родитель", 0);
Правило = ОператорСхемы.ВыбираемыеПоля.Добавить("ТаблицаПравилПервогоУровня.Правило", 1);

СхемаЗапроса.ПакетЗапросов[0].ТаблицаДляПомещения = "ТаблицаПравилПервогоУровня";
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот