Отчеты по возрасту в 1С:Предприятие — один из самых востребованных инструментов для анализа дебиторской и кредиторской задолженности. Они помогают выявить просроченные платежи, оценить финансовую нагрузку на бизнес и спланировать работу с должниками. Однако стандартные отчеты не всегда покрывают все потребности пользователей, особенно когда требуется детализация по срокам или специфическим группам контрагентов.

В этой статье вы найдете пошаговые инструкции по созданию отчета по возрасту в различных конфигурациях (Бухгалтерия, УТ, ERP, КА), включая ручную настройку через конструктор отчетов и написание пользовательских запросов. Мы разберем типичные ошибки, покажем, как автоматизировать процесс, и дадим рекомендации по оптимизации отчетов для крупных баз данных. Если вам нужно не только получить данные, но и визуализировать их для презентации руководству — здесь тоже найдутся полезные советы.

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

Что такое отчет по возрасту в 1С и зачем он нужен

Отчет по возрасту (или отчет по срокам задолженности) — это аналитический инструмент, который группирует дебиторскую или кредиторскую задолженность по периодам просрочки. Например, он может показать, сколько денег должны вам клиенты со сроками оплаты:

  • 📅 0–30 дней (текущая задолженность)
  • 31–90 дней (небольшая просрочка)
  • ⚠️ 91–180 дней (критическая просрочка)
  • 💀 Более 180 дней (безнадежная задолженность)

Такой отчет помогает:

  • 📊 Оценивать финансовую устойчивость компании (соотношение текущих и просроченных платежей).
  • 🔍 Выявлять проблемных контрагентов для работы с ними (напоминания, штрафы, судебные иски).
  • 📈 Планировать денежные потоки на основе реальных сроков оплаты.
  • 📑 Формировать резервы по сомнительным долгам в бухгалтерском учете.

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

⚠️ Внимание: В конфигурациях до версии 1С:Предприятие 8.3.18 могут отсутствовать некоторые функции для гибкой настройки отчетов по возрасту. Проверьте актуальность вашей платформы в разделе Справка → О программе.

Стандартные отчеты по возрасту в 1С: где искать и как использовать

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

Конфигурация Путь к отчету Особенности
1С:Бухгалтерия 8 Отчеты → Дебиторская задолженность → Анализ задолженности по срокам Позволяет группировать по контрагентам, договорам и валютам. Есть настройка периодов просрочки.
1С:Управление торговлей 11 Отчеты → Продажи → Задолженность покупателей по срокам Интегрирован с CRM: можно увидеть ответственного менеджера и историю взаимодействий.
1С:ERP 2 Финансы → Отчеты → Анализ дебиторской задолженности Поддерживает многомерный анализ (по проектам, подразделениям, типам задолженности).
1С:Комплексная автоматизация 2 Отчеты → Финансы → Задолженность по срокам Есть возможность сравнить плановые и фактические сроки оплаты.

Чтобы открыть стандартный отчет:

  1. Перейдите в указанный раздел меню.
  2. Укажите период анализа (например, текущий месяц или квартал).
  3. В настройках отчета (Еще → Настройки) выберите группировки:
    • 📌 По контрагентам
    • 📌 По договорам
    • 📌 По валютам (если работаете с иностранными партнерами)
  4. Нажмите Сформировать.
  5. Если в отчете не хватает данных (например, нет разбивки по менеджерам), его можно доработать. Для этого:

    • 🔧 Нажмите Еще → Изменить форму (если доступно).
    • 🖥️ Используйте конструктор отчетов (Еще → Конструктор отчетов).
    • 📝 Напишите пользовательский запрос (об этом подробнее в следующем разделе).
    📊 Какую конфигурацию 1С вы используете?
    1С:Бухгалтерия
    1С:Управление торговлей
    1С:ERP
    1С:Комплексная автоматизация
    Другая

    Создание пользовательского отчета по возрасту через конструктор

    Если стандартный отчет не подходит, вы можете создать свой с нуля. Для этого:

    1. Откройте Отчеты → Все отчеты → Создать новый отчет.
    2. Выберите Конструктор отчетов.
    3. Укажите источник данных:
      • 📖 Для дебиторской задолженности: регистр бухгалтерии ВзаиморасчетыСКонтрагентами или регистр накопления ВзаиморасчетыСПокупателями (в УТ).
      • 📖 Для кредиторской задолженности: регистр ВзаиморасчетыСПоставщиками.
    4. Добавьте поля для группировки:
      
      

      Контрагент,

      Договор,

      ДатаДокумента,

      СуммаДолга,

      СрокПогашения

    5. Настройте вычисляемые поля для определения возраста задолженности. Например:
      
      

      ВозрастДней = ТекущаяДата() - СрокПогашения

    6. Добавьте условное оформление для подсветки просроченных платежей (например, красным цветом для задолженности более 90 дней).
    7. Сохраните отчет под понятным именем, например, Задолженность по срокам (детализированный).
    8. Пример настройки группировки по срокам:

      • 📅 0–30 дней: ВозрастДней <= 30
      • 31–90 дней: ВозрастДней > 30 И ВозрастДней <= 90
      • ⚠️ Более 90 дней: ВозрастДней > 90

      ☑️ Что проверить перед сохранением отчета

      Выполнено: 0 / 5

      Если вам нужно добавить в отчет дополнительные данные (например, контактное лицо контрагента или комментарий менеджера), используйте соединение таблиц в запросе. Например:

      
      

      ВЫБРАТЬ

      ВзаиморасчетыСКонтрагентами.Контрагент КАК Контрагент,

      ВзаиморасчетыСКонтрагентами.Сумма КАК СуммаДолга,

      Контрагенты.КонтактноеЛицо КАК КонтактноеЛицо

      ИЗ

      РегистрБухгалтерии.ВзаиморасчетыСКонтрагентами КАК ВзаиморасчетыСКонтрагентами

      ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты

      ПО ВзаиморасчетыСКонтрагентами.Контрагент = Контрагенты.Ссылка

      ⚠️ Внимание: При соединении большого количества таблиц отчет может тормозить. Для ускорения работы используйте индексы или ограничьте период анализа.

      Написание запроса для отчета по возрасту: примеры и нюансы

      Если конструктор отчетов не дает нужной гибкости, можно написать запрос вручную. Вот базовый пример для 1С:Бухгалтерии 8.3, который выводит дебиторскую задолженность с разбивкой по срокам:

      
      

      ВЫБРАТЬ

      Взаиморасчеты.Контрагент КАК Контрагент,

      Взаиморасчеты.Договор КАК Договор,

      СУММА(Взаиморасчеты.Сумма) КАК СуммаДолга,

      МАКСИМУМ(ВЫБОР

      КОГДА Взаиморасчеты.СрокПогашения <= ТЕКУЩАЯДАТА() + 30 ТОГДА "0-30 дней"

      КОГДА Взаиморасчеты.СрокПогашения <= ТЕКУЩАЯДАТА() + 90 ТОГДА "31-90 дней"

      ИНАЧЕ "Более 90 дней"

      КОНЕЦ) КАК ВозрастнаяГруппа

      ИЗ

      РегистрБухгалтерии.ВзаиморасчетыСКонтрагентами КАК Взаиморасчеты

      ГДЕ

      Взаиморасчеты.Сумма > 0

      И Взаиморасчеты.СрокПогашения <= ТЕКУЩАЯДАТА()

      СГРУППИРОВАТЬ ПО

      Взаиморасчеты.Контрагент,

      Взаиморасчеты.Договор,

      ВЫБОР

      КОГДА Взаиморасчеты.СрокПогашения <= ТЕКУЩАЯДАТА() + 30 ТОГДА "0-30 дней"

      КОГДА Взаиморасчеты.СрокПогашения <= ТЕКУЩАЯДАТА() + 90 ТОГДА "31-90 дней"

      ИНАЧЕ "Более 90 дней"

      КОНЕЦ

      Этот запрос:

      • 🔹 Выбирает контрагентов с положительной суммой долга.
      • 🔹 Группирует задолженность по трем возрастным категориям.
      • 🔹 Игнорирует будущие платежи (где срок погашения еще не наступил).

      Для кредиторской задолженности замените регистр на ВзаиморасчетыСПоставщиками и добавьте фильтр по Сумма < 0 (если задолженность отображается со знаком "минус").

      Чтобы добавить в отчет менеджера, ответственного за контрагента, модифицируйте запрос:

      
      

      ВЫБРАТЬ

      Взаиморасчеты.Контрагент КАК Контрагент,

      Контрагенты.Ответственный КАК Менеджер,

      // остальные поля

      ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты

      ПО Взаиморасчеты.Контрагент = Контрагенты.Ссылка

      💡

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

      Для анализа задолженности в разрезе месяцев (например, чтобы увидеть, как менялась просрочка в динамике), используйте функцию НАЧАЛОПЕРИОДА:

      
      

      ВЫБРАТЬ

      НАЧАЛОПЕРИОДА(Взаиморасчеты.Дата, МЕСЯЦ) КАК Месяц,

      // остальные поля

      ⚠️ Внимание: При работе с большими базами данных (более 100 000 записей) сложные запросы могут приводить к зависанию . В этом случае рекомендуется:
      • 🖥️ Использовать фоновое выполнение запроса.
      • 📊 Сначала экспортировать данные в Excel, а затем анализировать их там.
      • 🔧 Оптимизировать индексы в базе данных (требуются права администратора).

      Настройка динамических периодов в отчете по возрасту

      Один из самых полезных приемов — сделать отчет динамическим, чтобы периоды просрочки настраивались автоматически. Например, можно задать:

      • 📅 Текущий месяц (0–30 дней).
      • 📅 Прошлый месяц (31–60 дней).
      • 📅 Более 6 месяцев (180+ дней).

    Для этого:

    1. В конструкторе отчета добавьте параметр с именем ТекущаяДата и типом Дата.
    2. В запросе используйте этот параметр для расчета возрастных групп:
      
      

      ВЫБОР

      КОГДА ДниПросрочки <= 30 ТОГДА "0-30 дней"

      КОГДА ДниПросрочки <= 60 ТОГДА "31-60 дней"

      ИНАЧЕ "Более 60 дней"

      КОНЕЦ КАК ВозрастнаяГруппа

      где ДниПросрочки = &ТекущаяДата - СрокПогашения.

    3. При формировании отчета запросит значение параметра — укажите текущую дату.

    Чтобы сделать отчет еще более гибким, добавьте несколько параметров:

    • 📌 ДатаНачала — для анализа задолженности на конкретную дату.
    • 📌 КоличествоПериодов — чтобы разбить задолженность на N интервалов.
    • 📌 ИсключитьКонтрагентов — список контрагентов, которых не нужно включать в отчет.

    Пример запроса с динамическими периодами:

    
    

    ВЫБРАТЬ

    Взаиморасчеты.Контрагент КАК Контрагент,

    ВЫБОР

    КОГДА ДниПросрочки <= 30 ТОГДА "0-30 дней"

    КОГДА ДниПросрочки <= &КоличествоДней1 ТОГДА "31-" + СТРОКА(&КоличествоДней1) + " дней"

    КОГДА ДниПросрочки <= &КоличествоДней2 ТОГДА СТРОКА(&КоличествоДней1+1) + "-" + СТРОКА(&КоличествоДней2) + " дней"

    ИНАЧЕ "Более " + СТРОКА(&КоличествоДней2) + " дней"

    КОНЕЦ КАК ВозрастнаяГруппа

    ИЗ

    РегистрБухгалтерии.ВзаиморасчетыСКонтрагентами КАК Взаиморасчеты

    ГДЕ

    НЕ Взаиморасчеты.Контрагент В (&ИсключитьКонтрагентов)

    💡

    Динамические периоды позволяют адаптировать отчет под любые бизнес-задачи без изменения кода. Это особенно полезно для компаний с нестандартными циклами оплаты (например, 45 или 60 дней).

    Экспорт и визуализация отчета по возрасту

    Готовый отчет можно экспортировать в Excel, PDF или другие форматы для дальнейшего анализа. Вот как это сделать:

    1. После формирования отчета нажмите Еще → Выгрузить.
    2. Выберите формат:
      • 📄 Excel (XLSX) — для дальнейшей обработки данных.
      • 📄 PDF — для печати или отправки по почте.
      • 📄 HTML — для публикации на корпоративном портале.
  6. При экспорте в Excel можно выбрать:
    • 📊 Сохранить форматирование (цвета, шрифты).
    • 📊 Экспортировать только видимые данные (без скрытых столбцов).
    • 📊 Разбить на несколько листов (если данных много).
  7. Для визуализации данных прямо в используйте:

    • 📈 Диаграммы: в конструкторе отчета добавьте диаграмму типа "Круговая" или "Гистограмма" для наглядного сравнения возрастных групп.
    • 📊 Условное оформление: настройте цветовую индикацию (например, зеленый для 0–30 дней, красный для более 90 дней).
    • 📌 Сводные таблицы: если нужно сгруппировать данные по нескольким критериям (например, по менеджерам и возрастным группам).

    Пример настройки диаграммы:

    1. В конструкторе отчета перейдите на вкладку Диаграммы.
    2. Выберите тип диаграммы — например, Круговая.
    3. Укажите:
      • 📌 Значения: поле СуммаДолга.
      • 📌 Серии: поле ВозрастнаяГруппа.
  8. Настройте подписи и легенду для удобства чтения.
  9. Если вам нужно автоматически отправлять отчет по почте (например, ежемесячно), используйте регламентные задания:

    1. Перейдите в Администрирование → Регламентные задания.
    2. Создайте новое задание типа Выполнение отчета.
    3. Укажите расписание (например, 1-е число каждого месяца).
    4. В настройках задания выберите ваш отчет и укажите получателей электронной почты.
    Как автоматизировать отправку отчета по почте с помощью внешней обработки

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

    
    

    Процедура ОтправитьОтчетПоПочте()

    Отчет = ПолучитьОтчет("ЗадолженностьПоСрокам");

    ПутьКФайлу = КаталогВременныхФайлов() + "Отчет.pdf";

    Отчет.Выгрузить(ПутьКФайлу, ТипФайлаPDF);

    Почта = Новый Почта;

    Сообщение = Новый СообщениеЭлектроннойПочты;

    Сообщение.Тема = "Отчет по задолженности на " + ТекущаяДата();

    Сообщение.Текст = "Во вложении отчет по возрасту задолженности.";

    Сообщение.Вложения.Добавить(ПутьКФайлу);

    Сообщение.Получатели.Добавить("director@company.ru");

    Почта.Отправить(Сообщение);

    КонецПроцедуры

    Эту обработку можно запускать по расписанию или вручную.

    Типичные ошибки при создании отчета по возрасту и как их избежать

    При работе с отчетами по возрасту пользователи часто сталкиваются с следующими проблемами:

    Ошибка Причина Решение
    Отчет не показывает просроченную задолженность Неверно указан фильтр по дате или сумме. Проверьте условие Сумма > 0 и СрокПогашения <= ТекущаяДата().
    Данные дублируются В запросе не хватает группировки по ключевым полям. Добавьте СГРУППИРОВАТЬ ПО по всем выводимым полям.
    Отчет тормозит Слишком большой период анализа или сложный запрос. Ограничьте период или используйте временные таблицы.
    Неверные возрастные группы Ошибка в формуле расчета дней просрочки. Проверьте выражение ТекущаяДата() - СрокПогашения.
    Не хватает данных (например, нет менеджера) Не все таблицы соединены в запросе. Добавьте ЛЕВОЕ СОЕДИНЕНИЕ с нужными справочниками.

    Еще несколько неочевидных ошибок:

    • 🔹 Игнорирование валютных курсов: если у вас многовалютный учет, суммы долга нужно пересчитывать по курсу на дату погашения. Используйте функцию ВалютныйКурс().
    • 🔹 Неучет частичных оплат: если клиент внес часть суммы, стандартный отчет может показывать полный долг. Добавьте фильтр по остатку.
    • 🔹 Пустые возрастные группы: если в отчете нет данных для какого-то периода, проверьте, не попадают ли все суммы в одну группу из-за ошибки в условии.

Чтобы избежать ошибок, всегда тестируйте отчет на небольшом наборе данных перед формированием полного отчета. Например:

  1. Выберите одного контрагента с известной задолженностью.
  2. Проверьте, что суммы и сроки отображаются корректно.
  3. Убедитесь, что группировка по возрасту работает как задумано.
  4. 💡

    Если отчет выдает неожиданные результаты, сравните его данные с оборотно-сальдовой ведомостью по счету 62 (для дебиторки) или 60 (для кредиторки). Это поможет выявить расхождения.

    Автоматизация и интеграция отчета по возрасту с другими системами

    Отчет по возрасту можно автоматизировать и интегрировать с другими системами для более эффективного управления задолженностью. Вот несколько способов:

    • 🤖 Автоматическое формирование по расписанию:
      • 📅 Настройте регламентное задание в (см. раздел выше).
      • 📅 Используйте Планировщик задач Windows для запуска внешней обработки.
    • 📧 Отправка уведомлений контрагентам:
      • 📧 Напишите обработку, которая будет отправлять письма с напоминанием об оплате.
      • 📧 Интегрируйте с Email-маркетинговыми сервисами (например, UniSender).
    • 📊 Интеграция с BI-системами:
      • 📊 Экспортируйте данные в Power BI, Tableau или Qlik для глубокого анализа.
      • 📊 Используйте 1С:Аналитика для создания дашбордов.
    • 🔄 Обмен данными с CRM:
      • 🔄 Синхронизируйте данные о задолженности с Bitrix24, AmoCRM или Salesforce.
      • 🔄 Автоматически создавайте задачи для менеджеров по работе с должниками.

    Пример интеграции с Power BI:

    1. Экспортируйте отчет в Excel или CSV.
    2. Загрузите данные в Power BI Desktop.
    3. Постройте интерактивный дашборд с фильтрами по:
      • 📌 Контрагентам.
      • 📌 Возрастным группам.
      • 📌 Менеджерам.
    4. Опубликуйте дашборд на Power BI Service и настройте доступ для руководителей.

    Для автоматизации уведомлений контрагентам можно использовать следующий алгоритм:

    
    

    Процедура ОтправитьНапоминанияОПлате()

    Запрос = Новый Запрос;

    Запрос.Текст =

    "ВЫБРАТЬ

    | Контрагенты.ЭлектроннаяПочта КАК Почта,

    | Контрагенты.Наименование КАК Наименование,

    | СУММА(Взаиморасчеты.Сумма) КАК СуммаДолга

    |ИЗ

    | РегистрБ