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