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

Администрирование · 10 мин

Сохранить значение в 1С: где хранятся настройки и как их найти

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

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

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

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

Основные места хранения значений в 1С

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

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

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

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

Хранилище общих настроек: как устроено и где искать

Большинство «сохранённых значений» в типовых конфигурациях попадает именно сюда. Сохранение выполняется кодом вида:

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

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

Физически данные хранилища лежат в служебной таблице информационной базы. Напрямую редактировать её штатными средствами нельзя, но просмотреть и удалить записи можно через типовую обработку управления настройками (в БСП — «Управление настройками» / очистка настроек пользователей в разделе администрирования) или программно методом ХранилищеОбщихНастроек.Удалить().

Как найти и удалить настройку в хранилище
  1. 1
    Откройте раздел администрирования и найдите функцию очистки настроек пользователей (в конфигурациях на БСП — «Настройки пользователей и прав»).
  2. 2
    Выберите пользователя, у которого «залипло» значение.
  3. 3
    Найдите настройку по имени объекта или очистите все настройки выбранного пользователя.
  4. 4
    Если штатной функции нет — удалите запись программно: ХранилищеОбщихНастроек.Удалить(Объект, Ключ, Пользователь).
  5. 5
    Проверьте результат: перезапустите сеанс пользователя и откройте нужную форму.

Настройки форм и отчётов

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

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

Для отчётов на СКД пользовательские настройки (выбранные отборы, группировки) хранятся в хранилище пользовательских настроек отчётов — это отдельное системное хранилище, доступное через ХранилищеПользовательскихНастроекОтчетов.

Константы и регистры сведений

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

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

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

Файловое хранилище и кэш на клиенте

Часть данных платформа держит вне информационной базы. Это каталоги кэша метаданных, файлы настроек соединений (ibases.v8i), журналы и временные файлы. В Windows кэш обычно находится в профиле пользователя внутри каталогов вида AppData\Roaming\1C\1cv8 и AppData\Local\1C\1cv8.

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

Как определить, где лежит конкретное значение

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

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

Маршрут решения

Как выбрать действие

Значение общее для всех пользователейИщите константу или регистр сведений через «Все функции»
У каждого пользователя своё значениеПроверяйте хранилище общих настроек и настройки формы
Проблема только на одном компьютереОчистите локальный кэш платформы
Значение пропало после обновления конфигурацииПроверьте, не изменились ли ключи сохранения в коде

Типичные ошибки и ограничения

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

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

Типичные ошибки
01
Очистка всего хранилища настроек вместо одной записи — пользователь теряет все свои настройки форм и отчётов.
02
Удаление кэша при открытых сеансах — файлы заблокированы, проблема не решается.
03
Поиск значения в файлах, когда оно лежит в базе — кэш очищен, а настройка осталась.
04
Хранение больших таблиц в настройках — рост размера базы и медленная работа форм.

Проверка результата

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

Проверьте поведение под целевым пользователем, а не под администратором: настройки персональны, и «у меня работает» не означает, что у пользователя всё исправлено.

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

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

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

Форма открывается с ожидаемым (новым или сброшенным) значением

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

Подтягивается старое значение — настройка не удалена или лежит в другом месте

Проверка у другого пользователя
Норма

У него свои настройки не пострадали

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

Удалены чужие настройки — была очищена лишняя область

Размер базы после массовой очистки
Норма

Существенных изменений нет

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

База резко выросла — в настройки писались объёмные данные

Итог

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

Сохранённое в 1С значение лежит либо в базе (константы, регистры сведений, хранилище общих настроек), либо в локальном кэше клиента. Сначала определите механизм сохранения по признакам, затем очищайте точечно — и всегда с резервной копией.

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

Где физически находится хранилище общих настроек?

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

Почему настройка сохраняется у одного пользователя, а у другого нет?

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

Как полностью сбросить все настройки пользователя?

В конфигурациях на Библиотеке стандартных подсистем есть штатная функция очистки настроек в разделе администрирования. Программно можно перебрать и удалить записи через ХранилищеОбщихНастроек и ХранилищеПользовательскихНастроекОтчетов. Дополнительно очистите локальный кэш на компьютере пользователя — он хранит часть параметров форм.

Переносятся ли настройки при переносе базы выгрузкой dt?

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

Чем СохранитьЗначение отличается от хранилища общих настроек?

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

Опасно ли очищать кэш 1С?

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