Вывод группировки СКД по условию
СКД:
Есть следующая группировка:
Тип_договора Утверждено Выпонен
Договор
Результат (вывод)
Сезонные 100 100
дог_1 20 20
дог_2 20 20
дог_3 60 60
Срочные 100 80
дог_1 20 20
дог_2 20 20
дог_3 60 40
Срочные 100 80
дог_1 20 10
дог_2 20 10
дог_3 60 60
Задача: Необходимо показывать группировки у которых Утверждено <> Получено со всеми подуровнями, даже если у подуровня условие выполняется он должен отобразиться.
Что пробовал (Каков результат):
1. Отбор по условию для необходимой группировки (убирает все подуровни для которых условие, назначенное вышестоящей группе, выполнено)
2. Условие в запросе (убирает все строки где условие выполняется)
3. Вычисляемое выражение относительно группировки в условии отбора относительно отчета(результат из п.1)
Описание в виде ТЗ:
Мне необходимо видеть общую утвержденную сумму и общую сумму выполнения по типу договоров, в том числе весь список договоров этой группы, если хотя бы один договор этого типа не выполнен.
Есть следующая группировка:
Тип_договора Утверждено Выпонен
Договор
Результат (вывод)
Сезонные 100 100
дог_1 20 20
дог_2 20 20
дог_3 60 60
Срочные 100 80
дог_1 20 20
дог_2 20 20
дог_3 60 40
Срочные 100 80
дог_1 20 10
дог_2 20 10
дог_3 60 60
Задача: Необходимо показывать группировки у которых Утверждено <> Получено со всеми подуровнями, даже если у подуровня условие выполняется он должен отобразиться.
Что пробовал (Каков результат):
1. Отбор по условию для необходимой группировки (убирает все подуровни для которых условие, назначенное вышестоящей группе, выполнено)
2. Условие в запросе (убирает все строки где условие выполняется)
3. Вычисляемое выражение относительно группировки в условии отбора относительно отчета(результат из п.1)
Описание в виде ТЗ:
Мне необходимо видеть общую утвержденную сумму и общую сумму выполнения по типу договоров, в том числе весь список договоров этой группы, если хотя бы один договор этого типа не выполнен.
По теме из базы знаний
- Сложные отчеты для управляемых форм с использованием СКД: просто. На примере отчета ABC анализ номенклатуры, клиентов для УТ11
- Вывод результата СКД в таблицу значений
- Метод восстановления битых ссылок в настройках СКД при консольно-конфигураторной разработке отчетов
- Варианты применения СКД вне отчетов в отраслевых конфигурациях
- Модель СКД
Найденные решения
1. Отбор по условию для необходимой группировки (убирает все подуровни для которых условие, назначенное вышестоящей группе, выполнено)
Там в отборе для группировки есть возможность указать в колонке "применение" способ использования отбора
"Обычное"
"После группировки или для иерархии"
"Только иерархия"
эти способы не предназначены случайно для настройки как раз того что вам необходимо?
Остальные ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
(1) Можно добавить 2 вычисляемых поля, применить функцию ВычислитьВыражениеСГруппировкойМассив получим массив значений
функций Строка - преобразуем в строку с разделителями
Нужные поля у нас есть, можно использовать для отбора. Обязательно у вычисляемого поля нужно будет указать назначение, что будет использоваться для отбора иначе ничего не получится.
функций Строка - преобразуем в строку с разделителями
Нужные поля у нас есть, можно использовать для отбора. Обязательно у вычисляемого поля нужно будет указать назначение, что будет использоваться для отбора иначе ничего не получится.
Я бы в запросе сначала взял все типы договоров у которых условие выполняется и потом уже работая с этой таблицей выводил более детальные записи(например все договора по этому типу) которые нужны левым соединением.
(2) Усложняется процесс редактирования настроек отчета пользователем.
Оказалось, что искомого результата можно добиться настройками отбора для группировки, что в свою очередь скрыто от глаз неискушенного программиста.
Ваш вариант удобен программисту, но не пользователю, т.к. отбор невозможно отключить через настройки
Оказалось, что искомого результата можно добиться настройками отбора для группировки, что в свою очередь скрыто от глаз неискушенного программиста.
Ваш вариант удобен программисту, но не пользователю, т.к. отбор невозможно отключить через настройки
1. Отбор по условию для необходимой группировки (убирает все подуровни для которых условие, назначенное вышестоящей группе, выполнено)
Там в отборе для группировки есть возможность указать в колонке "применение" способ использования отбора
"Обычное"
"После группировки или для иерархии"
"Только иерархия"
эти способы не предназначены случайно для настройки как раз того что вам необходимо?
(3) Ваша подсказка направила на путь истинный.
Вот решение:
В отборе группировки устанавливается выше описанное условие при использовании "Обычное", где обязательным условием является использование ресурсов в левом и правом значении условия.
Благодарен всем за участие, тема закрыта.
Вот решение:
В отборе группировки устанавливается выше описанное условие при использовании "Обычное", где обязательным условием является использование ресурсов в левом и правом значении условия.
Благодарен всем за участие, тема закрыта.
Можно также в запросе добавить поле
ВЫБОР
КОГДА Утверждено<> Получено ТОГДА 1
ИНАЧЕ 0
КОНЕЦ как ДоговорНеВыполнен
Тогда если сумма по этому полю для группы больше 0 то точно есть хотя бы одна запись с невыполненным договором
ВЫБОР
КОГДА Утверждено<> Получено ТОГДА 1
ИНАЧЕ 0
КОНЕЦ как ДоговорНеВыполнен
Тогда если сумма по этому полю для группы больше 0 то точно есть хотя бы одна запись с невыполненным договором
(5) Это условие выполнится для всего отчета, а мне необходимо условие, где убирается вся группировка со всеми подчиненными элементами. Для группировки
Будет выведено
Это неправильно.
Срочные 100 80
дог_1 20 20
дог_2 20 20
дог_3 60 40
Будет выведено
Срочные 100 80
дог_3 60 40
Это неправильно.
Вакансии
Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)