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