Варианты и пользовательские настройки отчётов в 1С 8.3: где лежат, как найти, перенести и вернуть
Содержание
Настройки отчётов в 1С 8.3 хранятся не в файлах на компьютере пользователя, а внутри самой информационной базы — в системных хранилищах настроек. В файловой базе это таблицы внутри 1Cv8.1CD, в клиент-серверной — таблицы _RepVarSettings, _RepSettings, _SystemSettings, _CommonSettings в базе SQL. В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) варианты отчётов дополнительно лежат в справочнике «Варианты отчетов».
Поэтому очистка кэша, переустановка платформы или вход с другого компьютера настройки отчётов не трогают. А вот загрузка старой выгрузки .dt, переименование пользователя или смена схемы отчёта после обновления — трогают. Разберём, где что лежит физически, как это увидеть и как вернуть потерянное.
Из чего состоят настройки отчёта в 1С
Слово «настройки» в 1С означает несколько разных вещей. Хранятся они в разных местах, и путаница здесь — главная причина неудачных поисков.
| Что | Пример | Где хранится |
|---|---|---|
| 📐 Схема отчёта (СКД) | Поля, наборы данных, запрос | Макет внутри конфигурации |
| 🗂 Вариант отчёта | «ОСВ по счёту 60 с субконто» | Хранилище вариантов отчётов |
| 👤 Пользовательские настройки | Период, отбор по организации | Хранилище пользовательских настроек отчётов |
| 🖥 Настройки формы | Размер окна, свёрнутые группы | Хранилище системных настроек |
| ⚙️ Прочие сохранённые значения | Последний выбранный счёт | Хранилище общих настроек |
Схема — это «чертёж»: что отчёт умеет показывать. Вариант — сохранённая компоновка: какие группировки, поля и отборы включены. Пользовательские настройки — то, что человек меняет в шапке отчёта перед каждым формированием (период, организация, быстрые отборы).
💡 Если пропал именно вариант («был мой отчёт, а теперь его нет в списке»), ищите в хранилище вариантов. Если «слетел период и отбор» — это пользовательские настройки, они живут отдельно.
Где 1С хранит пользовательские варианты отчётов
Платформа 8.3 предоставляет пять стандартных хранилищ. Конфигурация может подменить любое из них своим объектом метаданных «Хранилище настроек» — так и сделано в типовых решениях.
Типовые конфигурации на БСП
В Бухгалтерии 3.0, ЗУП 3.1, УТ 11, КА 2 и ERP хранилище вариантов переопределено. Варианты отчётов записываются в справочник «Варианты отчетов»: у каждого элемента есть ссылка на отчёт, ключ варианта, автор, признак «Только для автора» и сами настройки в реквизите типа «Хранилище значения».
Посмотреть список вариантов в пользовательском режиме можно здесь:
- Откройте
Администрирование → Печатные формы, отчеты и обработки. - Перейдите по ссылке «Варианты отчетов».
- Найдите нужный отчёт по названию и разверните список его вариантов.
- В карточке варианта видно, кто его создал и кому он доступен.
Пользовательские настройки (период, отборы) в БСП обычно остаются в стандартном хранилище платформы, то есть в системной таблице, а не в справочнике.
Нетиповые и самописные конфигурации
Если в свойствах конфигурации поле «Хранилище вариантов отчетов» пустое, работает стандартное хранилище платформы. Проверить это можно в Конфигураторе: откройте свойства корня конфигурации и найдите группу свойств хранилищ настроек. Там же указаны хранилища пользовательских настроек отчётов, общих и системных настроек.
Привязка к пользователю
Каждая запись в хранилище содержит имя пользователя информационной базы. Отсюда два практических следствия:
- 🔑 Настройки привязаны к имени пользователя, а не к компьютеру. Зашли под тем же логином на другом ПК — настройки на месте.
- ⚠️ После переименования пользователя в Конфигураторе старые записи могут перестать подхватываться. Типовые конфигурации при правке пользователя через справочник «Пользователи» обычно переносят настройки сами, а прямое переименование в Конфигураторе этот механизм обходит.
Системные таблицы базы: где лежат настройки отчётов физически
Для администратора и разработчика полезно знать, в каких таблицах СУБД это хранится. В файловой базе те же таблицы находятся внутри файла 1Cv8.1CD — увидеть их можно сторонними просмотрщиками формата 1CD, но не средствами Windows.
| Таблица | Хранилище | Что внутри |
|---|---|---|
_RepVarSettings | Варианты отчётов (стандартное) | Сохранённые варианты |
_RepSettings | Пользовательские настройки отчётов | Период, отборы, параметры |
_SystemSettings | Системные настройки | Формы, окна, интерфейс |
_CommonSettings | Общие настройки | Произвольные значения от кода |
_FrmDtSettings | Настройки данных форм | Сохраняемые значения реквизитов форм |
Основные колонки у этих таблиц похожи: _UserId (имя пользователя), _ObjectKey (например, Отчет.ОборотноСальдоваяВедомость), _SettingsKey, _SettingsPresentation и _SettingsData — сами данные в сжатом двоичном виде.
Справочник «Варианты отчетов» из БСП хранится в обычной таблице справочника вида _Reference123 — номер у каждой базы свой. Узнать его можно через метод ПолучитьСтруктуруХраненияБазыДанных() или обработку просмотра структуры хранения.
Посчитать, у кого сколько записей, можно запросом только на чтение:
SELECT _UserId, COUNT(*) AS cnt
FROM _RepSettings
GROUP BY _UserId
ORDER BY cnt DESC;
Не изменяйте и не удаляйте строки в таблицах 1С напрямую через SQL. Платформа не узнает об изменениях, данные в _SettingsData всё равно не прочитать без распаковки, а запись в обход платформы может нарушить целостность базы. Для чтения и диагностики — можно, для правки — только средствами 1С.
Где лежат файлы схем СКД и внешних отчётов
Файлов настроек на диске пользователя нет. Но есть файлы, в которых живут сами отчёты и их схемы.
Отчёты конфигурации
Схема компоновки данных — это макет внутри объекта «Отчёт», обычно с именем ОсновнаяСхемаКомпоновкиДанных. Физически она хранится в составе конфигурации: в файловой базе — внутри 1Cv8.1CD, в SQL — в таблицах Config и ConfigSave. В файле выгрузки .cf она тоже есть, отдельным файлом её не достать.
В схеме можно задать варианты по умолчанию (предопределённые). Именно их пользователь видит в списке, пока не сохранил свои.
При выгрузке конфигурации в файлы схема ложится по понятному пути:
| Формат выгрузки | Путь к схеме |
|---|---|
| Конфигуратор, «Выгрузить конфигурацию в файлы» | Reports/ИмяОтчета/Templates/ИмяМакета/Ext/Template.xml |
| Проект 1С:EDT | src/Reports/ИмяОтчета/Templates/ИмяМакета/Template.dcs |
Внешние отчёты
Внешний отчёт — это файл .erf. Его схема и предопределённые варианты зашиты внутри файла. Где он лежит, решает тот, кто его сохранил: сетевая папка, рабочий стол, папка обмена.
В типовых конфигурациях внешние отчёты чаще подключают через Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки. Тогда файл копируется в базу, и пользовательские варианты такого отчёта хранятся там же, где и у встроенных.
Папка профиля пользователя
В %APPDATA%\1C\1cv8\ и %LOCALAPPDATA%\1C\1cv8\ лежат кэш конфигурации и служебные файлы клиента. Удаление этих папок (или запуск с параметром /ClearCache) варианты и настройки отчётов не удаляет — они в базе. Это удобно: при «глюках» формы отчёта кэш можно чистить смело, предварительно закрыв 1С у этого пользователя.
Как вернуть потерянные настройки отчётов
Порядок действий зависит от того, что именно пропало.
Перенос настроек между пользователями
В типовых конфигурациях есть обработка «Настройки пользователей». Её открывают из Администрирование → Настройки пользователей и прав — ссылка на персональные настройки пользователей.
- Выберите пользователя-источника.
- На вкладке «Настройки отчетов» отметьте нужные отчёты.
- Нажмите «Копировать» и укажите получателей.
- Попросите получателя перезайти в программу.
Той же обработкой можно очистить настройки, если отчёт у конкретного человека открывается с ошибкой.
Восстановление из резервной копии
Подменять рабочую базу копией ради одного отчёта нельзя — пропадут документы, введённые после копирования. Правильный порядок:
- Загрузите резервную копию в новую пустую базу.
- Зайдите в неё под тем же пользователем и убедитесь, что вариант на месте.
- Выгрузите настройки варианта в XML кодом (раздел ниже) и загрузите их в рабочую базу.
- Для БСП-конфигураций можно перенести и сам элемент справочника «Варианты отчетов» стандартной выгрузкой в XML — так переедут автор и доступ.
Настройки отчётов в 1С:Фреш, облаке и EDT
1С:Фреш и другие сервисы на его основе
В сервисе база одна на многих абонентов, данные разделены по областям. Настройки отчётов хранятся так же, как в обычной базе, но в области данных вашего абонента. Доступа к SQL нет, поэтому всё делается в интерфейсе:
- 🗂 варианты — через «Варианты отчетов» в разделе администрирования;
- 👥 перенос между пользователями — обработкой «Настройки пользователей»;
- 💾 откат — восстановлением области из резервной копии в менеджере сервиса. Он откатывает всю базу, а не только отчёты.
Удобнее выгрузить приложение в файл, развернуть его локально и забрать нужный вариант там.
Аренда сервера (RDP, «1С в облаке» у партнёров)
Это обычная клиент-серверная или файловая база, просто на чужом сервере. Всё сказанное про таблицы и .1CD верно, но доступ к SQL и файлам есть только у провайдера. Обращайтесь к нему за копией базы на нужную дату.
1С:EDT
EDT — среда разработки, настроек пользователей в ней нет. В проекте лежат только схема СКД и предопределённые варианты в файле Template.dcs. Всё, что пользователи сохранили в рабочей базе, живёт в базе и в репозиторий не попадает. При обновлении конфигурации из EDT пользовательские варианты остаются нетронутыми, если не менялся ключ варианта и имя отчёта.
Работа с настройками отчётов из кода
Все хранилища имеют одинаковый набор методов: Сохранить, Загрузить, Удалить, ПолучитьСписок. Через них и надо работать, а не через SQL.
Посмотреть, какие варианты сохранены
Ключи объекта бывают разными в разных конфигурациях, поэтому начните с получения списка:
Список = ХранилищеВариантовОтчетов.ПолучитьСписок("Отчет.ОборотноСальдоваяВедомость", "Иванова");
Для Каждого Элемент Из Список Цикл
Сообщить(Элемент.Значение + " — " + Элемент.Представление);
КонецЦикла;
В списке значение — ключ настроек, представление — имя варианта, которое видит пользователь.
Выгрузить вариант в файл и загрузить обратно
Настройки компоновки сериализуются в XML через XDTO. Код выполняется на сервере:
// В базе-источнике
Настройки = ХранилищеВариантовОтчетов.Загрузить("Отчет.ОборотноСальдоваяВедомость", "КлючВарианта", , "Иванова");
Запись = Новый ЗаписьXML;
Запись.ОткрытьФайл("C:\Temp\variant.xml");
СериализаторXDTO.ЗаписатьXML(Запись, Настройки, НазначениеТипаXML.Явное);
Запись.Закрыть();
// В базе-приёмнике
Чтение = Новый ЧтениеXML;
Чтение.ОткрытьФайл("C:\Temp\variant.xml");
Настройки = СериализаторXDTO.ПрочитатьXML(Чтение);
Чтение.Закрыть();
ХранилищеВариантовОтчетов.Сохранить("Отчет.ОборотноСальдоваяВедомость", "КлючВарианта", Настройки, , "Иванова");
Подставьте ключ варианта из ПолучитьСписок. Если Загрузить вернул Неопределено — ключ или имя пользователя указаны неверно.
💡 В конфигурациях на БСП прямую запись в хранилище вариантов лучше заменить штатными механизмами (справочник и обработка настроек): там вокруг варианта есть служебные реквизиты, и «голая» запись может не показаться в интерфейсе.
Очистить все настройки пользователя
Метод Удалить принимает Неопределено вместо ключей — тогда стираются все записи пользователя в этом хранилище:
ХранилищеПользовательскихНастроекОтчетов.Удалить(Неопределено, Неопределено, "Иванова");
Это необратимо. Выполняйте, когда пользователь вышел из программы: открытые формы при закрытии запишут свои настройки заново.
Почему настройки не сохраняются: разбор частых случаев
Ещё один частый случай — общий логин на нескольких сотрудников. Каждый меняет вариант под себя и сохраняет поверх. Решение простое: отдельный пользователь каждому человеку. Совместно используемые варианты оформляйте как общие, а личные — с флажком «Только для автора».
Частые вопросы
Можно ли найти настройки отчётов в папке на компьютере пользователя?
Сохранятся ли варианты отчётов после обновления конфигурации?
Переедут ли настройки при выгрузке базы в .dt?
.dt содержит все хранилища настроек, в том числе варианты отчётов всех пользователей.Попадают ли пользовательские настройки в файл .cf?
.cf только конфигурация: схемы СКД и предопределённые варианты. Пользовательских данных там нет.