Многоуровневая нумерация в группировках отчета СКД
Быть может тема избита, но решения для себя не нашел(.
Есть отчет на СКД.
Необходимо сделать такую нумерацию:
1 Тепловая энергия
1.1 Тариф до 01.01.2016
1.1.1 Бюджет
1.1.2 Жилье
1.1.3 Прочие
1.2 Тариф после 01.01.2016
1.2.1 Бюджет
1.2.2 Жилье
1.2.3 Прочие
2 Химочищенная вода
2.1 Тариф до 01.01.2016
2.1.1 Жилье
2.2 Тариф после 01.01.2016
2.2.1 Жилье
2.2.2 Бюджет
2.2.3 Прочие
Пробовал поиграться в группировках с номером и НомерПоПорядкуВГруппировке. Не выводит так как нужно.
Есть отчет на СКД.
Необходимо сделать такую нумерацию:
1 Тепловая энергия
1.1 Тариф до 01.01.2016
1.1.1 Бюджет
1.1.2 Жилье
1.1.3 Прочие
1.2 Тариф после 01.01.2016
1.2.1 Бюджет
1.2.2 Жилье
1.2.3 Прочие
2 Химочищенная вода
2.1 Тариф до 01.01.2016
2.1.1 Жилье
2.2 Тариф после 01.01.2016
2.2.1 Жилье
2.2.2 Бюджет
2.2.3 Прочие
Пробовал поиграться в группировках с номером и НомерПоПорядкуВГруппировке. Не выводит так как нужно.
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Попробуй через "Выражение представления" (Набор данных, Поле, Колонка=Выражение представления)
ОбщийМодульХ.ХХХ(НомерГруппировки, НомерПоПорядкуВГруппировке) + Товар.Наименование
ОбщийМодульХ.ХХХ(НомерГруппировки, НомерПоПорядкуВГруппировке) + Товар.Наименование
Функция ХХХ(НомерГруппировки, НомерПоПорядкуВГруппировке) Экспорт
// Сюда попадаем каждый раз при выводе строки;
// Сами считаем строки внутри группировки
// Получаем элемент массива (НомерГруппировки, НомерПоПорядкуВГруппировке)
// Увеличиваем на +1
// "1." <- Возврат (НомерГруппировки) + ".";
// "1.1" <- Возврат (НомерГруппировки) + "." + ...
// "1.1.1" <- Возврат (НомерГруппировки) + "." + (НомерПоПорядкуВГруппировке) + (Массив[НомерГруппировки][НомерПоПорядкуВГруппировке]);
КонецФункции
Показать
(8) Manticor, в Конфигурацию добавь свой модуль (в раздел Общие -> Общие модули) и назови его ОбщийМодульХ
Убедись что у него в свойствах стоит флажок Сервер.
Внутри модуля напиши Функцию (которая будет получать управление при выводе Строки в отчет) Пример я привел.
В СхемеКомпоновкиДанных напротив нужного поля в колонке "Выражение представления" записываем вызов нашей функции ...
Убедись что у него в свойствах стоит флажок Сервер.
Внутри модуля напиши Функцию (которая будет получать управление при выводе Строки в отчет) Пример я привел.
В СхемеКомпоновкиДанных напротив нужного поля в колонке "Выражение представления" записываем вызов нашей функции ...
Суть в "ВыраженииПредставления". Допустим создадим вычисляемое поле "НомерПоИерархии", в значение поставим 0, а в выражение представления -
Результат как надо, но если поменять группировки местами, то и формула уже не годится
Выбор
Когда Уровень()=0 Тогда
НомерПоПорядкуВГруппировке()
Когда Уровень()=1 Тогда
ВычислитьВыражение("НомерПоПорядкуВГруппировке()",<Имя ВЫШЕ-стоящей Группировки>)+"."+НомерПоПорядкуВГруппировке()
Когда Уровень()=2 Тогда
ВычислитьВыражение("НомерПоПорядкуВГруппировке()",<Имя ВЫШЕ-ВЫШЕ-стоящей Группировки>)+"."+ВычислитьВыражение("НомерПоПорядкуВГруппировке()",<Имя ВЫШЕ-стоящей Группировки>)+"."+НомерПоПорядкуВГруппировке()
...
Конец
ПоказатьРезультат как надо, но если поменять группировки местами, то и формула уже не годится
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот