Куда 1С 8.3 сохраняет пользовательские настройки и варианты отчётов
Содержание
Пользовательские настройки отчётов в 1С 8.3 хранятся не в файлах на компьютере, а внутри самой информационной базы: в файловом варианте — в 1Cv8.1CD, в клиент-серверном — в служебных таблицах СУБД (_RepSettings, _RepVarSettings и соседних). Поэтому настройки «приезжают» за пользователем на любой компьютер, где он входит в ту же базу под своим именем.
На компьютере пользователя остаются только кэш и список баз. Удаление папок профиля %APPDATA%\1C\1cv8 не стирает ни сохранённые варианты, ни отборы, ни группировки отчётов. Это правило одинаково для тонкого, толстого и веб-клиента, для управляемых и обычных форм.
Какие хранилища настроек отчётов есть в 1С 8.3
Платформа делит все настройки пользователя на несколько хранилищ. Для отчётов важны два из них, но полезно знать всю картину: иногда «потерянная» настройка лежит не там, где её ищут.
| Хранилище (имя в языке 1С) | Что в нём лежит | Таблица в СУБД |
|---|---|---|
ХранилищеВариантовОтчетов | Варианты отчётов: структура, поля, группировки, оформление | _RepVarSettings |
ХранилищеПользовательскихНастроекОтчетов | Личные настройки пользователя внутри варианта: период, отборы, быстрые настройки | _RepSettings |
ХранилищеНастроекДанныхФорм | Значения реквизитов форм, которые запоминаются между сеансами | _FrmDtSettings |
ХранилищеСистемныхНастроек | Положение и размер окон, настройки списков, внешний вид | _SystemSettings |
ХранилищеОбщихНастроек | Прочие настройки, которые пишет код конфигурации | _CommonSettings |
Разница между вариантом и пользовательской настройкой важна на практике:
- 📊 Вариант отчёта — это «каркас»: какие колонки, какие группировки, какое оформление. Вариант может быть общим для всех.
- 👤 Пользовательская настройка — это личное поверх варианта: выбранный период, организация в отборе, включённые флажки. Она своя у каждого пользователя.
Если бухгалтер жалуется, что «у коллеги отчёт выглядит иначе», обычно у них один вариант, но разные пользовательские настройки.
Типовые конфигурации на БСП
В БП 3.0, ЗУП 3.1, УТ 11 и других конфигурациях на Библиотеке стандартных подсистем стандартное хранилище вариантов заменено своим. Варианты отчётов там хранит справочник «Варианты отчётов». Это видно в Конфигураторе: откройте свойства корня конфигурации и найдите группу свойств с хранилищами настроек. Если в поле хранилища вариантов указано хранилище из конфигурации, а не пусто, — значит, используется не платформенная таблица, а объект конфигурации.
Пустое поле хранилища в свойствах конфигурации означает, что работает стандартное хранилище платформы и данные лежат в служебной таблице из таблицы выше.
Где хранятся настройки отчётов в файловой базе и в обычном приложении
В файловом варианте вся база — один файл 1Cv8.1CD в каталоге, который указан в списке баз. Служебные таблицы настроек находятся внутри него, рядом с документами и справочниками. Отдельных файлов настроек отчётов в каталоге базы нет.
Что лежит рядом с базой и на компьютере пользователя:
- 📁
1Cv8.1CD— сама база, в том числе все настройки отчётов. - 📁
1Cv8.1CL,1Cv8tmp.1CDи подобные — служебные и временные файлы, настройки в них не хранятся. - 🗂
%APPDATA%\1C\1cv8\и%LOCALAPPDATA%\1C\1cv8\— кэш конфигурации и служебные данные клиента. Каждая база получает подпапку с именем-идентификатором. - 📄
%APPDATA%\1C\1CEStart\ibases.v8i— список баз в окне запуска. Отчётов он не касается.
Обычное приложение
Конфигурации на обычных формах (УПП, БП 2.0, КА 1.1) тоже работают на платформе 8.x, и стандартные хранилища у них в базе. Но многие отчёты там написаны без системы компоновки данных и сохраняют настройки своим кодом. В таких конфигурациях настройки отчётов часто ведёт отдельный справочник сохранённых настроек: пользователь нажимает команду сохранения значений, и запись появляется в этом справочнике.
Отсюда практический вывод: в обычном приложении сначала посмотрите, как отчёт сохраняет настройки. Если в форме отчёта есть команды сохранения и восстановления значений со списком сохранённых наборов, данные почти наверняка лежат в справочнике конфигурации. Найти его можно в Конфигураторе поиском по слову «настройки» в дереве метаданных.
Хранение настроек в отдельных файлах на диске — это особенность 1С 7.7, а не 8.3. Если инструкция советует искать настройки отчёта в папке пользователя, она про старую версию.
Хранение настроек отчётов в клиент-серверной базе и SQL
В клиент-серверном варианте база живёт в СУБД (MS SQL Server, PostgreSQL). Настройки — это строки в служебных таблицах, имена которых начинаются с подчёркивания:
_RepVarSettings— варианты отчётов из стандартного хранилища;_RepSettings— пользовательские настройки отчётов;_FrmDtSettings,_SystemSettings,_CommonSettings— остальные хранилища.
В каждой строке есть имя пользователя, ключ объекта (какой отчёт), ключ настройки и сами данные. Данные хранятся в упакованном двоичном виде. Прочитать их в SQL как текст не получится.
Проверить, что таблицы есть и заполнены, можно запросом только на чтение. Пример для MS SQL Server:
-- только просмотр, без изменений
SELECT COUNT(*) AS rep_settings FROM dbo._RepSettings;
SELECT COUNT(*) AS rep_variants FROM dbo._RepVarSettings;
Если нужно точно связать таблицы СУБД с объектами базы, используйте встроенную функцию ПолучитьСтруктуруХраненияБазыДанных(): она возвращает соответствие имён метаданных и имён таблиц. Для справочника «Варианты отчётов» в конфигурациях на БСП это будет таблица вида _Reference<номер>, номер свой в каждой базе.
Не изменяйте и не удаляйте строки в таблицах базы 1С через SQL. Фирма 1С такие правки не поддерживает, а база после них может перестать открываться или потерять целостность. Всё, что нужно сделать с настройками, делается средствами 1С.
Настройки и имя пользователя
Стандартные хранилища платформы привязывают настройку к имени пользователя информационной базы. Отсюда два следствия:
- 👥 Если несколько человек работают под одним пользователем, они перезаписывают настройки друг друга.
- ✏️ После переименования пользователя проверьте, сохранились ли его настройки отчётов. В конфигурациях на БСП переименование лучше делать в режиме Предприятия через карточку пользователя, а не в Конфигураторе.
Тонкий клиент и веб-клиент: что остаётся на компьютере
С точки зрения хранения настроек тонкий клиент, толстый клиент и веб-клиент ничем не отличаются. Пользователь меняет отчёт, платформа отправляет настройки на сервер, сервер пишет их в базу. Браузер в веб-клиенте сохраняет только служебные данные сеанса.
Что из этого следует:
- 🌐 Пользователь, который работает то через браузер, то через тонкий клиент, видит одни и те же настройки отчётов.
- 🧹 Очистка кэша браузера или запуск с параметром
/ClearCacheне сбрасывают настройки отчётов. Этот параметр очищает только локальный кэш конфигурации. - 💻 Новый компьютер не требует переноса настроек: достаточно войти в ту же базу под тем же пользователем.
- ☁️ В облачных базах (1С:Фреш и аналоги) настройки так же лежат в базе на стороне сервиса.
Если на одном компьютере отчёт выглядит «правильно», а на другом нет, хотя пользователь тот же, проверьте, та ли это база. Частая причина — в списке баз два пункта с похожими названиями, один из которых указывает на копию.
Как перенести настройки отчётов на другой компьютер или в другую базу
Перенос на другой компьютер внутри одной базы не нужен, это уже понятно. Перенос между пользователями и между базами — другое дело.
Между пользователями одной базы
В конфигурациях на БСП есть обработка настроек пользователей. В БП 3.0 и ЗУП 3.1 она открывается из раздела Администрирование → Настройки пользователей и прав. Там выбирают пользователя, открывают вкладку с настройками отчётов и копируют нужные другим пользователям. Там же настройки можно очистить.
Для общего варианта есть путь проще:
- Откройте отчёт и настройте его.
- Сохраните вариант через меню
Ещёкомандой сохранения варианта. - В окне сохранения укажите, что вариант доступен всем пользователям, а не только автору.
- Коллеги выбирают этот вариант в списке вариантов отчёта.
Между базами
Варианты в справочнике «Варианты отчётов» не переносятся сами при загрузке данных из другой базы. Рабочих способов три:
| Способ | Когда подходит | Ограничения |
|---|---|---|
Выгрузка .dt и загрузка в другую базу | Нужна полная копия базы со всеми настройками | Заменяет всю базу-приёмник целиком |
| Перенос через файл XML из кода | Нужно перенести 1–5 вариантов конкретного отчёта | Нужен доступ к Конфигуратору или внешней обработке |
| Повторная настройка вручную | Вариантов немного, отчёт простой | Долго при сложной структуре |
Для отчётов на системе компоновки данных настройки сериализуются в XML штатно. Фрагмент внешней обработки, которая сохраняет текущие настройки отчёта в файл и загружает их обратно:
// Сохранение: Отчет — объект отчёта на СКД
Процедура СохранитьНастройкиВФайл(Отчет, ИмяФайла)
Настройки = Отчет.КомпоновщикНастроек.ПолучитьНастройки();
Запись = Новый ЗаписьXML;
Запись.ОткрытьФайл(ИмяФайла);
СериализаторXDTO.ЗаписатьXML(Запись, Настройки);
Запись.Закрыть();
КонецПроцедуры
// Загрузка в отчёт другой базы
Процедура ЗагрузитьНастройкиИзФайла(Отчет, ИмяФайла)
Чтение = Новый ЧтениеXML;
Чтение.ОткрытьФайл(ИмяФайла);
Настройки = СериализаторXDTO.ПрочитатьXML(Чтение);
Чтение.Закрыть();
Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
КонецПроцедуры
После загрузки сохраните вариант в базе-приёмнике обычным способом. Если в отчёте другой базы нет каких-то полей (другой релиз конфигурации), платформа отбросит неизвестные поля, остальное загрузится.
Восстановление настроек отчётов после сбоя или обновления
Поскольку настройки лежат в базе, восстанавливаются они вместе с базой. Отдельной резервной копии настроек платформа не делает.
Как достать настройки из резервной копии, не откатывая всю базу
Если пострадали только настройки, а документы за последние дни терять нельзя, действуйте так:
- Разверните резервную копию как отдельную базу. Для файлового варианта — скопируйте
1Cv8.1CDв новый каталог, для клиент-серверного — создайте новую базу на сервере и загрузите в неё.dtили восстановите копию СУБД под другим именем. - Добавьте эту копию в список баз и войдите под нужным пользователем.
- Откройте отчёт с нужным вариантом и сохраните настройки в XML через обработку из предыдущего раздела.
- В рабочей базе загрузите файл в отчёт и сохраните вариант.
- Удалите временную копию, чтобы с ней случайно не начали работать.
Тестирование и исправление информационной базы требует монопольного доступа: всех пользователей придётся вывести из базы. Делайте это вне рабочего времени и только после резервной копии.
Как не терять настройки в будущем
- 💾 Регулярная резервная копия всей базы — единственная настоящая защита настроек.
- 🧾 Важные варианты отчётов для руководства сохраняйте как общие варианты с понятным именем, а не как личную настройку одного бухгалтера.
- 🔤 Не давайте нескольким людям общий логин: настройки будут перезаписываться.
- 📤 Перед крупным обновлением конфигурации выгрузите в XML 3–5 самых сложных вариантов отчётов.