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

Автоматизация · 11 мин

Как сохранить настройки обработки в 1С

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

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

Способ сохранения зависит от конкретной обработки и конфигурации. Типовые обработки «1С:Предприятия» чаще всего хранят настройки внутри информационной базы, внешние обработки — в файле на диске или в хранилище настроек пользователя. Ниже разобраны основные сценарии: от кнопки «Сохранить настройки» в интерфейсе до программного сохранения через ХранилищеОбщихНастроек.

Где 1С хранит настройки обработок

Прежде чем сохранять, полезно понимать, куда попадут данные. В платформе «1С:Предприятие» существует несколько хранилищ настроек: системное хранилище (привязано к пользователю и объекту), хранилище общих настроек, хранилище пользовательских настроек отчётов и файловое хранилище — обычные файлы на диске или в сетевой папке.

Типовые обработки конфигураций (например, «Групповое изменение реквизитов», «Загрузка данных из табличного документа») сохраняют настройки внутри информационной базы. Это значит, что они доступны при следующем входе с того же компьютера под тем же пользователем, а иногда — всем пользователям, если разработчик предусмотрел общий доступ.

Внешние обработки (файлы .epf) нередко хранят настройки в системном хранилище платформы. Ключ привязки — имя файла или внутреннее имя обработки. Поэтому при переименовании файла обработки сохранённые настройки могут «потеряться»: платформа ищет их по старому ключу и не находит.

Как сохранить настройки через интерфейс обработки

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

При сохранении обработка предложит указать имя настройки. Давайте осмысленные названия: «Выгрузка в банк — зарплатный проект», «Загрузка цен поставщика А». Имена вида «1» или «Новая» через месяц ни о чём не скажут. Одну обработку можно снабдить несколькими сохранёнными вариантами и переключаться между ними через «Восстановить настройки» или «Загрузить настройки».

Типовой порядок сохранения
  1. 1
    Откройте обработку и заполните все нужные параметры
  2. 2
    Нажмите «Сохранить настройки» (или «Ещё» → «Сохранить настройки»)
  3. 3
    Введите понятное имя настройки и подтвердите
  4. 4
    Закройте и снова откройте обработку
  5. 5
    Выберите сохранённое имя в списке настроек и проверьте, что все поля заполнились

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

Сохранение настроек в файл и перенос другому пользователю

Когда настройки нужно передать коллеге или перенести между базами (например, из тестовой в рабочую), используется выгрузка в файл. В типовых обработках ищите команды «Сохранить в файл», «Выгрузить настройки» или пункт с таким названием в меню «Ещё». Файл обычно имеет формат XML.

На другой базе или у другого пользователя выполняется обратная операция — «Загрузить из файла». Учтите важное ограничение: настройки, содержащие ссылки на объекты базы (конкретные организации, договоры, склады, элементы справочников), корректно переносятся только между копиями одной базы. В другой базе у объектов другие внутренние идентификаторы, и ссылки в настройках станут битыми — их придётся указать заново.

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

Автоматическое сохранение настроек платформой

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

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

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

Сохранение настроек программно (для разработчика)

Если вы дорабатываете собственную обработку, платформа предоставляет объект ХранилищеОбщихНастроек (а также ХранилищеСистемныхНастроек и ХранилищеПользовательскихНастроекОтчетов). Типовой приём — сериализовать настройки в структуру и сохранить её под уникальным ключом.

// Сохранение

Настройки = Новый Структура;

Настройки.Вставить("Организация", Организация);

Настройки.Вставить("Период", Период);

ХранилищеОбщихНастроек.Сохранить("МояОбработка", "ОсновнаяНастройка", Настройки);

// Восстановление при открытии формы

Сохраненное = ХранилищеОбщихНастроек.Загрузить("МояОбработка", "ОсновнаяНастройка");

Если ТипЗнч(Сохраненное) = Тип("Структура") Тогда

ЗаполнитьЗначенияСвойств(ЭтаФорма, Сохраненное);

КонецЕсли;

Учтите ограничения: структура не хранит таблицы значений напрямую — их нужно преобразовывать, например, через ЗначениеВСтрокуВнутр или сериализацию в массив структур. Также сохраняйте только простые типы и ссылки; COM-объекты, картинки и открытые соединения сериализовать нельзя.

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

Способы хранения настроек

Кнопка «Сохранить настройки» в обработке

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

Выгрузка в файл

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

Автосохранение платформы

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

ХранилищеОбщихНастроек (код)

Гибкий вариант для разработчика. Ограничение: требует доработки и аккуратной сериализации сложных данных.

Типичные проблемы и их решение

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

Вторая типовая ситуация — после загрузки настроек из файла часть полей пустая или содержит «Объект не найден». Это признак переноса между разными базами: ссылки указывают на объекты, которых в текущей базе нет. Лечится ручным перезаполнением ссылочных полей после загрузки.

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

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

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

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

Сохранённая настройка появилась в списке
Норма

Имя видно в списке настроек обработки

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

Настройки нет в списке — сохранение не выполнено или нет прав

Восстановление после перезапуска
Норма

После закрытия и открытия все поля заполнены

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

Поля пустые — ключ объекта изменился или хранилище очищено

Перенос на другую базу
Норма

Все ссылочные поля заполнены реальными объектами

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

«Объект не найден» — ссылки указывают на другую базу

FAQ

Где физически лежат сохранённые настройки обработки?

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

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

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

Можно ли сделать одну настройку обработки общей для всех пользователей?

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

Как перенести настройки на другой компьютер с файловой базой?

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

Обработка не имеет кнопки сохранения настроек — что делать?

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

Опасно ли очищать хранилище настроек пользователя?

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

Итог

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

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