Допустим, нам нужно построить отчёт об ожидаемых оплатах от клиентов таким образом, чтобы эти оплаты были сгруппированы по месяцам. Заголовки колонок отчёта должны выглядеть так: «Июль 2017», «Август 2017», «Сентябрь 2017».
В качестве источника данных для отчёта мы используем запрос. Уже в запросе мы получаем данные, сгруппированные по месяцам, с помощью конструкции:
НАЧАЛОПЕРИОДА(РасчетыСКлиентами.ДатаПлатежа, МЕСЯЦ) КАК ПериодПлатежа
Весь запрос (в несколько сокращённом виде, для наглядности) выглядит так:
ВЫБРАТЬ
РасчетыСКлиентами.Регистратор КАК ЗаказКлиента,
НАЧАЛОПЕРИОДА(РасчетыСКлиентами.ДатаПлатежа, МЕСЯЦ) КАК ПериодПлатежа,
СУММА(РасчетыСКлиентами.КОплате) КАК КОплате,
ВЫБОР
КОГДА РасчетыСКлиентами.Регистратор ССЫЛКА Документ.ЗаказКлиента
ТОГДА ВЫРАЗИТЬ(РасчетыСКлиентами.Регистратор КАК Документ.ЗаказКлиента).Организация
КОНЕЦ КАК Организация
ИЗ
РегистрНакопления.РасчетыСКлиентами КАК РасчетыСКлиентами
ГДЕ
РасчетыСКлиентами.ДатаПлатежа >= &Дата
И РасчетыСКлиентами.Регистратор ССЫЛКА Документ.ЗаказКлиента
СГРУППИРОВАТЬ ПО
РасчетыСКлиентами.Регистратор,
НАЧАЛОПЕРИОДА(РасчетыСКлиентами.ДатаПлатежа, МЕСЯЦ)
УПОРЯДОЧИТЬ ПО
ПериодПлатежа
На вкладке «Наборы данных» настроим формат поля «ПериодПлатежа»:
В колонке «Оформление» зададим формат даты таким образом: ДФ=’ММММ гггг’. Это даст нужное нам отображение месяца, вида «Июль 2017».
Поле «КОплате» мы делаем ресурсом в нашем отчёте, а настройки отчёта выполняем так:

Всё бы хорошо, но при формировании отчёта наблюдаем такую вещь: если в каком-то месяце не ожидаются оплаты клиентов, то этот месяц не попадает в колонки отчёта. То есть, за колонкой «Август 2017» может идти колонка «Октябрь 2017». Чтобы в отчёт попал и «Сентябрь 2017», в котором не ожидается оплат, нужно настроить тип дополнения для группировки «ПериодПлатежа». Делается это в свойствах группировки. Тип дополнения выбираем «Месяц». После этого в отчёт попадут все месяцы по порядку.
Добавить комментарий