Многоуровневая нумерация в группировках отчета СКД

1. Manticor 64 09.02.16 10:47 Сейчас в теме
Быть может тема избита, но решения для себя не нашел(.
Есть отчет на СКД.
Необходимо сделать такую нумерацию:

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 Прочие

Пробовал поиграться в группировках с номером и НомерПоПорядкуВГруппировке. Не выводит так как нужно.
Прикрепленные файлы:
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
10. konstruktiv 09.02.16 15:31 Сейчас в теме
(1) Manticor, есть вариант без использования функций модулей, результат 1 в 1, но целесообразен, если у отчета будет жесткая структура;
т.е. ВидРасчета/Тариф/ГруппаОбъектов - без манипуляций со стороны пользователя
11. Manticor 64 09.02.16 16:02 Сейчас в теме
2. Vitaly1C8 09.02.16 11:33 Сейчас в теме
Попробуй через "Выражение представления" (Набор данных, Поле, Колонка=Выражение представления)

ОбщийМодульХ.ХХХ(НомерГруппировки, НомерПоПорядкуВГруппировке) + Товар.Наименование

Функция ХХХ(НомерГруппировки, НомерПоПорядкуВГруппировке) Экспорт
   // Сюда попадаем каждый раз при выводе строки;
   // Сами считаем строки внутри группировки
   // Получаем элемент массива (НомерГруппировки, НомерПоПорядкуВГруппировке)
   // Увеличиваем на +1
   // "1."     <-   Возврат (НомерГруппировки) + "."; 

   // "1.1"    <-   Возврат (НомерГруппировки) + "." + ...

   // "1.1.1"  <-   Возврат (НомерГруппировки) + "." + (НомерПоПорядкуВГруппировке) + (Массив[НомерГруппировки][НомерПоПорядкуВГруппировке]); 
КонецФункции
Показать
3. Manticor 64 09.02.16 12:11 Сейчас в теме
(2) Vitaly1C8, у меня база УПП 1.3. Не могу найти в общих модулях пример приведенной Вами функции. Можете скинуть пример как это сделано у Вас?))
4. alljoke 09.02.16 12:15 Сейчас в теме
Так этот модуль писать надо.
6. alljoke 09.02.16 12:30 Сейчас в теме
7. alljoke 09.02.16 12:31 Сейчас в теме
Можно в польз-ие поля написать формулу, либо другим путеём.
8. Manticor 64 09.02.16 12:44 Сейчас в теме
(7) alljoke, попробовал так как Вы предложили
Вторую группировку он нумерует всю подряд(. Хотелось бы увидеть пример с "Выражение представления" Ватилия.
Прикрепленные файлы:
9. Vitaly1C8 09.02.16 14:34 Сейчас в теме
(8) Manticor, в Конфигурацию добавь свой модуль (в раздел Общие -> Общие модули) и назови его ОбщийМодульХ
Убедись что у него в свойствах стоит флажок Сервер.
Внутри модуля напиши Функцию (которая будет получать управление при выводе Строки в отчет) Пример я привел.
В СхемеКомпоновкиДанных напротив нужного поля в колонке "Выражение представления" записываем вызов нашей функции ...
12. konstruktiv 10.02.16 06:57 Сейчас в теме
Суть в "ВыраженииПредставления". Допустим создадим вычисляемое поле "НомерПоИерархии", в значение поставим 0, а в выражение представления -
Выбор
Когда Уровень()=0 Тогда
НомерПоПорядкуВГруппировке()
Когда Уровень()=1 Тогда
ВычислитьВыражение("НомерПоПорядкуВГруппировке()",<Имя ВЫШЕ-стоящей Группировки>)+"."+НомерПоПорядкуВГруппировке()
Когда Уровень()=2 Тогда
ВычислитьВыражение("НомерПоПорядкуВГруппировке()",<Имя ВЫШЕ-ВЫШЕ-стоящей Группировки>)+"."+ВычислитьВыражение("НомерПоПорядкуВГруппировке()",<Имя ВЫШЕ-стоящей Группировки>)+"."+НомерПоПорядкуВГруппировке()

...

Конец
Показать


Результат как надо, но если поменять группировки местами, то и формула уже не годится
13. Manticor 64 10.02.16 14:13 Сейчас в теме
(12) konstruktiv, спасибо, проверим)
Оставьте свое сообщение
Вопросы с вознаграждением