Временные таблицы: Пример получения цен (1С: 8.1: Программисту: Работа с запросами) — 1c-h
 

Временные таблицы: Пример получения цен (1С: 8.1: Программисту: Работа с запросами)

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...

Как в языке запросов 1С используются временные таблицы. Что такое временные таблицы. Что такое виртуальные таблицы.

В одном из последних релизов платформы 8.1 появилась возможность использовать в запросах временные таблицы. Что это такое и как их можно использовать? Рассмотрим пример, с которым наверное многие из Вас сталкивались — а именно с необходимостью расчета цен по таблице товаров. Раньше эту задачу можно было решить разными способами, но ни один не обеспечивал быстрое и удобное получение результата. Эту проблему и решили временные таблицы.
Итак, допустим у нас есть таблица товаров — «ТабТоваров» с колонками — «Номенклатура», «Количество», «Цена», «Сумма», и нам необходимо быстро рассчитать цену и сумму по всем товарам. Первым шагом мы создаем менеджер временных таблиц и помещаем туда нашу таблицу значений:

Здесь ВТ_Номенклатура — это временная таблица.

Следующим шагом мы к временной таблице левым соединением добавляем цены из регистра сведений «ЦеныНоменклатуры»

Здесь ЦеныНоменклатурыСрезПоследних — это виртуальная таблица, в параметры которой мы передаем дату и список товаров.

Т.е. при получении среза последних мы передаем в параметры виртуальной таблицы нужные параметры.

Это оптимизирует работу при большом количестве записей в регистре, т.к. лишние данные отсекаются уже на этапе выбора цен.
Если параметры виртуальной таблицы не указать, то будут выбраны все записи из регистра ЦеныНоменклатуры и лишь потом по условию соединения отсекутся лишние записи, что считается грубой ошибкой программирования на языке 1С, т.к. создается неоптимальный код, существенно нагружающий систему.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...

Автор 1С

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Next Post

Хитрости запросов: сравнения и проверки в запросах 1С. Отбор не заполненного значения. Отбор в запросе документов конкретного типа при составном типе и т.п. ( 1С: 8.1: Язык программирования: Запросы)

Вт Май 18 , 2010
Как в языке запросов 1С отобрать не заполненное значение. Какое условие указать в запросе после ключевого слова «ГДЕ», когда нужно сделать отбор по не заполненным полям? Есть запрос: Запрос.Текст = "ВЫБРАТЬ | усЕдиницыХранения.Ссылка |ИЗ | Справочник.усЕдиницыХранения КАК усЕдиницыХранения Требуется отобрать по условию, что у справочника усЕдиницыХранения реквизит РазрешитьОтборИзРезервнойЗоны пустой Реквизит […]