Первая часть
Оглавление
- Вывод группы похожих строк с отображением названия только в первой строке
- Убрать заголовок ресурса из шапки СКД
- Убрать дубли в иерархии элементов
Вывод группы похожих строк с отображением названия только в первой строке
У нас на предприятии существует старинная программа на FoxPro, в которой была реализована своеобразная группировка строк. Это выглядело примерно так: выводились несколько строк, относящиеся к одной номенклатуре, при чем название номенклатуры выводилось только в первой строке.
Изначально мы имеем детальные записи, отображающие информацию во всех строках
Нужно получить следующий вид:
Это достигается созданием вычисляемого поля:
ВычислитьВыражение("Количество(Различные ШифрИВЦ)",,,"Предыдущая", "Текущая") = 2 ИЛИ ВычислитьВыражение("Количество(ШифрИВЦ)",,,"Предыдущая", "Предыдущая") Есть null
Как это работает? Для каждой детальной записи выполняется проверка ключевого с предыдущей записью на "одинаковость", но поскольку для первой строки детальных записей это не будет работать, добавлена дополнительная проверка на отсутствие предыдущей записи.
И последующему применению условного оформления требуемых полей по условию этого поля
В итоге:
Что примечательно, так это то что данное вычисляемое поле будет правильно работать для детальных записей, помещенных в группировку
Убрать заголовок ресурса из шапки СКД
При выводе отчета в виде кросс-таблицы иногда возникает ситуация, что необходимо вывести всего один ресурс, и информация о его названии в шапке отчета совсем не нужна.
Данную задачу можно решить, добавив Макет группировки (тип макета Заголовок) поля вертикальной группировки (в данном примере поле вертикальной группировки Вид).
Результат:
"Правильная" иерархия элементов
Как убрать дубли при выводе элементов справочника иерархия элементов.
Если у справочника используется иерархия элементов, то при выводе ее в СКД будет наблюдаться повторение родителей на уровне элементов, пример:
для того чтобы победить эту проблему, я предлагаю добавить пользовательское поле(именно пользовательское, при использовании вычисляемого поля у меня падала платформа 8.2.19.130) и наложить отбор на группировку.
Добавляем пользовательское поле Родитель, в котором вычислен родитель поля. В выражении детальных записей пользовательского поля пишем ВычислитьВыражение("Подразделение", "", "Иерархия"), в выражении итоговых записей - пишем то же самое.
Далее, создаем отбор для группировки с иерархией(именно для группировки, а не для всего отчета).
Добавляем группу ИЛИ, в эту группу добавляем два элемента: Подразделение Не равно ПользовательскоеПоле, Уровень в группе = 1
Важно! Для группы ИЛИ устанавливаем использование После группировки или для иерархии
В итоге получаем нормальную иерархию:
Схемы-примеры, которые будет работать в конфигурации на базе УПП 1.3 и потомков - приложены