Настройки форм, отчётов и интерфейса в 1С 8.3: хранилища в базе, локальные файлы и перенос
Содержание
Настройки пользователей в 1С 8.3 хранятся в самой информационной базе, а не на компьютере. В файловой базе они лежат внутри файла 1Cv8.1CD, в клиент-серверной — в отдельных служебных таблицах базы данных на SQL-сервере. Поэтому перенос настроек на другой ПК обычно сводится к одному: подключить ту же базу.
Частое заблуждение — «удалю папку 1С в профиле Windows, и настройки сбросятся». Не сбросятся. В профиле живут кэш конфигурации, список баз и имя последнего входившего пользователя. Колонки списков, варианты отчётов, панели разделов и избранное остаются в базе и вернутся при следующем входе.
Настройки 1С 8.3 живут в базе: что это значит на практике
Платформа привязывает каждую настройку к трём вещам: к объекту (форме, отчёту, списку), к ключу настройки и к имени пользователя информационной базы. От компьютера и учётной записи Windows настройка не зависит.
Из этого следует несколько практических выводов:
- 💻 Пользователь зашёл с другого ПК, через веб-клиент или по RDP — он видит свой привычный интерфейс.
- 👥 Два сотрудника под одним логином 1С делят одни и те же настройки и перетирают их друг другу.
- 🔁 Переустановка Windows или платформы настройки не трогает.
- 💾 Резервная копия базы (файл
1Cv8.1CDили выгрузка.dt) уже содержит настройки всех пользователей.
Что попадает в пользовательские настройки:
- ширина, порядок и видимость колонок в списках и табличных частях;
- отборы и сортировки динамических списков;
- варианты отчётов и их пользовательские настройки (группировки, отборы, оформление);
- состав панели разделов, панели функций, избранное и история;
- значения, которые форма «запоминает» между открытиями (например, последний выбранный период или организация).
Настройки сохраняются, только если у пользователя есть право «Сохранение данных пользователя». Если сотрудник жалуется, что после каждого входа колонки «слетают», первым делом проверьте его роли. В типовых конфигурациях на БСП это право входит в базовые профили, но в самописных ролях его часто забывают.
Хранилища настроек форм и отчётов в информационной базе
Внутри базы настройки разложены по нескольким стандартным хранилищам. Разработчик обращается к ним через одноимённые свойства глобального контекста, а в базе данных каждому соответствует своя служебная таблица.
| Хранилище (имя во встроенном языке) | Что в нём лежит | Таблица в базе SQL |
|---|---|---|
ХранилищеСистемныхНастроек | расположение окон, панели, состав разделов, настройки форм | _SystemSettings |
ХранилищеОбщихНастроек | значения, которые сохраняет код конфигурации | _CommonSettings |
ХранилищеНастроекДанныхФорм | данные реквизитов форм, которые форма запоминает | _FrmDtSettings |
ХранилищеВариантовОтчетов | сохранённые варианты отчётов | _RepVarSettings |
ХранилищеПользовательскихНастроекОтчетов | пользовательские настройки отчётов | _RepSettings |
Есть и отдельное хранилище для настроек динамических списков, но принцип у всех одинаковый: запись = объект + ключ + пользователь + сами настройки в упакованном виде.
💡 В конфигурации разработчик может переопределить стандартное хранилище своим (например, хранить варианты отчётов в справочнике). Так устроены варианты отчётов в типовых решениях на БСП: они лежат в справочнике «Варианты отчетов», а не только в системной таблице. Поэтому для таких данных надёжнее пользоваться инструментами конфигурации, а не лезть в таблицы.
Файловая и клиент-серверная база: где физически лежат настройки
Логика хранения одна, физическое размещение разное.
| Вариант базы | Где лежат настройки | Как сделать копию |
|---|---|---|
| Файловая | внутри файла 1Cv8.1CD в каталоге базы | скопировать каталог при закрытой базе или выгрузить .dt |
| Клиент-серверная (MS SQL, PostgreSQL) | служебные таблицы _SystemSettings, _CommonSettings и другие в базе данных СУБД | бэкап средствами СУБД или выгрузка .dt |
В файловой базе отдельного файла «настройки.dat» нет. Скопировать «только настройки» из каталога базы не получится: они в одном файле с данными учёта.
В клиент-серверной базе таблицы видны в SQL Management Studio или в pgAdmin. Видеть — да, править — нет.
Не изменяйте и не очищайте таблицы настроек напрямую запросами к SQL. Содержимое хранится в двоичном формате платформы. Удаление строк в обход 1С может оставить базу в непредсказуемом состоянии, а изменения не попадут в кэш работающих сеансов. Все операции делайте средствами 1С.
Что 1С хранит в локальных папках профиля Windows
Часть данных платформа всё же держит на компьютере. Это не пользовательские настройки форм, а служебная информация клиента.
| Путь | Что там |
|---|---|
%APPDATA%\1C\1CEStart\ibases.v8i | список информационных баз в окне запуска |
%APPDATA%\1C\1CEStart\1cestart.cfg | параметры стартера: каталоги, общие списки баз |
%APPDATA%\1C\1cv8\ | настройки запуска клиента и папки по каждой базе (в том числе файл def.usr с последним именем пользователя) |
%LOCALAPPDATA%\1C\1cv8\ | кэш конфигурации по каждой базе |
Папки отдельных баз названы идентификаторами, а не именами баз. Сопоставить их вручную неудобно, и обычно это не нужно.
Удаление этих папок при закрытой 1С не трогает данные и настройки в базе. Оно даёт тот же эффект, что запуск с параметром /ClearCache: клиент заново скачает кэш конфигурации. Пропадёт разве что список баз в окне запуска, если удалить ibases.v8i.
Перед удалением кэша закройте все сеансы 1С на этом компьютере. Если пользователь работает на терминальном сервере, чистите папки только в его профиле и только когда он вышел из программы, иначе часть файлов будет занята.
Как найти, скопировать и выгрузить настройки пользователей
Через обработку «Настройки пользователей» (БП 3.0, ЗУП 3.1, УТ 11)
В конфигурациях на БСП есть готовый инструмент. В БП 3.0, ЗУП 3.1 и УТ 11 он открывается одинаково: Администрирование → Настройки пользователей и прав → Настройки пользователей.
- Выберите пользователя, чьи настройки хотите посмотреть.
- На вкладках увидите группы: внешний вид, настройки отчётов, прочие настройки.
- Отметьте нужные строки или всё сразу.
- Через команды копирования передайте настройки другому пользователю или группе пользователей.
- Там же можно очистить выбранные настройки, если они мешают работе.
Это самый безопасный способ: обработка сама учитывает, где конфигурация хранит варианты отчётов, и не ломает связи.
💡 Удобный приём для новых сотрудников: заведите эталонного пользователя, настройте ему рабочее место (разделы, колонки, отчёты), а затем копируйте его настройки каждому новичку. Пользователь при этом должен быть не в сеансе, иначе изменения он увидит только после перезахода.
Программно: выборка из хранилища
Если конфигурация не на БСП или нужно выгрузить настройки в файл, помогают методы менеджера стандартного хранилища. Пример ниже копирует системные настройки одного пользователя другому. Выполняйте его на сервере под пользователем с административными правами, например во внешней обработке.
&НаСервереБезКонтекста
Процедура СкопироватьСистемныеНастройки(ИмяИсточника, ИмяПолучателя)
Отбор = Новый Структура("Пользователь", ИмяИсточника);
Выборка = ХранилищеСистемныхНастроек.Выбрать(Отбор);
Пока Выборка.Следующий() Цикл
ХранилищеСистемныхНастроек.Сохранить(
Выборка.КлючОбъекта,
Выборка.КлючНастроек,
Выборка.Настройки,
,
ИмяПолучателя);
КонецЦикла;
КонецПроцедуры
Для других хранилищ код тот же, меняется только имя: ХранилищеОбщихНастроек, ХранилищеНастроекДанныхФорм и так далее. Чтобы выгрузить настройки в файл, сериализуйте значение Выборка.Настройки через ЗначениеВСтрокуВнутр() и сохраните вместе с ключами. Загрузка — обратная операция через ЗначениеИзСтрокиВнутр() и Сохранить().
Хранилища, переопределённые конфигурацией, этим кодом не охватываются. Если в вашей базе варианты отчётов хранятся в справочнике, копируйте их средствами конфигурации.
Восстановление настроек после сбоя или переустановки
Сначала определите, что именно пропало. Сценарии разные, и решение тоже.
Как не потерять настройки при переименовании пользователя
Платформа ищет настройки по имени пользователя информационной базы. Переименование в Конфигураторе (Администрирование → Пользователи) отвязывает человека от его настроек.
В типовых конфигурациях на БСП переименовывайте пользователя в карточке в режиме Предприятия: Администрирование → Настройки пользователей и прав → Пользователи. Подсистема при смене имени сама переносит настройки на новое имя.
Частичное восстановление из резервной копии
Если база работает, а у одного бухгалтера пропали настроенные отчёты, восстанавливать всю базу ради этого нельзя: потеряются документы, внесённые после копии.
- Разверните резервную копию в отдельную базу (загрузите
.dtв пустую базу или скопируйте каталог файловой базы). - В копии выгрузите настройки нужного пользователя в файл: программно, как описано выше.
- В рабочей базе загрузите файл под этим пользователем, когда он не в сеансе.
Перенос настроек на новый компьютер, в другую базу или в облако
| Задача | Что делать |
|---|---|
| Новый компьютер, та же база | ничего не переносить: подключить базу, войти под тем же пользователем |
| Новый компьютер, нужен тот же список баз | скопировать ibases.v8i в %APPDATA%\1C\1CEStart\ нового профиля |
| Перенос базы целиком на другой сервер | выгрузка и загрузка .dt: пользователи и их настройки переедут вместе с данными |
| Другая база с той же конфигурацией | выгрузить настройки в файл из исходной базы и загрузить в новую |
| Переход в облачный сервис | уточнить у провайдера способ миграции до начала |
При переходе в облако важен способ миграции. Если провайдер разворачивает вашу выгрузку .dt целиком на своём сервере, настройки сохранятся. Если в сервис загружаются только данные прикладного решения, интерфейс пользователей придётся настроить заново или перенести обработкой. Спросите об этом заранее, пока старая база под рукой.
Терминальный сервер и перемещаемые профили
На терминальном сервере каждый сотрудник получает свой профиль Windows, а значит, свой кэш и свой список баз. Настройки форм при этом всё равно берутся из базы, поэтому переезд пользователя с одного терминального сервера на другой проходит незаметно.
Если в организации включены перемещаемые профили, папку %APPDATA%\1C\ они переносят между компьютерами вместе со списком баз. Кэш из %LOCALAPPDATA% не перемещается и создаётся заново на каждом сервере. Это нормально: первый вход на новом месте будет чуть дольше.
💡 Перенос между разными конфигурациями (например, из УТ в БП) смысла не имеет: ключи объектов отличаются, и настройки форм просто не найдут своих форм.
Частые ошибки при работе с настройками пользователей
- ❌ Чистить профиль Windows в надежде сбросить настройки. Не поможет: сбросится только кэш. Для сброса используйте
Вид → Установить стандартные настройкиили очистку в обработке «Настройки пользователей». - ❌ Работать вдвоём под одним логином. Настройки общие, каждый «ломает» колонки другому. Заведите отдельных пользователей.
- ❌ Копировать настройки пользователю, который сейчас в программе. При выходе его сеанс может сохранить старые настройки поверх скопированных.
- ❌ Восстанавливать всю базу из копии ради одного отчёта. Потеряются свежие документы. Используйте частичное восстановление через отдельную копию.