Настройки интерфейса 1С 8.3: что лежит в базе, что в профиле Windows и как их сбросить

· 9 мин

Содержание

В 1С:Предприятии 8.3 настройки интерфейса пользователя хранятся в самой информационной базе, а не на компьютере. В файловом варианте это служебные таблицы внутри файла 1Cv8.1CD, в клиент-серверном — таблицы _SystemSettings, _CommonSettings, _FrmDtSettings, _RepSettings и _RepVarSettings в СУБД. В профиле Windows (%APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8) лежат только кэш конфигурации, список баз и параметры окна запуска.

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

Карта хранения настроек 1С: три слоя

Все, что пользователь видит на экране, складывается из трёх источников. Путаница между ними — главная причина, почему «сброс настроек» не помогает.

СлойГде физическиЧто содержитКто меняет
КонфигурацияВ базе, в метаданныхСостав разделов, командный интерфейс по умолчанию, формы, стильРазработчик в Конфигураторе
Пользовательские настройкиВ базе, в хранилищах настроекПанели, порядок разделов, колонки списков, отборы, варианты отчётов, параметры клиентаСам пользователь или администратор
Локальные файлыПрофиль WindowsКэш метаданных, список баз ibases.v8i, настройки окна запускаПлатформа автоматически

💡 Если у всех пользователей одинаково «не так» — дело в конфигурации. Если у одного человека — в его пользовательских настройках. Если проблема привязана к компьютеру, а не к человеку, — в локальном кэше.

Папки профиля Windows: что 1С держит на компьютере

На рабочем месте 1С использует две ветки профиля. Открыть их можно, вставив путь в адресную строку Проводника.

📁 %APPDATA%\1C\1CEStart\ — список информационных баз и параметры стартера:

  • ibases.v8i — список баз в окне запуска. Обычный текстовый файл, каждая база начинается с имени в квадратных скобках, внутри есть строка Connect= и строка ID= с уникальным идентификатором.
  • 1cestart.cfg — настройки стартера: общие списки баз, используемые версии платформы.

📁 %APPDATA%\1C\1cv8\ — роуминговая часть:

  • файлы с расширением .pfl — параметры окна запуска и некоторые настройки Конфигуратора на этом компьютере;
  • папки с именами-идентификаторами — по одной на каждую базу, которую открывали с этого компьютера.

📁 %LOCALAPPDATA%\1C\1cv8\ — локальная часть:

  • такие же папки-идентификаторы, в основном с кэшем метаданных конфигурации;
  • кэш нужен, чтобы клиент не скачивал описание конфигурации с сервера при каждом входе.

Как понять, какая папка относится к какой базе

Откройте ibases.v8i в Блокноте и найдите нужную базу. Значение после ID= обычно совпадает с именем папки в %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8. Если папок десятки, а баз в списке три, — остальные остались от старых или удалённых баз.

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

Того же результата без ручной работы даёт параметр запуска /ClearCache. Добавьте его в окне запуска: выделите базу, нажмите Изменить, дойдите до последней страницы мастера и впишите параметр в поле дополнительных параметров запуска. После одного входа параметр лучше убрать, иначе кэш будет скачиваться заново при каждом запуске.

Файловая база: настройки спрятаны внутри 1Cv8.1CD

В файловом варианте вся база — один файл 1Cv8.1CD в каталоге, который указан в окне запуска. Отдельных файлов с настройками пользователей рядом нет: всё внутри 1CD, во внутренних таблицах.

Кроме данных и конфигурации, в этом файле лежат:

  • 👤 таблица v8users — список пользователей базы с их свойствами (имя, роли, способ аутентификации);
  • 🖥 таблицы хранилищ настроек — те же _SystemSettings, _CommonSettings и другие, что в клиент-серверной базе;
  • 📦 служебные таблицы конфигурации.

Что из этого следует на практике:

  1. Скопировали каталог базы на другой компьютер — настройки всех пользователей переехали вместе с ней.
  2. Выгрузили базу в .dt через Конфигуратор → Администрирование → Выгрузить информационную базу — настройки пользователей тоже попадают в выгрузку.
  3. Открыть настройки «блокнотом» нельзя. Для просмотра внутренних таблиц 1CD есть сторонние утилиты, но править ими живую базу — прямой путь к её порче.

Рядом с 1CD при работе появляются служебные файлы вроде 1Cv8.cdn и 1Cv8tmp.1CD. Это блокировки и временные данные, к настройкам интерфейса они отношения не имеют.

Клиент-серверный вариант: таблицы настроек в СУБД

В клиент-серверной базе на MS SQL Server или PostgreSQL настройки пользователей лежат в отдельных таблицах. Имена у них постоянные, не зависят от конфигурации.

ТаблицаЧто хранитХранилище в языке 1С
_SystemSettingsПоложение окон, панели, порядок разделов, параметры клиента, настройки формХранилищеСистемныхНастроек
_CommonSettingsОбщие настройки, которые сохраняет конфигурацияХранилищеОбщихНастроек
_FrmDtSettingsДанные форм: введённые значения, которые форма запоминаетХранилищеНастроекДанныхФорм
_RepSettingsПользовательские настройки отчётовХранилищеПользовательскихНастроекОтчетов
_RepVarSettingsВарианты отчётовХранилищеВариантовОтчетов
v8usersСписок пользователей базыПользователиИнформационнойБазы

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

Не удаляйте и не меняйте строки этих таблиц SQL-запросом в рабочей базе. Платформа держит данные в кэше сервера, а прямое вмешательство в СУБД в обход 1С не поддерживается. Всё, что нужно администратору, делается средствами самой 1С (следующие разделы).

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

Как меняют интерфейс: Конфигуратор и режим 1С:Предприятие

Внешний вид меняют на двух уровнях. От уровня зависит, у кого изменения появятся.

Для всех: Конфигуратор

В Конфигураторе задают интерфейс «по умолчанию»:

  • 🧭 командный интерфейс — в контекстном меню корня конфигурации или подсистемы выберите Открыть командный интерфейс. Там включают и выключают команды, меняют порядок разделов;
  • 🏠 начальную страницу — Рабочая область начальной страницы в корне конфигурации: какие формы и в каких колонках открываются при входе;
  • 🎨 стиль — объект Стили в ветке Общие: цвета, шрифты, рамки. Стиль, выбранный в свойстве конфигурации «Основной стиль», применяется ко всей базе;
  • 📄 формы — редактор формы: состав полей, группы, видимость по ролям.

Изменения в типовой конфигурации снимают её с поддержки или осложняют обновление. Безопаснее вносить их расширением конфигурации.

Для себя: режим 1С:Предприятие

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

  1. Главное меню → Вид → Настройка панелей — какие панели показывать и где: разделы, открытые окна, избранное, история.
  2. Значок шестерёнки в панели раздела или Главное меню → Вид → Настройка навигации — какие команды видны в текущем разделе.
  3. Ещё → Изменить форму в любой форме — порядок и видимость полей, ширина колонок.
  4. Ещё → Настроить список — отборы, сортировка, условное оформление списка.
  5. Главное меню → Сервис → Параметры — параметры клиентского приложения: режим открытия форм, масштаб и другие.

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

Сброс, копирование и перенос настроек интерфейса

Способ зависит от того, сколько сломано и кто будет чинить. Начинайте с самого мягкого.

Что нужно сделать?

Очистка настроек программно

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

// Очистка интерфейсных настроек одного пользователя
ИмяПользователя = "Иванова";

ХранилищеСистемныхНастроек.Удалить(Неопределено, Неопределено, ИмяПользователя);
ХранилищеНастроекДанныхФорм.Удалить(Неопределено, Неопределено, ИмяПользователя);
ХранилищеОбщихНастроек.Удалить(Неопределено, Неопределено, ИмяПользователя);

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

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

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

Отдельной кнопки «экспорт настроек интерфейса в файл» в платформе нет. Варианты:

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

Совместимость и версии платформы

Где лежат настройки, зависит не только от номера платформы, но и от того, как собрана конфигурация.

  • 🕰 Платформы 8.0 и 8.1 хранили заметную часть пользовательских настроек на клиенте, в файлах .pfl профиля. Отсюда старый совет «удалить файлы в Application Data», который для 8.3 уже почти ничего не даёт.
  • 🔄 Управляемое приложение (8.2 и 8.3) держит настройки пользователя в хранилищах внутри базы. Поэтому они одинаковы на любом компьютере, в тонком клиенте и в веб-клиенте.
  • 🧩 Обычное приложение на 8.3 (старые конфигурации с обычными формами) тоже пишет настройки в хранилища базы, но их состав другой: настройки табличных полей и окон обычных форм.
  • 🧱 Режим совместимости конфигурации определяет, какие возможности интерфейса доступны. Если в свойствах конфигурации стоит совместимость с 8.2, интерфейс «Такси» и часть команд настройки панелей будут недоступны, даже на свежей платформе.

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

Вариант интерфейса тоже задаётся на уровне конфигурации: свойство «Вариант интерфейса клиентского приложения» в Конфигураторе. Значение «Такси» включает современный интерфейс, «Версия 8.2» — прежний.

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

Почему настройки интерфейса сбрасываются при каждом входе?
Чаще всего у пользователя нет права сохранять данные пользователя. Проверьте роли: в конфигурациях на БСП за это отвечает роль базовых прав, в своей конфигурации — право «Сохранение данных пользователя» в роли.
Сохраняются ли настройки интерфейса при обновлении конфигурации?
Да, они в отдельных хранилищах и при обновлении не стираются. Но если в новом релизе форму переделали, часть её старых настроек может не примениться, и форма откроется в стандартном виде.
Можно ли запретить пользователю менять интерфейс?
Да. Право «Сохранение данных пользователя» в роли разрешает запоминать настройки. Без него пользователь сможет двигать колонки, но после перезапуска всё вернётся к виду по умолчанию.
Попадают ли настройки пользователей в выгрузку .dt?
Попадают. Выгрузка содержит все таблицы базы, включая хранилища настроек и список пользователей. После загрузки .dt в новую базу интерфейс у сотрудников будет прежним.
Где хранятся настройки самого Конфигуратора?
Параметры Конфигуратора из меню Сервис → Параметры хранятся на компьютере, в профиле Windows пользователя. Поэтому на другом рабочем месте Конфигуратор откроется со стандартными параметрами.