Допустим, нам нужно построить отчёт об ожидаемых оплатах от клиентов таким образом, чтобы эти оплаты были сгруппированы по месяцам. Заголовки колонок отчёта должны выглядеть так: "Июль 2017", "Август 2017", "Сентябрь 2017".

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

НАЧАЛОПЕРИОДА(РасчетыСКлиентами.ДатаПлатежа, МЕСЯЦ) КАК ПериодПлатежа

Весь запрос (в несколько сокращённом виде, для наглядности) выглядит так:

ВЫБРАТЬ
    РасчетыСКлиентами.Регистратор КАК ЗаказКлиента,
    НАЧАЛОПЕРИОДА(РасчетыСКлиентами.ДатаПлатежа, МЕСЯЦ) КАК ПериодПлатежа,
    СУММА(РасчетыСКлиентами.КОплате) КАК КОплате,
    ВЫБОР
        КОГДА РасчетыСКлиентами.Регистратор ССЫЛКА Документ.ЗаказКлиента
            ТОГДА ВЫРАЗИТЬ(РасчетыСКлиентами.Регистратор КАК Документ.ЗаказКлиента).Организация
    КОНЕЦ КАК Организация
ИЗ
    РегистрНакопления.РасчетыСКлиентами КАК РасчетыСКлиентами
ГДЕ
    РасчетыСКлиентами.ДатаПлатежа >= &Дата
    И РасчетыСКлиентами.Регистратор ССЫЛКА Документ.ЗаказКлиента
 
СГРУППИРОВАТЬ ПО
    РасчетыСКлиентами.Регистратор,
    НАЧАЛОПЕРИОДА(РасчетыСКлиентами.ДатаПлатежа, МЕСЯЦ)
 
УПОРЯДОЧИТЬ ПО
    ПериодПлатежа

На вкладке "Наборы данных" настроим формат поля "ПериодПлатежа":

В колонке "Оформление" зададим формат даты таким образом: ДФ='ММММ гггг'. Это даст нужное нам отображение месяца, вида "Июль 2017".

Поле "КОплате" мы делаем ресурсом в нашем отчёте, а настройки отчёта выполняем так:

1С. Строим отчёт СКД с разбивкой по месяцам. Настраиваем отображение шапки отчёта так, чтобы месяц отображался буквами.

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

Комментарии

  • Ненавижу1С 19.05.2018 18:16
    Благодарю. Помогло данное решение.

    Подробнее...

     
  • lsnr 14.05.2018 17:05
    Наконец то нашел внятный ответ.. Спасибо.

    Подробнее...

     
  • Гринёв 20.12.2017 09:45
    Только надо иметь ввиду, что СтандартнаяОбработка = Ложь в процедуре ПриКомпоновкеРезультата отключает стандартную расшифровку полей отчёта.

    Подробнее...