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