Как сделать группировки в запросе по группам в справочнике
По теме из базы знаний
- Всякие полезности
- Сложные запросы в динамическом списке или как не надо писать запросы для них
- Отображение и редактирование в дереве большого количества настроек/параметров/опций программы, конфигурации, документа, справочника - без программного создания элементов формы
- Пользовательские настройки отчетов 1С. Часть 2. Группировки и варианты
- Работа с требованиями при автоматизации процессов планирования. Как не получить «лоскутное одеяло» и при этом удержать границы проекта
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Счетчик - покажет количество элементов а уровень можно получить так:
Функция Уров(ТекЭл)
Возврат(ТекЭл.Уровень());
КонецФункции
Процедура Сформировать()
Перем Запрос, ТекстЗапроса, Таб;
//Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Родитель = Справочник.Контрагенты.Родитель;
|Функция Счётчик = Счётчик();
|Функция Уровень = Среднее(Уров(Родитель));
|Группировка Родитель;
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
КонецПроцедуры
Показать
Это решение
В спр. Контрагенты такая иерархия:
1) есть 5 основных групп, допустим - Строительный отд., Коммерческий отд., Технический отд. и т.д.;
2) в каждом отделе(основной группе) - контрагенты и подгруппы по именам менеджеров - Покупатели Федора, Поставщики Николая и т.д.
Как в запросе сделать, чтобы выбирались только основные группы и итоги тоже были по ним и всем что в нем внутри?
т.е.
результатом были:
...
Сторительный 5 шт. 150000 руб.
Коммерческий 6 шт. 2500 дол.
...
, а не:
...
Строительный 5 шт. 150000 руб.
Покупатели Стапана 3 шт. 100000 руб.
Поставщики Анны 2 шт. 3000 руб.
Коммерческий 6 шт. 2500 дол.
...
Надеюсь задача ясна? ;)
Спасибо.
1) есть 5 основных групп, допустим - Строительный отд., Коммерческий отд., Технический отд. и т.д.;
2) в каждом отделе(основной группе) - контрагенты и подгруппы по именам менеджеров - Покупатели Федора, Поставщики Николая и т.д.
Как в запросе сделать, чтобы выбирались только основные группы и итоги тоже были по ним и всем что в нем внутри?
т.е.
результатом были:
...
Сторительный 5 шт. 150000 руб.
Коммерческий 6 шт. 2500 дол.
...
, а не:
...
Строительный 5 шт. 150000 руб.
Покупатели Стапана 3 шт. 100000 руб.
Поставщики Анны 2 шт. 3000 руб.
Коммерческий 6 шт. 2500 дол.
...
Надеюсь задача ясна? ;)
Спасибо.
Необходимо объявить переменную в запросе следующим образом:
если запрос по справочнику:
|ГруппаКонтрагента = Справочник.Контрагенты.Владелец;
если запрос по регистру:
|ГруппаКонтрагента = Регистр.Продажи.Контрагент.Владелец;
дальше объявляются все функции, и ты получишь итоги по группам, элементов в запросе не будет.
если запрос по справочнику:
|ГруппаКонтрагента = Справочник.Контрагенты.Владелец;
если запрос по регистру:
|ГруппаКонтрагента = Регистр.Продажи.Контрагент.Владелец;
дальше объявляются все функции, и ты получишь итоги по группам, элементов в запросе не будет.
Внимание! Не забывайте отмечать решение на ваш вопрос, если оно найдено. Это повысит ваш рейтинг на форуме.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот