Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
20 мая 2024, 16:29

Цель использования временной таблицы

Автор Андрей Бутенко8, 10 июл 2023, 14:20

0 Пользователей и 1 гость просматривают эту тему.

Андрей Бутенко8

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

LexaK

Андрей Бутенко8, суть временной таблицы, примерно как переменной, которой вы присваиваете какие либо расчеты а затем результат этих расчетов (переменную) используете в других местах вычислений.
так и в вашем примере, сначала создали ВрТаб, а затем два раза к ней обращаются.
если помогло нажмите: Спасибо!

Максим75

Андрей Бутенко8, еще один вариант - когда пишете запрос, сразу не можете понять, какая нужна вложенность вложенных запросов. а через временные таблицы очень удобно - создал набор записей, применил агрегатные функции и во временную. дальше уже с временной работаете.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск