К статье
Практический материал

Отчеты и Аналитика · 12 мин

Как доработать отчет в 1С: практическое руководство

Как доработать отчет в 1С: настройка вариантов, СКД, расширения конфигурации и внешние отчеты. Практические шаги, риски, проверка результата и ответы на вопросы.

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

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

Ключевое правило безопасной доработки: сначала сохраните текущее состояние. Экспортируйте настройки отчета в файл, сделайте резервную копию базы перед изменением конфигурации, а доработки по возможности выносите в расширение, чтобы не потерять их при обновлении. Ниже разобраны все основные сценарии — от простого изменения настроек до программной доработки.

Шаг 1. Определите, как построен отчет и что именно нужно изменить

Способ доработки напрямую зависит от технологии, на которой построен отчет. Откройте отчет и проверьте: если в нем есть кнопка «Настройки» с разделами «Отборы», «Поля», «Группировки», «Сортировка» — это отчет на СКД, и у вас максимум возможностей без программирования. Если настроек нет или они минимальны, отчет, скорее всего, программный, с макетом табличного документа.

Сформулируйте задачу конкретно. «Неудобный отчет» — не задача. «Добавить колонку с артикулом поставщика и сгруппировать по складам» — задача, которую можно декомпозировать: поле артикула есть в данных или его нужно вычислять, группировка меняется в настройках или требует правки схемы.

Маршрут решения

Как выбрать способ доработки

Нужно добавить/убрать колонку, отбор, сортировку или группировку, и поле есть в данныхИспользуйте «Изменить вариант» в режиме предприятия — конфигуратор не нужен
Нужного поля нет в списке доступных, но его можно получить запросом из базыПравьте схему компоновки данных в конфигураторе или в расширении
Отчет должен жить отдельно от типовой конфигурации и переживать обновленияСоздайте внешний отчет (.erf) или расширение конфигурации
Нужна нестандартная логика расчета, обход данных, сложное оформлениеПотребуется программная доработка модуля отчета и, возможно, процессора компоновки

Шаг 2. Доработка через настройки варианта отчета (без конфигуратора)

Первый и самый безопасный способ — изменить вариант отчета прямо в режиме предприятия. Откройте отчет, нажмите «Настройки» и переключитесь в расширенный режим (в ряде конфигураций — кнопка «Изменить вариант отчета» или «Еще → Изменить вариант»). Откроется окно настроек СКД, где доступны вкладки: отборы, поля, группировки, сортировка, параметры, условное оформление.

Чтобы добавить колонку, перейдите на вкладку «Поля» (или «Выбранные поля») и перетащите нужное поле из списка доступных. Чтобы изменить группировку, на вкладке «Группировка» замените или добавьте поля строк и колонок. Отборы добавляются на одноименной вкладке: выберите поле, вид сравнения (равно, в списке, содержит) и значение. После настройки нажмите «Завершить редактирование» и сохраните вариант под новым именем — типовой вариант лучше не перезаписывать.

Порядок изменения варианта отчета
  1. 1
    Откройте отчет и нажмите «Настройки» → перейдите в расширенный режим («Изменить вариант»)
  2. 2
    На вкладке «Поля» добавьте нужные колонки из списка доступных полей
  3. 3
    На вкладке «Группировка» задайте строки и колонки отчета
  4. 4
    На вкладке «Отборы» добавьте условия отбора с нужным видом сравнения
  5. 5
    Нажмите «Завершить редактирование» и сформируйте отчет для проверки
  6. 6
    Сохраните результат как новый вариант: «Еще» → «Сохранить вариант отчета»

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

Шаг 3. Добавление полей через расширенные настройки СКД

Если поле есть в схеме данных, но не выводится в типовом варианте, его можно подключить без правки конфигурации. В расширенных настройках найдите нужное поле в дереве доступных полей — оно может находиться внутри групп (например, «Номенклатура → Артикул», «Контрагент → ИНН»). Поля через точку — это реквизиты связанных объектов, и их можно выводить свободно.

Полезные возможности расширенных настроек, о которых часто забывают: ресурсы (итоговые поля) настраиваются на вкладке «Ресурсы» — там можно изменить агрегатную функцию, например с «Сумма» на «Количество» или «Среднее». На вкладке «Условное оформление» можно подсветить строки по условию (например, отрицательные остатки красным). На вкладке «Пользовательские поля» доступны вычисляемые поля-выражения: например, процент от итога или разница двух колонок.

Шаг 4. Доработка схемы компоновки данных в конфигураторе

Когда нужного поля нет в доступных, потребуется правка схемы компоновки данных. Откройте конфигуратор, найдите отчет в дереве конфигурации (ветка «Отчеты»), откройте «Основную схему компоновки данных». На вкладке «Наборы данных» вы увидите запрос, по которому отчет получает данные. Именно сюда добавляются новые поля: либо в текст запроса, либо через конструктор запроса.

После добавления поля в запрос проверьте вкладки «Ресурсы» (если поле итоговое — добавьте его туда с агрегатной функцией) и «Настройки» (добавьте поле в выбранные поля варианта по умолчанию). Затем обновите конфигурацию базы данных (F7) и проверьте отчет в режиме предприятия.

Типичный пример: нужно добавить в отчет по продажам поле «Основной менеджер» из справочника контрагентов. В запрос набора данных добавляется соединение с таблицей контрагентов или выбирается поле через точку, если связь уже есть. После этого поле становится доступным в настройках варианта, и пользователи смогут выводить его самостоятельно.

Шаг 5. Расширение конфигурации или внешний отчет — безопасная альтернатива

Расширение конфигурации позволяет доработать типовой отчет, не снимая конфигурацию с поддержки. В конфигураторе: «Конфигурация → Расширения конфигурации → Создать». В расширение добавляется заимствованный отчет, у которого можно переопределить схему компоновки, модуль и форму. Изменения хранятся отдельно и не мешают обновлениям — хотя после обновления расширение стоит проверить на совместимость.

Внешний отчет (файл .erf) — еще более изолированный вариант. Откройте схему типового отчета, сохраните отчет как внешний («Файл → Сохранить копию» или через создание нового внешнего отчета с копированием схемы), доработайте его и подключите через механизм «Дополнительные отчеты и обработки» в режиме предприятия. Пользователи увидят его рядом с типовыми, а обновления конфигурации его не затронут.

Способы доработки отчета

Настройка варианта в режиме предприятия

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

Правка типового отчета в конфигураторе

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

Расширение конфигурации

Доработка типового отчета без снятия с поддержки. Ограничение: не все объекты и сценарии поддерживаются расширениями

Внешний отчет (.erf)

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

Шаг 6. Программная доработка: вычисляемые поля и код в модуле

Когда логику невозможно выразить запросом, используются вычисляемые поля СКД и события модуля отчета. Вычисляемое поле добавляется на вкладке «Вычисляемые поля» схемы: указывается выражение на встроенном языке, которое рассчитывается для каждой строки результата. Это удобно для процентов, разниц, условных значений вида «Если(Остаток < 0, "Дефицит", "Норма")».

Для сложных сценариев — обхода таблиц, обращения к дополнительным данным, нестандартной итоговой обработки — используется событие «ПриКомпоновкеРезультата» в модуле объекта отчета. Там можно перехватить процесс компоновки, дозаполнить таблицу значений или изменить макет программно. Это уже полноценная разработка: тестируйте такой код на копии базы и предусмотрите поведение при пустых данных.

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

Проверка результата и типичные ошибки

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

Типичные ошибки при доработке отчетов
01
Перезапись типового варианта вместо сохранения нового — коллеги теряют привычный отчет, а при обновлении возникают конфликты
02
Добавление левого соединения, которое задваивает строки: итоги завышаются кратно числу совпадений в присоединяемой таблице
03
Правка конфигурации без резервной копии — при ошибке откат занимает часы вместо минут
04
Отбор в настройках варианта вместо параметров запроса: данные сначала выбираются целиком, потом отсекаются — отчет тормозит
05
Игнорирование прав доступа: внешний отчет может показать пользователю данные, скрытые в типовом, если не учтено ограничение RLS
Контрольные точки

Как проверить результат доработки

Итоги отчета
Норма

Совпадают с контрольным источником (ОСВ, карточка счета, типовой вариант)

Тревожный признак

Итоги завышены или занижены — проверяйте соединения и отборы

Количество строк
Норма

Совпадает с ожидаемым числом документов/позиций

Тревожный признак

Строки дублируются — признак лишнего соединения в запросе

Скорость формирования
Норма

Отчет формируется за время, сопоставимое с типовым

Тревожный признак

Формирование длится в разы дольше — оптимизируйте запрос и отборы

Поведение на пустых данных
Норма

Отчет выводит пустую форму или сообщение без ошибок

Тревожный признак

Ошибка исполнения или падение — добавьте обработку пустого результата

Часто задаваемые вопросы

Можно ли доработать отчет в 1С без программиста?

Да, если доработка сводится к добавлению колонок из доступных полей, изменению группировок, отборов, сортировки и условного оформления. Все это делается через «Изменить вариант» в режиме предприятия. Программист понадобится, только когда нужных данных нет в наборе данных отчета или требуется нестандартная логика расчета.

Почему добавленное поле не появляется в списке доступных?

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

Что лучше: расширение конфигурации или внешний отчет?

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

Пропадут ли доработки после обновления конфигурации?

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

Отчет после доработки показывает задвоенные строки. Что делать?

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

Как дать пользователю новый вариант отчета, не настраивая каждому вручную?

Сохраните вариант с пометкой «Доступен всем пользователям» (требуются права администратора или право сохранения общих вариантов). Внешний отчет распространяется через подсистему «Дополнительные отчеты и обработки» — он появится у всех пользователей указанных разделов автоматически.

Итог

Что важно запомнить

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