Почему отчет в СКД не отображает изменения, внесенные в Конфигураторе, и как это исправить?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

Причины проблемы: почему платформа игнорирует настройки из Конфигуратора

Проанализируем механику работы системы компоновки данных. Главная причина кроется в приоритетах хранения настроек:

  1. Приоритет пользовательских настроек: По умолчанию платформа 1С:Предприятие сохраняет индивидуальные настройки отчета (варианты, условное оформление, отборы, структуру) в системном хранилище настроек каждого пользователя. При повторном открытии отчета платформа автоматические накладывает ранее сохраненные настройки поверх схемы компоновки данных (СКД), перекрывая правки, сделанные разработчиком в Конфигураторе.
  2. Кэширование вариантов в конфигурациях на БСП: В типовых решениях на базе Библиотеки Стандартных Подсистем варианты отчетов регистрируются в служебных регистрах сведений. При изменении схемы в Конфигураторе данные в этих регистрах не всегда обновляются автоматически.
  3. Кэш клиентского приложения: Локальный кэш платформы может хранить старые скомпилированные формы и макеты.

Способ 1. Сброс настроек отчета к стандартным в режиме «1С:Предприятие»

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

  1. Откроем нужный отчет в режиме «1С:Предприятие».
  2. Нажмем на кнопку Еще (или кнопку Настройки на форме отчета).
  3. Найдем и выберем пункт Установить стандартные настройки (или «Сбросить настройки»).
  4. Переформируем отчет. После этого платформа сбросит накопленный кэш пользователя и применит актуальную схему компоновки данных из Конфигуратора.

Способ 2. Очистка пользовательских настроек через администрирование

Если сброс требуется выполнить централизованно для нескольких пользователей, проанализируем порядок действий администратора:

  1. Перейдем в раздел Администрирование — Настройки пользователей и прав.
  2. Откроем пункт Управление настройками (или «Персональные настройки пользователей»).
  3. Выберем нужного пользователя, найдем в списке соответствующий отчет и сбросим или удалим для него сохраненные настройки.

Способ 3. Отключение автоматического сохранения настроек в Конфигураторе

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

  1. В дереве конфигурации откроем свойства объекта отчета или его основной формы.
  2. Установим свойство АвтоматическоеСохранениеПользовательскихНастроек в значение Ложь.

Способ 4. Программная перезагрузка настроек по умолчанию

Рассмотрим вариант программного сброса настроек при открытии формы отчета. В модуле формы в событии ПриСозданииНаСервере или в модуле объекта в событии ПриКомпоновкеРезультата мы можем принудительно восстановить настройки по умолчанию из схемы СКД:


Схема = ПолучитьМакет("СхемаКомпоновкиДанных");
Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(Схема.НастройкиПоУмолчанию);

Использование метода ЗагрузитьНастройки() у объекта КомпоновщикНастроек с передачей свойства НастройкиПоУмолчанию из объекта СхемаКомпоновкиДанных позволяет гарантировать, что при запуске отчета всегда будет применяться вариант, сформированный разработчиком.

← На главную