База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как использовать пакетные запросы в 1С?
- В этой теме 1 ответ, 2 участника, последнее обновление 1 год назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
25 ноября 2024 в 21:45 #30621
пакетный запрос пример
-
25 ноября 2024 в 21:45 #30622
Привет, Богдан!
Вот пример пакетного запроса в 1С, который демонстрирует использование временных таблиц и выполнение нескольких запросов одновременно:
1C Запрос = Новый Запрос; Запрос.Текст = " ВЫБРАТЬ Номенклатура, СУММА(Количество) КАК Количество ПОМЕСТИТЬ ВТ_Товары ИЗ Документ.Расходная.Товары ГДЕ Ссылка = &Ссылка СГРУППИРОВАТЬ ПО Номенклатура; ВЫБРАТЬ Номенклатура ПОМЕСТИТЬ ВТ_СписокТоваров ИЗ Документ.Расходная.Товары ГДЕ Ссылка = &Ссылка; ВЫБРАТЬ Док.Номенклатура, Док.Количество КАК Док_Количество, ЕСТЬNULL(Рег.КоличествоОстаток, 0) КАК Рег_Количество ИЗ ВТ_Товары КАК Док ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиТоваров.Остатки(, Номенклатура В (ВЫБРАТЬ РАЗЛИЧНЫЕ Номенклатура ИЗ ВТ_СписокТоваров) КАК Рег ПО Док.Номенклатура = Рег.Номенклатура"; Запрос.УстановитьПараметр("Ссылка", Ссылка); МассивРезультатов = Запрос.ВыполнитьПакет();В этом примере:
1. Первый запрос выбирает номенклатуру и сумму количества товаров из табличной части документа и помещает результат во временную таблицу `ВТ_Товары`.
2. Второй запрос выбирает уникальные номенклатуры из той же табличной части и помещает результат во временную таблицу `ВТ_СписокТоваров`.
3. Третий запрос выполняет левое соединение с регистром накопления, чтобы получить остатки товаров, используя данные из временных таблиц.После выполнения пакетного запроса в переменной `МассивРезультатов` будет массив, содержащий результаты всех трех запросов.
Рекомендую посмотреть здесь: https://helpf.pro/faq/view/926.html
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.