Отчеты и Аналитика · 12 мин
Как доработать отчет в 1С: практическое руководство
Как доработать отчет в 1С: настройка вариантов, СКД, расширения конфигурации и внешние отчеты. Практические шаги, риски, проверка результата и ответы на вопросы.
Доработка отчета в 1С — задача разной сложности: иногда достаточно изменить настройки в режиме пользователя, а иногда потребуется правка схемы компоновки данных или программный код. Прежде чем что-то менять, определите, чего именно не хватает: новой колонки, другой группировки, отбора, итогов по периоду или дополнительного вычисляемого поля. От этого зависит выбор инструмента и глубина вмешательства в конфигурацию.
Большинство типовых отчетов в конфигурациях 1С построены на системе компоновки данных (СКД). Это значит, что значительную часть изменений можно выполнить без программирования — через расширенные настройки отчета. Если же требуется добавить поле, которого нет в источнике данных, или изменить логику запроса, понадобится конфигуратор и, возможно, механизм расширений.
Ключевое правило безопасной доработки: сначала сохраните текущее состояние. Экспортируйте настройки отчета в файл, сделайте резервную копию базы перед изменением конфигурации, а доработки по возможности выносите в расширение, чтобы не потерять их при обновлении. Ниже разобраны все основные сценарии — от простого изменения настроек до программной доработки.
Шаг 1. Определите, как построен отчет и что именно нужно изменить
Способ доработки напрямую зависит от технологии, на которой построен отчет. Откройте отчет и проверьте: если в нем есть кнопка «Настройки» с разделами «Отборы», «Поля», «Группировки», «Сортировка» — это отчет на СКД, и у вас максимум возможностей без программирования. Если настроек нет или они минимальны, отчет, скорее всего, программный, с макетом табличного документа.
Сформулируйте задачу конкретно. «Неудобный отчет» — не задача. «Добавить колонку с артикулом поставщика и сгруппировать по складам» — задача, которую можно декомпозировать: поле артикула есть в данных или его нужно вычислять, группировка меняется в настройках или требует правки схемы.
Как выбрать способ доработки
Шаг 2. Доработка через настройки варианта отчета (без конфигуратора)
Первый и самый безопасный способ — изменить вариант отчета прямо в режиме предприятия. Откройте отчет, нажмите «Настройки» и переключитесь в расширенный режим (в ряде конфигураций — кнопка «Изменить вариант отчета» или «Еще → Изменить вариант»). Откроется окно настроек СКД, где доступны вкладки: отборы, поля, группировки, сортировка, параметры, условное оформление.
Чтобы добавить колонку, перейдите на вкладку «Поля» (или «Выбранные поля») и перетащите нужное поле из списка доступных. Чтобы изменить группировку, на вкладке «Группировка» замените или добавьте поля строк и колонок. Отборы добавляются на одноименной вкладке: выберите поле, вид сравнения (равно, в списке, содержит) и значение. После настройки нажмите «Завершить редактирование» и сохраните вариант под новым именем — типовой вариант лучше не перезаписывать.
- 1Откройте отчет и нажмите «Настройки» → перейдите в расширенный режим («Изменить вариант»)
- 2На вкладке «Поля» добавьте нужные колонки из списка доступных полей
- 3На вкладке «Группировка» задайте строки и колонки отчета
- 4На вкладке «Отборы» добавьте условия отбора с нужным видом сравнения
- 5Нажмите «Завершить редактирование» и сформируйте отчет для проверки
- 6Сохраните результат как новый вариант: «Еще» → «Сохранить вариант отчета»
Проверяйте результат на данных, где вы заранее знаете ожидаемые цифры: например, сверьте итог по одному контрагенту с карточкой счета или оборотно-сальдовой ведомостью. Если суммы расходятся, чаще всего причина — отбор, который отсекает часть данных, или группировка, скрывающая детальные строки.
Шаг 3. Добавление полей через расширенные настройки СКД
Если поле есть в схеме данных, но не выводится в типовом варианте, его можно подключить без правки конфигурации. В расширенных настройках найдите нужное поле в дереве доступных полей — оно может находиться внутри групп (например, «Номенклатура → Артикул», «Контрагент → ИНН»). Поля через точку — это реквизиты связанных объектов, и их можно выводить свободно.
Полезные возможности расширенных настроек, о которых часто забывают: ресурсы (итоговые поля) настраиваются на вкладке «Ресурсы» — там можно изменить агрегатную функцию, например с «Сумма» на «Количество» или «Среднее». На вкладке «Условное оформление» можно подсветить строки по условию (например, отрицательные остатки красным). На вкладке «Пользовательские поля» доступны вычисляемые поля-выражения: например, процент от итога или разница двух колонок.
Шаг 4. Доработка схемы компоновки данных в конфигураторе
Когда нужного поля нет в доступных, потребуется правка схемы компоновки данных. Откройте конфигуратор, найдите отчет в дереве конфигурации (ветка «Отчеты»), откройте «Основную схему компоновки данных». На вкладке «Наборы данных» вы увидите запрос, по которому отчет получает данные. Именно сюда добавляются новые поля: либо в текст запроса, либо через конструктор запроса.
После добавления поля в запрос проверьте вкладки «Ресурсы» (если поле итоговое — добавьте его туда с агрегатной функцией) и «Настройки» (добавьте поле в выбранные поля варианта по умолчанию). Затем обновите конфигурацию базы данных (F7) и проверьте отчет в режиме предприятия.
Типичный пример: нужно добавить в отчет по продажам поле «Основной менеджер» из справочника контрагентов. В запрос набора данных добавляется соединение с таблицей контрагентов или выбирается поле через точку, если связь уже есть. После этого поле становится доступным в настройках варианта, и пользователи смогут выводить его самостоятельно.
Шаг 5. Расширение конфигурации или внешний отчет — безопасная альтернатива
Расширение конфигурации позволяет доработать типовой отчет, не снимая конфигурацию с поддержки. В конфигураторе: «Конфигурация → Расширения конфигурации → Создать». В расширение добавляется заимствованный отчет, у которого можно переопределить схему компоновки, модуль и форму. Изменения хранятся отдельно и не мешают обновлениям — хотя после обновления расширение стоит проверить на совместимость.
Внешний отчет (файл .erf) — еще более изолированный вариант. Откройте схему типового отчета, сохраните отчет как внешний («Файл → Сохранить копию» или через создание нового внешнего отчета с копированием схемы), доработайте его и подключите через механизм «Дополнительные отчеты и обработки» в режиме предприятия. Пользователи увидят его рядом с типовыми, а обновления конфигурации его не затронут.
Способы доработки отчета
Подходит для полей, отборов, группировок и оформления. Не требует прав доступа к конфигуратору. Ограничение: нельзя добавить данные, которых нет в наборе
Полный доступ к запросу и коду, но ломает обновление при поддержке. Допустимо только для самописных конфигураций
Доработка типового отчета без снятия с поддержки. Ограничение: не все объекты и сценарии поддерживаются расширениями
Полная независимость от конфигурации, легко переносить между базами. Ограничение: нет доступа к внутренним механизмам типового отчета, логику приходится копировать
Шаг 6. Программная доработка: вычисляемые поля и код в модуле
Когда логику невозможно выразить запросом, используются вычисляемые поля СКД и события модуля отчета. Вычисляемое поле добавляется на вкладке «Вычисляемые поля» схемы: указывается выражение на встроенном языке, которое рассчитывается для каждой строки результата. Это удобно для процентов, разниц, условных значений вида «Если(Остаток < 0, "Дефицит", "Норма")».
Для сложных сценариев — обхода таблиц, обращения к дополнительным данным, нестандартной итоговой обработки — используется событие «ПриКомпоновкеРезультата» в модуле объекта отчета. Там можно перехватить процесс компоновки, дозаполнить таблицу значений или изменить макет программно. Это уже полноценная разработка: тестируйте такой код на копии базы и предусмотрите поведение при пустых данных.
Частая ситуация: доработанный отчет формируется правильно, но медленно. Причина почти всегда в добавленном соединении таблиц в запросе без нужных индексов или в вычисляемом поле, которое обращается к базе на каждую строку. Сначала оптимизируйте запрос, и только потом переносите логику в код.
Проверка результата и типичные ошибки
После любой доработки прогоните отчет по контрольным сценариям: период с известными данными, пустой период, период с большим объемом записей. Сверьте итоги с независимым источником — оборотно-сальдовой ведомостью, карточкой счета или типовым вариантом того же отчета. Совпадение итогов — главный признак того, что вы ничего не сломали отборами и соединениями.
Как проверить результат доработки
Совпадают с контрольным источником (ОСВ, карточка счета, типовой вариант)
Итоги завышены или занижены — проверяйте соединения и отборы
Совпадает с ожидаемым числом документов/позиций
Строки дублируются — признак лишнего соединения в запросе
Отчет формируется за время, сопоставимое с типовым
Формирование длится в разы дольше — оптимизируйте запрос и отборы
Отчет выводит пустую форму или сообщение без ошибок
Ошибка исполнения или падение — добавьте обработку пустого результата
Часто задаваемые вопросы
Можно ли доработать отчет в 1С без программиста?
Да, если доработка сводится к добавлению колонок из доступных полей, изменению группировок, отборов, сортировки и условного оформления. Все это делается через «Изменить вариант» в режиме предприятия. Программист понадобится, только когда нужных данных нет в наборе данных отчета или требуется нестандартная логика расчета.
Почему добавленное поле не появляется в списке доступных?
Список доступных полей формируется из схемы компоновки данных отчета. Если поля там нет, его нужно сначала добавить в запрос набора данных в конфигураторе или в расширении. Другая причина — поле скрыто настройками роли или функциональной опцией: проверьте права пользователя и включенные опции конфигурации.
Что лучше: расширение конфигурации или внешний отчет?
Если нужно изменить поведение именно типового отчета (чтобы пользователи открывали его на привычном месте) — используйте расширение. Если достаточно отдельного отчета с похожей логикой — внешний отчет проще в создании, переносе между базами и не требует контроля совместимости при обновлениях конфигурации.
Пропадут ли доработки после обновления конфигурации?
Изменения, внесенные напрямую в типовой отчет конфигурации на поддержке, будут потеряны или заблокируют обновление. Варианты отчетов, сохраненные пользователями, обычно сохраняются, но могут перестать работать, если в обновлении изменилась схема данных. Расширения и внешние отчеты обновлениям не мешают, но их работоспособность после обновления нужно проверять.
Отчет после доработки показывает задвоенные строки. Что делать?
Это классический признак лишнего соединения в запросе: к каждой строке основной таблицы присоединилось несколько строк связанной. Проверьте условия соединения, уберите связи к таблицам с множественными совпадениями (например, к табличным частям документов) или замените соединение на вложенный запрос с группировкой.
Как дать пользователю новый вариант отчета, не настраивая каждому вручную?
Сохраните вариант с пометкой «Доступен всем пользователям» (требуются права администратора или право сохранения общих вариантов). Внешний отчет распространяется через подсистему «Дополнительные отчеты и обработки» — он появится у всех пользователей указанных разделов автоматически.
Что важно запомнить
Начинайте доработку с настроек варианта отчета — большинство задач решается без конфигуратора. Правку схемы компоновки и кода выполняйте через расширение или внешний отчет, предварительно сделав резервную копию. Результат всегда проверяйте сверкой итогов с независимым источником и тестом на пустых и больших данных.