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