Как создать отчёт движения денег по счетам с выводом данных по месяцам?

Создание отчёта по движению денежных средств по счетам с разбивкой по месяцам в 1С можно выполнить с помощью Системы компоновки данных (СКД). Такой отчёт обычно отображает поступления, расходы и сальдо на начало и конец каждого месяца по каждому счёту. Ниже приведена подробная инструкция по созданию такого отчёта.

1. Источник данных: где брать информацию о движении

Наиболее подходящие объекты:

  • Регистр накопления — «ДвиженияДенежныхСредств» или аналогичный.

  • Документы: Поступление/Расход денежных средств, Перемещение.

  • Иногда используются специализированные регистры: «ДенежныеСредстваПоСчетам», «ДДСПоНазначениям», «ПлатежныйКалендарь».

Для базового варианта используем регистр накопления с движениями по счетам.

2. Создание нового отчёта

  1. Откройте Конфигуратор.

  2. В дереве объектов: Отчёты → Создать новый отчёт, например ОтчетДвижениеДенегПоМесяцам.

  3. Во вкладке "Система компоновки данных" установите галочку "Использовать СКД".

  4. Перейдите во вкладку "Наборы данных" → Добавить Запрос.

3. Написание запроса

Пример запроса, агрегирующего движения по месяцам и счетам:

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

4. Настройка параметров запроса

  1. Добавьте параметры:

    • ДатаНачала — дата начала периода анализа

    • ДатаОкончания — дата окончания периода

  2. Назначьте им значения по умолчанию (например, первый и последний день текущего года) или настройте на форме отчёта.

5. Настройка схемы компоновки данных

  1. Перейдите во вкладку "Схема компоновки данных".

  2. Добавьте поля:

    • Измерения: ПериодМесяца, Счет

    • Ресурсы: СуммаПоступлений, СуммаРасходов

  3. Установите группировки:

    • 1-я: по Счет

    • 2-я: по ПериодМесяца

Добавьте вычисляемое поле (например, Сальдо) по формуле:

СуммаПоступлений - СуммаРасходов

6. Отборы и параметры пользователя

  1. Во вкладке "Пользовательские настройки" добавьте отборы по:

    • Счет

    • Период (уже задан как параметры запроса)

  2. Эти отборы будут видны пользователю на форме отчёта.

7. Создание формы отчёта

  1. В дереве объектов отчёта перейдите во вкладку "Формы".

  2. Создайте основную форму отчёта, разместите:

    • ПолеКомпоновкиДанных

    • Поля ввода ДатаНачала, ДатаОкончания

    • Кнопку Сформировать

Пример обработчика кнопки:

Процедура Сформировать(Команда)
Компоновщик = Новый КомпоновщикНастроек;
Компоновщик.Настройки = ЭлементыФормы.ПолеКомпоновкиДанных.Настройки;
Компоновщик.ПользовательскиеНастройки.УстановитьЗначениеПараметра("ДатаНачала", ЭлементыФормы.ДатаНачала.Значение);
Компоновщик.ПользовательскиеНастройки.УстановитьЗначениеПараметра("ДатаОкончания", ЭлементыФормы.ДатаОкончания.Значение);
Результат = Компоновщик.Сформировать();
ЭлементыФормы.ПолеКомпоновкиДанных.УстановитьДанные(Результат);
КонецПроцедуры

8. Проверка

  1. Загрузите обработку в режим 1С:Предприятие.

  2. Установите нужный период.

  3. Сформируйте отчёт.

  4. Проверьте отображение данных по каждому счёту и месяцу.

9. Дополнительно

  • Можно включить вывод итогов по каждому счёту или месяцу.

  • Настроить группировку по валюте, если ведётся многовалютный учёт.

  • Добавить поля «СальдоНачало» и «СальдоКонец», если используете регистры остатков.

  • Отчёт можно выгружать в Excel или сохранять настройки.

Если в вашей конфигурации используются специализированные механизмы управления движением денежных средств (например, ДДС), можно использовать соответствующие регистры и поля.