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

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

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

1. Встроенные механизмы хранения настроек в 1С

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

Основные объекты для хранения параметров:

  • 🔧 Константы — для глобальных параметров, которые редко изменяются (например, НаименованиеОрганизации или КодВалютыПоУмолчанию). Хранятся в базе данных и доступны всем пользователям.
  • 📋 Справочники — подходят для настроек с иерархией или большим количеством значений (например, ВидыДокументов или ТипыКонтрагентов). Можно добавлять реквизиты для детализации.
  • 📊 Регистры сведений — идеальны для параметров, которые изменяются со временем (например, КурсыВалют или НастройкиИнтеграции). Поддерживают версии данных и отбор по периодам.
  • 🖥️ Параметры сеанса — временные настройки, действующие только в текущем сеансе пользователя (например, ТекущийСклад или ФильтрТоваров). Хранятся в оперативной памяти.

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

📊 Какой механизм хранения настроек вы используете чаще?
Константы
Справочники
Регистры сведений
Параметры сеанса
Другой
⚠️ Внимание: При обновлении конфигурации через Конфигуратор → Поддержка → Обновить конфигурацию некоторые объекты (например, справочники с предопределёнными элементами) могут быть перезаписаны. Всегда проверяйте Журнал обновлений на наличие предупреждений о конфликтах.

2. Хранение пользовательских настроек: формы, отчёты, печатные формы

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

Где ищутся пользовательские настройки:

  • 🖼️ Варианты отчётов — сохраняются в базе данных в таблице _ReportVariants (для управляемых форм) или в файлах .mxl (для обычных форм). Доступны через меню Отчёты → Все отчёты → [Выбрать отчёт] → Варианты.
  • 📄 Шаблоны печатных форм — хранятся в справочнике ШаблоныПечатныхФорм или в файлах .mxl/.xlsx на сервере/клиенте. Путь к файлам можно увидеть в настройках конкретной печатной формы.
  • ⚙️ Настройки форм — параметры расположения колонок, ширины полей и т.д. сохраняются в таблице _UserSettingsStorage (для управляемых форм) или в реестре Windows (для толстого клиента).

Чтобы перенести пользовательские настройки на другой компьютер:

  1. Экспортируйте варианты отчётов через Файл → Сохранить вариант (формат .mxl).
  2. Скопируйте файлы шаблонов из папки %APPDATA%\1C\1Cv8\Templates\ (для Windows).
  3. Для управляемых форм используйте обработку ВыгрузкаЗагрузкаДанныхXML с галочкой Настройки пользователей.

Экспортировать варианты отчётов (.mxl)

Скопировать шаблоны печатных форм

Выгрузить настройки управляемых форм через XML

Проверить права доступа к папкам на новом ПК-->

⚠️ Внимание: Настройки толстого клиента (например, положение окон или горячие клавиши) хранятся в реестре Windows по пути HKEY_CURRENT_USER\Software\1C\1Cv8\8.x\Config\. При переустановке ОС или смене пользователя они сбросятся.

3. Внешние файлы и базы данных: когда и как использовать

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

Метод хранения Примеры использования Плюсы Минусы
Текстовые файлы (.txt, .ini) Параметры интеграции, логин/пароль для API Простота редактирования, нет привязки к базе Низкая безопасность, нет версионности
JSON/XML файлы Конфигурации оборудования, сложные настройки Структурированный формат, поддержка вложенных данных Требует парсинга в
База данных (SQLite, MS SQL) Кэш данных, настройки для кластера серверов Высокая производительность, транзакции Сложность настройки, нужны драйверы
Облачные хранилища (Yandex Диск, Google Drive) Резервные копии настроек, шаблоны Доступ из любой точки, автоматическая синхронизация Зависимость от интернета, риски утечки данных

Для работы с внешними файлами в используйте стандартные объекты:

  • 📂 ФайловаяСистема — для чтения/записи файлов (пример: ЗаписатьТекст("C:\settings.ini", МоиНастройки)).
  • 🔌 HTTPСервис — для взаимодействия с облачными API.
  • 🗃️ ADODB.Connection — для подключения к внешним БД (требует прав администратора).

Критичный нюанс: при хранении паролей или токенов API в файлах обязательно используйте шифрование. В для этого есть функция ШифроватьСтроку() с алгоритмом GOST или AES.

💡

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

4. Настройки уровня конфигурации vs. уровня базы данных

Важно понимать разницу между настройками, которые хранятся в конфигурации (в файле .cf или .cfu) и теми, что лежат в базе данных (в файле .1CD или на SQL-сервере). Эта разница критична при обновлениях и переносах.

Настройки уровня конфигурации:

  • 🔄 Изменяются в Конфигураторе (например, состав справочников или макеты печатных форм).
  • 📦 Хранятся в файле конфигурации (.cf) или в таблицах config и configsave на SQL.
  • 🔄 При обновлении конфигурации могут быть перезаписаны, если не использовать механизм Объединение конфигураций.

Настройки уровня базы данных:

  • 📊 Изменяются в 1С:Предприятие (например, значения констант или элементы справочников).
  • 🗃️ Хранятся в таблицах базы данных (например, _Const для констант или _Catalog для справочников).
  • 🔄 Сохраняются при обновлении конфигурации, но могут потеряться при восстановлении базы из резервной копии.

Чтобы избежать потерь:

  1. Для критичных параметров используйте регистры сведений с версионностью.
  2. Перед обновлением конфигурации делайте выгрузку данных через Все функции → Выгрузка данных.
  3. Настройте автоматическое резервное копирование базы (например, через Администрирование → Резервное копирование).
Что будет если не разделять настройки по уровням?

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

5. Где хранить настройки для интеграций и API

При настройке обмена данными с другими системами (например, с сайтом, CRM или банком) параметры подключения (URL, токены, логины) нужно хранить так, чтобы они:

  • 🔒 Были защищены от несанкционированного доступа.
  • 🔄 Легко обновлялись без изменения конфигурации.
  • 📡 Были доступны всем узлам кластера (если используется распределённая система).

Лучшие практики:

  • 🔐 Токены и пароли — храните в Регистре сведений с ограничением по ролям или в зашифрованном файле на сервере. Никогда не жестко прописывайте их в модулях!
  • 🌐 Адреса серверов (URL) — используйте константы с пометкой ДляИнтеграции или справочник СервисыОбмена.
  • Параметры очередей — для фоновых задач (например, РасписаниеОбменов) настройте отдельный справочник с полями Активен, Периодичность, ПоследнийЗапуск.

Пример кода для безопасного хранения токена:


// Получение токена из регистра сведений

Токен = РегистрыСведений.ТокеныAPI.ПолучитьПоследние(, "ИнтеграцияССайтом").Токен;

// Использование в запросе

Запрос = Новый HTTPЗапрос("https://api.site.ru/data");

Запрос.Заголовки.Вставить("Authorization", "Bearer " + Токен);

Ответ = Новый HTTPСоединение().Получить(Запрос);

⚠️ Внимание: При использовании HTTPСервиса для интеграций проверьте, что в настройках кластера 1С:Предприятия разрешён исходящий трафик. Для этого в Администрирование кластера → Главное → Настройки должен быть включён параметр Разрешить исходящие соединения.

6. Резервное копирование и синхронизация настроек

Потеря настроек может парализовать работу компании на несколько дней. Чтобы этого избежать, настройте систему резервного копирования и синхронизации:

Что обязательно резервировать:

  • 📂 Файлы конфигурации (.cf, .cfu) и базы данных (.1CD или SQL-дамп).
  • 📄 Пользовательские шаблоны и варианты отчётов (папка %APPDATA%\1C\1Cv8\Templates\).
  • 🔧 Внешние файлы настроек (например, settings.json в папке с базой).
  • 📋 Настройки кластера серверов (файл ras.cluster в папке C:\ProgramData\1C\1cv8\).

Инструменты для резервирования:

Инструмент Что резервирует Как настроить
Встроенное резервное копирование Базу данных (без файлов конфигурации) Администрирование → Резервное копирование → Настроить расписание
1C:EDT Конфигурацию и внешние обработки Подключить систему контроля версий (Git) в Team → Share Project
Скрипты PowerShell Файлы настроек и шаблоны Написать скрипт для архивации папки %APPDATA%\1C\
SQL Server Agent Базу данных на MS SQL Создать задачу Maintenance Plan в SQL Server Management Studio

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

  • 🔄 Универсальный обмен данными (через планы обмена).
  • 📤 Выгрузку/загрузку XML (обработка ВыгрузкаЗагрузкаДанныхXML).
  • 🔗 Внешние обработки для копирования конкретных параметров (например, КопированиеКонстант.epf).
💡

Резервная копия базы данных БЕЗ файлов конфигурации и пользовательских шаблонов бесполезна для полного восстановления. Всегда проверяйте, что в бэкап включены все критичные компоненты.

7. Типичные ошибки и как их избежать

Даже опытные администраторы иногда допускают ошибки при работе с настройками. Вот самые распространённые:

Ошибка 1: Хранение паролей в открытом виде в модулях

🛑 Последствия: при декомпиляции конфигурации или утечке файлов злоумышленник получит доступ к внешним системам.

Решение: используйте РегистрСведений.Пароли с шифрованием или внешний Key Vault (например, Azure Key Vault).

Ошибка 2: Изменение предопределённых элементов справочников

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

Решение: создавайте свои элементы справочников или используйте дополнительные реквизиты.

Ошибка 3: Игнорирование прав доступа к настройкам

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

Решение: настройте роли в Конфигураторе → Администрирование → Пользователи и права.

Ошибка 4: Хранение временных данных в константах

🛑 Последствия: константы кэшируются, и их изменение требует перезапуска сеансов.

Решение: для динамических параметров используйте РегистрСведений или ПараметрыСеанса.

Ошибка 5: Отсутствие документации по настройкам

🛑 Последствия: при уходе администратора новые сотрудники не смогут поддерживать систему.

Решение: ведите реестр настроек в Confluence, Notion или прямо в (справочник ДокументацияНастроек).

💡

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

FAQ: Частые вопросы по хранению настроек в 1С

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

Используйте обработку ВыгрузкаЗагрузкаДанныхXML с галочками:

  • 📋 Справочники (если настройки хранятся там),
  • ⚙️ Константы,
  • 📊 Регистры сведений,
  • 👤 Настройки пользователей (для управляемых форм).

Для пользовательских шаблонов скопируйте файлы из папки %APPDATA%\1C\1Cv8\Templates\.

🔹 Где хранятся настройки печатных форм в управляемом приложении?

В базе данных, в таблице _DocumentTemplates (для документов) или _ReportTemplates (для отчётов). Чтобы их экспортировать:

  1. Откройте нужный документ или отчёт.
  2. Нажмите Печать → Настройки → Сохранить как....
  3. Выберите формат .mxl или .xlsx.
🔹 Можно ли хранить настройки в облаке (например, в Google Sheets)?

Да, но с оговорками:

  • Плюсы: доступ из любой точки, нет привязки к базе.
  • Минусы: зависимость от интернета, риски безопасности.

Для этого:

  1. Настройте HTTPСервис для работы с Google API.
  2. Используйте ОбработкаОжидания для фонового обновления данных.
  3. Храните токены доступа в зашифрованном виде (см. раздел 5).
🔹 Как восстановить настройки после сбоя базы?

Порядок действий:

  1. Восстановите базу из последнего бэкапа (через Администрирование → Восстановление).
  2. Если бэкапа нет — проверьте папку %APPDATA%\1C\1Cv8\ на наличие файлов .mxl (шаблоны) и .usr (настройки форм).
  3. Для констант и справочников воспользуйтесь обработкой ВосстановлениеДанныхИзXML.
  4. Если настройки хранились во внешних файлах — восстановите их из резервной копии файловой системы.

Если база повреждена, попробуйте утилиту chdbfl.exe (лежит в папке с платформой ). Запуск: chdbfl.exe /F "C:\path\to\base.1CD" /L.

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

Это происходит, если:

  • Настройки хранились в предопределённых элементах справочников, которые были перезаписаны.
  • Использовались константы с флагом "Предопределённая".
  • Обновление выполнялось с флагом /Force, игнорирующим конфликты.

Чтобы избежать потерь:

  • Перед обновлением делайте выгрузку данных через XML.
  • Используйте Объединение конфигураций вместо полной перезаписи.
  • Храните критичные настройки в Регистрах сведений с версионностью.