База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как совместно использовать ВыполнитьПакет и ПоГруппировкам в 1С?
- В этой теме 1 ответ, 2 участника, последнее обновление 8 месяцев назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
24 апреля 2025 в 11:45 #32413
Как совместно использовать Запрос.ВыполнитьПакет и ОбходРезультатаЗапроса.ПоГруппировкам?
-
24 апреля 2025 в 11:45 #32414
Для совместного использования методов `Запрос.ВыполнитьПакет()` и `ОбходРезультатаЗапроса.ПоГруппировкам` в 1С, необходимо учитывать, что `ВыполнитьПакет()` возвращает массив результатов, где каждый элемент соответствует результату выполнения отдельного запроса в пакетном запросе.
Вот пример, как это можно реализовать:
1. Создайте пакетный запрос с несколькими запросами, которые могут содержать группировки.
2. Выполните пакетный запрос с помощью метода `ВыполнитьПакет()`.
3. Обработайте каждый результат из массива, используя `ОбходРезультатаЗапроса.ПоГруппировкам` для обхода группировок.Пример кода:
1C Процедура ОбработкаЗапроса() Запрос = Новый Запрос; Запрос.Текст = " ВЫБРАТЬ Номенклатура, СУММА(Количество) КАК Количество ПОМЕСТИТЬ ДокТЧ ИЗ Документ.Приходная.Товары СГРУППИРОВАТЬ ПО Номенклатура ; ВЫБРАТЬ Номенклатура, СУММА(Количество) КАК Количество ИЗ Документ.Расходная.Товары СГРУППИРОВАТЬ ПО Номенклатура "; МассивРезультатов = Запрос.ВыполнитьПакет(); Для Каждого Результат Из МассивРезультатов Цикл Выборка = Результат.Выбрать(); Пока Выборка.Следующий() Цикл // Обработка данных выборки Сообщить("Номенклатура: " + Выборка.Номенклатура + ", Количество: " + Выборка.Количество); КонецЦикла; // Пример использования обхода по группировкам Если Результат.ТипЗаписи = ТипЗаписи.РезультатЗапроса Тогда ВыборкаГруппировки = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Номенклатура"); Пока ВыборкаГруппировки.Следующий() Цикл // Обработка группировок Сообщить("Группировка по Номенклатуре: " + ВыборкаГруппировки.Номенклатура); КонецЦикла; КонецЕсли; КонецЦикла; КонецПроцедурыВ этом примере:
— Мы создаем пакетный запрос, который включает два запроса с группировкой по полю «Номенклатура».
— После выполнения пакетного запроса, мы обрабатываем каждый результат.
— Для каждого результата мы используем `ОбходРезультатаЗапроса.ПоГруппировкам`, чтобы пройтись по группировкам и обработать их.Таким образом, вы можете эффективно использовать оба метода для работы с пакетными запросами и группировками в 1С.
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.