|
Можно ли в параметр виртуальной таблицы передать значение реквизитов др.талбицы?
| ☑ |
0
KizerSoze
19.03.14
✎
20:09
|
Здравствуйте,
Попробую сформулировать задачу на примере.
Есть сформированная в запросе временная таблица с колонками "Сотрудник" и "Дата".
Есть периодический регистр сведений с измерением "Сотрудник" и ресурсом "Признак".
Мне нужно получить Таблицу с колонками "Дата", "Сотрудник" и "Признак", где для каждой строки "Признак" - срез последних вышеупомянутого регистра сведений с параметрами "Дата" и "Сотрудник".
Задачу необходимо решить в пределах одного запроса. Механизм запроса в цикле недопустим.
|
|
1
Asmody
19.03.14
✎
20:13
|
В СКД можно, в простом запросе придется "эмулировать" срез последних
|
|
2
KizerSoze
19.03.14
✎
20:21
|
У меня так и реализовано :),
произвожу соединение с передачей параметров. Технически все правильно, но производительность сдохла. Нужен более эффективный механизм.
|
|
3
К_Дач
19.03.14
✎
20:53
|
|
|
4
Necessitudo
19.03.14
✎
22:02
|
Есть такая штука - называется коррелированный запрос. Покажу пример
Выбрать ЦеныНоменклатуры.Период, ЦеныНоменклатуры.Валюта, ЦеныНоменклатуры.Сумма
Из РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
ГДЕ ЦеныНоменклатуры.Период В
(Выбрать Максимум(ЦеныНоменклатуры1.Период) Из
РегистрСведений.ЦеныНоменклатуры Как ЦеныНоменклатуры1
Где ЦеныНоменклатуры1.Валюта = ЦеныНоменклатуры.Валюта)
Конструктор запроса такое условие не открывает - но оно работает.
|
|
5
Asmody
19.03.14
✎
22:17
|
(4) а профайлер не вешается от такого запроса?
|
|
6
К_Дач
19.03.14
✎
22:34
|
(4) прикольно)) и что, реально быстрее? по каждой записи из РС у тебя идет расчет максимума по периоду в этом же РС. Считать максимум для каждой записи - доооо, сусччественно ускорит)))
|
|
7
KizerSoze
19.03.14
✎
23:21
|
использовал "Ручной срез последних". Время выполнения отчета приемлемое. Спасибо за рекомендации.
|
|