Как превратить линейно-периодический отчёт в многолинейно-периодический (в платформах 8.х)
Задачи пользователя - Анализ учета
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Исходные данные: к примеру, у нас есть отчёт по продажам на основе некоего оборотного регистра, написанный на СКД и имеющий возможность разворота по датам продажи.
Что нужно: вывести те же показатели, но в диаграмме по двум аналогичным периодам сразу (например, за год с развёрткой по месяцам).
Чем решаем: пользовательскими полями, без изменения отчёта в конфигураторе.
Разберём, что, собственно, минимально нужно для построения такого отчёта.
- ОДИН ресурсный показатель (сумма продаж)
- ДВА измерения (год и месяц) - остальные, считаем, и так есть (контрагент, например).
Делаем пользовательские поля (выражения):
- Поле "Сумма" - самое сложное: пишем в выражении детальных записей "ВЫБОР КОГДА Год([Дата продажи]=2010(тут подставляете первый нужный год) ТОГДА [Сумма продажи] КОГДА (то же самое для каждого нужного года) ИНАЧЕ 0 КОНЕЦ". В выражении итоговых - Сумма(выражение детальных). Учитывайте, что в некоторых версиях 8.1 множественные "Выбор Когда Тогда Когда Тогда" могут не работать (зафиксированы такие случаи) и придётся писать вложенные "Выбор Когда Тогда Иначе Конец". это и есть ваше поле, по которому нужно отслеживать изменение :)
- Поле "Год" - НачалоПериода([Дата продажи],"Год") (и сразу в условном оформлении указываем его формат) (или сразу Год([Дата продажи]) - кому как нравится).
- Поле "Месяц" - Формат([Дата продажи],"ДЛФ='MM. MMMM'") - так удобнее всего отображается.
Теперь осталось только вывести диаграмму: точки - месяц, серии - год, показатель - сумма, тип диаграммы, например, с накоплением.
Аналогично можно рассмотреть любой период.
Приложение к статье - файл сохранённой настройки для Универсального отчёта в ЗУП 2.5 8.2 (отчёт по регистру взаиморасчётов с сотрудниками организаций).
UPD 1: Для конструкции "ВЫБОР КОГДА ТОГДА" можно применить в данном случае сокращённый вариант записи:
Выбор Год([Дата продажи])
Когда 2007
Тогда [Сумма продажи]
Когда 2008
Тогда [Сумма продажи]
Когда 2009
Тогда [Сумма продажи]
Когда 2010
Тогда [Сумма продажи]
Когда 2011
Тогда [Сумма продажи]
Иначе 0
Конец
Мои благодарности ildarovich за эту информацию.
UPD 2: тем более спасибо artbear, который заставил меня наконец-то отключиться от вообще вычисления суммы продаж таким извратом :) заело с какого-то старого отчёта. Отдельное вычисление суммы не нужно вообще, можно сразу брать нужное поле. Зато мы теперь знаем про UPD 1!
Вступайте в нашу телеграмм-группу Инфостарт