Расчет отклонений (разницы) по показателям между двумя выбранными датами в таблице на СКД и создание отчета в нестандартном виде
Хочу поделиться своим опытом решения подобного вопроса. Постановка задачи стояла таким образом, чтобы отчет формировался в виде таблицы по датам, и по указанным же пользователем датам справа от дат календаря выводилась сумма отклонений между показателями указанных дат.
Первое, что нам понадобится – разумеется, в схеме СКД создать два набора данных – один с датами календаря, а другой с самим запросом по получению нужных данных. Во втором запросе не забываем указать параметры дат календаря для связи обоих наборов.
Хочу обратить внимание на поле «Отклонение» во втором запросе. Оно еще нам понадобится для построения нужного вида отчета.
На закладке «связи наборов данных» указываем необходимое, при этом источник – это запрос по датам.
Теперь нам следует указать два параметра для указания дат отклонений. Добавим на закладке два параметра – «ДатаОтклоненийНач» и «ДатаОтклоненийКон».
Переходим на закладку «Вычисляемые поля». Добавляем вычисляемое поле для необходимого показателя. Назовем его, к примеру, «ОтклонениеОстаткаДенег». И в выражении укажем:
Определим ресурсы, и не забудем продублировать выражение, описанное для вычисляемого поля, для поля «Отклонение остатка денег».
Необходимое отклонение получено. Теперь остается только настроить правильно форму требуемого отчета. Перед этим попробуем предварительно создать отчет в виде таблицы, где в строках укажем организацию, а в колонках даты календаря. В качестве выходных полей для таблицы укажем оба ресурса – Остаток денег, и отклонение остатка денег. Больше ничего пока настраивать не будем, и попробуем сформировать отчет.
Итак, видим, что необходимые данные по отклонениям посчитаны, но правильно они посчитаны только в общем итоге справа. Лишние, промежуточные данные по датам календаря нам выводить пользователю не нужно. Займемся настройкой необходимого вида.
Добавляем еще одну колонку «Отклонение» (это поле из запроса, которое мы определили ранее), но она не должна быть вложена в колонку «Дата календаря».
Теперь для строк «организация» удалим в выбранных поля «Автополе», и добавим поля «Организация» и «Остаток денег». Для колонки «Дата календаря» сделаем то же самое, но поля будут «Дата календаря» и «Остаток денег». А вот для колонки «Отклонение» после удаления автополей добавим поля «Отклонение» и «Отклонение остатка денег». Снова формируем отчет.
Требуемый вид получен. Осталось только отключить показ итогов по колонке Отклонение. Это можно сделать в настройке таблицы отчета для колонки «Отклонение» (другие настройки – расположение общих итогов = «нет»).
Итого: данная методика позволяет считать отклонения между любыми датами в отчете.