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

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

Как сохранить настройки внешнего отчета в 1С

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

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

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

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

Как 1С хранит настройки отчетов и почему они пропадают

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

С внешним отчетом сложнее. Если вы открываете файл .erf через «Файл → Открыть», платформа формирует ключ объекта из пути к файлу. Стоит переместить файл в другую папку, переименовать его или открыть с другого компьютера — и сохраненные ранее настройки перестанут подхватываться, потому что ключ изменился. Это самая частая причина «потери» настроек.

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

Сохранение настроек через кнопку в форме отчета

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

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

Чтобы восстановить настройки, откройте отчет и выберите «Ещё → Загрузить настройки», укажите сохраненный XML-файл. Проверка результата простая: после загрузки в панели настроек должны появиться ваши отборы и параметры, а отчет при нажатии «Сформировать» должен выдать тот же результат, что и при сохранении.

Порядок действий
  1. 1
    Откройте внешний отчет и задайте нужные отборы, параметры и группировки
  2. 2
    Сформируйте отчет и убедитесь, что результат верный
  3. 3
    Нажмите «Ещё → Сохранить настройки» и укажите имя и папку для XML-файла
  4. 4
    Для восстановления откройте отчет и выберите «Ещё → Загрузить настройки»
  5. 5
    Сформируйте отчет повторно и сверьте результат с исходным

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

Сохранение через подсистему «Дополнительные отчеты и обработки»

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

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

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

Сравнение вариантов

Открытие файла напрямую

Быстро, без прав администратора. Настройки привязаны к пути файла и легко теряются при перемещении.

Сохранение в XML-файл

Подходит для переноса настроек между базами и коллегами. Требует ручной загрузки при каждом восстановлении.

Регистрация в дополнительных отчетах

Стабильное хранение в базе, варианты отчетов, назначение пользователям. Требует прав на добавление обработок.

Программное сохранение настроек через хранилище

Разработчику может понадобиться сохранять и восстанавливать настройки из кода — например, в регламентном задании или при пакетном формировании отчетов. Для этого используется объект ХранилищеОбщихНастроек или ХранилищеНастроекДанныхФорм.

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

bsl
Настройки = КомпоновщикНастроек.ПолучитьНастройки();
ХранилищеОбщихНастроек.Сохранить("ВнешнийОтчетПродажи", "ОсновныеНастройки", Настройки, , ИмяПользователя());

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

Перенос настроек между базами и пользователями

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

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

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

Типичные ошибки и их устранение

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

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

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

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

Как проверить, что настройки сохранились корректно

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

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

Контрольные точки

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

Повторное открытие отчета
Норма

Отборы и параметры восстановлены автоматически

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

Настройки сброшены к стандартным

Формирование отчета
Норма

Результат совпадает с результатом на момент сохранения

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

Ошибка компоновки или пустой отчет

Период в настройках
Норма

Используется стандартный период

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

Зафиксированы устаревшие даты

Итог

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

Надежнее всего регистрировать внешний отчет в подсистеме дополнительных отчетов и хранить настройки в базе. Файл XML подходит для переноса, а прямое открытие .erf — только для разового просмотра. Стабильность ключа настроек важнее способа сохранения.

Частые вопросы

Почему настройки внешнего отчета пропадают после закрытия?

Чаще всего отчет открыт как файл через «Файл → Открыть», и его ключ привязан к пути. Зарегистрируйте отчет в справочнике дополнительных отчетов и обработок — тогда настройки будут храниться в базе и восстанавливаться автоматически.

Можно ли передать настройки отчета другому пользователю?

Да. Сохраните настройки в XML-файл и передайте коллеге для загрузки, либо сохраните вариант отчета и назначьте его нужным пользователям через настройки видимости варианта (требуются соответствующие права).

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

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

Где физически хранятся настройки отчетов в 1С?

В системных таблицах информационной базы — хранилище общих настроек и хранилище вариантов отчетов. Прямой доступ к ним не предусмотрен, работа ведется через штатные механизмы платформы или программные объекты хранилищ.

Как сбросить настройки внешнего отчета к стандартным?

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