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, спасибо, проверим)
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Санкт-Петербург
зарплата от 80 000 руб. до 130 000 руб.
Полный день

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Программист/Cтарший программист 1С
Москва
зарплата от 100 000 руб. до 250 000 руб.
Полный день

Программист 1С
Калининград
зарплата от 60 000 руб. до 80 000 руб.
Полный день

Руководитель проектов 1С
Санкт-Петербург
Полный день