В начало

Динамика дебиторской задолженности через СКД

 

            Нужно создать отчет «Динамика дебиторской задолженности» по регистрам сведений: «УК_Начисления» и «УК_Оплаты».

            Регистры сведений имеют следующую структуру. Оба регистра сведений независимые. Один из них, а именно  «УК_Оплаты» - периодический, с периодичностью в пределах секунды.

 

Рис. Структура регистров сведений

            Заполним регистры произвольными значениями, удобными для последующей проверки в отчете.

Рис. Независимый непериодический регистр сведений «УК_Начисления»

(в январе два начисления)

Рис. Независимый периодический регистр сведений «УК_Оплаты»

(в апреле нет оплат, а в мае месяце две оплаты)

 

            Далее открываем конфигуратор и создаем внешнюю обработку, обзываем ее «ДинамикаДебиторскойЗадолженности».

Рис. Внешняя обработка в конфигураторе

 

            Затем открываем схему компоновки данных, создаем новый набор данных с типом запрос и запускаем конструктор запроса.

            В конструкторе запросов создаем три пакета, два из которых – это временные таблицы, ибо так удобнее.

            В первый пакет засовываем данные из регистра сведений «УК_Начисления». Ерем поля: «Контрагент» и «Сумма». А из поля дата создаем два вычисляемых поля: «Месяц» и «Год», преобразуя дату при помощи функции «НачалоПериода».

Рис. Первый пакет, временная таблица «втНачисления»

 

            На закладке «Объединения/Псевдонимы» обзываем их нужным нам образом. Месяц и год понадобятся для формирования отчета по периодам, они будут колонками отчета.

Рис. Закладка «Объединения/Псевдонимы» пакета «втНачисления»

 

            Аналогичным образом поступаем с регистром сведений «УК_Оплаты». Выбираем поля: «Фирма», «Период» и «Сумма». На всякий случай приводим поле «Период» к началу периода с параметром «Месяц», т.е. к первому числу месяца.

Рис. Конструктор запроса, пакет «втОплаты»

 

            Затем устанавливаем необходимые нам названия.

Рис. Пакет запроса «втОплаты», вкладка «Объединения/Псевдонимы»

 

            Потом создаем новый пакет. Выбираем поля с месяцем и годом из таблицы «втНачисления», т.к. в дальнейшем при связывании двух таблиц, таблица «втНачисления» будет основной, а вторую мы присобавим к первой левым соединением.

Рис. Третий пакет, закладка «Таблицы и поля»

 

Далее соединяем данные из двух временных таблиц. А именно, связываем данные из двух временных таблиц по полям «Контрагент» и «Месяц».

Рис. Третий пакет запросов, закладка «Связи»

 

            Закрываем конструктор запросов и возвращаемся к настройкам СКД. Поскольку отчет мы будем формировать в виде таблицы, нам нужно добавить поля «Начисление» и «Оплата» в ресурсы. Это делается на соответствующей закладке.

Рис. СКД, закладка «Ресурсы»

 

            Кроме того, если мы хотим, чтобы месяц писался словом, а не числом нам нужно установить формат для соотвествующего отображения месяца: «ДФ=ММММ», а для года соответственно – «ДФ=гггг».

Рис. СКД, закладка «Наборы данных», форматирование поля «Месяц»

 

            Далее переходим на закладку «Настроки», где создаем нужные группировки и выбираем поля для отображения. В качестве группировки выбираем таблицу, в строки которой будем выводить контрагентов, а в колонках указываем «Год, месяц».

На закладке «Выбранные поля» выбираем «Начисление» и «Оплата».

Рис. СКД, закладка «Настройки»

 

            Также, чтобы ресурсы выводились не по горизонтали, а наоборот, нам нужно зайти на вкладку «Другие настройки» и там соответственно немного подшаманить.

Рис. Закладка «Другие настройки»

 

            И наконец, сохраняем наш внешний отчёт, открываем программу в пользовательском режиме и тестируем его.

Рис. Сформированный отчёт

 

            Вроде получилось то, что и хотели: группировки ресурсов расположены по вертикали, в столбцах отчета указан год и месяц, а итоги только те, что по горизонтали, итоговые суммы легко проверить и тоже сходятся.