Хранилище вариантов отчетов в 1С 8.3: таблицы базы, справочник БСП, перенос и восстановление
Содержание
Варианты отчетов в 1С 8.3 хранятся в самой информационной базе, а не в файлах на компьютере и не в реестре Windows. Предопределённые варианты зашиты в конфигурацию (в схему компоновки данных отчета), а пользовательские сохраняются в хранилище вариантов отчетов. В типовых конфигурациях на БСП — 1С:Бухгалтерии 3.0, ЗУП 3.1, УТ 11 — это справочник «Варианты отчетов», а в конфигурациях без БСП — системная таблица _RepVarSettings.
Отсюда простое правило. Переустановка платформы, очистка кэша, смена компьютера или вход через веб-клиент варианты не стирают. Они пропадают только вместе с базой, при смене пользователя или при изменениях самой конфигурации.
Три места, где живут варианты отчетов
Сначала разделите варианты по происхождению — от этого зависит, где их искать.
| Вид варианта | Где хранится | Кто меняет |
|---|---|---|
| 📦 Предопределённый (поставочный) | В конфигурации: схема компоновки данных отчета, раздел вариантов | Разработчик в Конфигураторе |
| 👤 Пользовательский, конфигурация на БСП | Справочник ВариантыОтчетов в базе | Пользователь из формы отчета |
| 👤 Пользовательский, конфигурация без БСП | Системное хранилище, таблица _RepVarSettings | Пользователь из формы отчета |
| ⚙️ Текущие настройки отчета (отборы, последнее состояние) | Таблица _RepSettings | Платформа автоматически |
Последняя строка важна. Пользователь часто путает «вариант» и «настройки». Вариант — это сохранённая под своим именем схема: группировки, поля, отборы, оформление. Настройки — то, что платформа запоминает между открытиями отчета: последний выбранный вариант, период, быстрые отборы.
Какой механизм в вашей базе, видно в Конфигураторе. Откройте корень конфигурации, затем свойства — в группе хранилищ есть свойство «Хранилище вариантов отчетов». Пустое значение — работает стандартное хранилище платформы. Указан объект — хранение переопределено, в типовых это хранилище БСП.
У каждого отчета есть и собственные свойства «Хранилище вариантов» и «Хранилище настроек». Если они заполнены, отчет игнорирует общее свойство конфигурации и пишет в указанное хранилище.
Системные таблицы: что лежит в самой базе
Платформа держит все пользовательские настройки в служебных таблицах информационной базы. В клиент-серверном варианте это таблицы СУБД (MS SQL, PostgreSQL), в файловом — внутри файла 1Cv8.1CD.
Основные таблицы с настройками:
- 🗂
_RepVarSettings— варианты отчетов стандартного хранилища; - 🗂
_RepSettings— пользовательские настройки отчетов; - 🗂
_CommonSettings— общее хранилище настроек; - 🗂
_SystemSettings— системные настройки (интерфейс, положение окон); - 🗂
_FrmDtSettings— данные форм; - 🗂
_DynListSettings— настройки динамических списков.
Внутри записей настройки лежат в сериализованном и сжатом виде. Прочитать их SQL-запросом напрямую нельзя: в поле не человекочитаемый XML, а двоичные данные. Ключи записей привязаны к имени пользователя и к ключу объекта вида Отчет.ИмяОтчета.
Не правьте и не удаляйте строки в этих таблицах средствами СУБД. Фирма 1С не поддерживает прямое изменение базы в обход платформы, а ошибка в одной записи может привести к падению формы отчета у пользователя. Для работы с настройками есть штатные средства и встроенный язык — о них ниже.
Справочник «Варианты отчетов» в типовых конфигурациях
В конфигурациях на БСП хранение устроено иначе. Каждый пользовательский вариант — элемент справочника ВариантыОтчетов с реквизитами: отчет, автор, ключ варианта, признак пользовательского варианта, сами настройки в хранилище значения. Поставочные варианты описаны в справочнике ПредопределенныеВариантыОтчетов, его заполняет конфигурация при обновлении.
Это даёт два плюса. Вариант можно найти обычным списком, отобрать по автору и отчету. И перенести его можно как обычные данные, а не как системную запись.
Файлы на диске и реестр Windows: что там нет вариантов
Варианты на компьютере пользователя не хранятся. Это главная мысль, которую стоит донести до сотрудников, переходящих на новый ноутбук.
Что на самом деле лежит на диске клиента:
- 📁
%APPDATA%\1C\1cv8\— список базibases.v8iи настройки запуска; - 📁
%LOCALAPPDATA%\1C\1cv8\— кэш конфигурации по каждой базе (папки с GUID); - 📁 каталог файловой базы — сам
1Cv8.1CD, в котором и находятся варианты.
Кэш можно очистить параметром запуска /ClearCache или удалением папок с GUID при закрытой 1С. Варианты отчетов от этого не пострадают. Пропадёт только локальный кэш, его клиент загрузит заново.
Реестр Windows платформа 1С:Предприятие 8.3 для пользовательских настроек отчетов не использует. Поиск «скрытых вариантов» в HKEY_CURRENT_USER ничего не даст.
Исключение — внешние отчеты (.erf). Сам файл лежит на диске, но его варианты платформа тоже сохраняет в базу, по ключу с именем отчета. Скопировали файл на другой компьютер и подключили к той же базе — варианты на месте. Подключили к другой базе — их там нет.
Конфигуратор: управление поставочными вариантами
Предопределённые варианты меняют в Конфигураторе, и это единственный способ сделать вариант общим для всех баз, которые обновляются от одной конфигурации.
Порядок действий:
- Откройте
Конфигурация → Открыть конфигурацию. - В дереве метаданных найдите нужный отчет в ветке «Отчеты».
- Откройте основную схему компоновки данных отчета.
- Перейдите на закладку «Настройки». В верхней части — список вариантов.
- Добавьте вариант, задайте имя и представление, настройте группировки и поля.
- Сохраните конфигурацию и обновите конфигурацию базы данных.
В типовой конфигурации так делать не стоит: при следующем обновлении правки придётся переносить вручную. Правильнее вынести вариант в расширение конфигурации (расширения есть с платформы 8.3.6) или сохранить его как пользовательский с общим доступом.
В конфигурациях на БСП администратор управляет вариантами и без Конфигуратора. Список открывается в разделе Администрирование → Печатные формы, отчеты и обработки → Варианты отчетов. Там видно автора, отчет, доступность другим пользователям. Вариант можно пометить на удаление, а пометку — снять.
1С:Fresh и облачные базы
В 1С:Fresh и сервисах на его технологии варианты хранятся так же — в базе. Разница в том, что база общая для многих абонентов и разделена на области данных. Ваши варианты лежат в вашей области и другим абонентам недоступны.
Что это значит на практике:
- ☁️ доступа к таблицам СУБД и Конфигуратору у абонента нет — только формы приложения;
- ☁️ после обновления приложения провайдером поставочные варианты обновляются автоматически;
- ☁️ пользовательские варианты переносятся вместе с выгрузкой данных приложения, которую сервис делает для перехода в локальную базу или обратно.
При аренде 1С на удалённом сервере (RDP, своя база у хостера) всё работает как в обычной клиент-серверной базе. Варианты — в базе на сервере хостера, не на вашем компьютере.
Перенос вариантов отчетов в другую базу
Способ зависит от того, на БСП конфигурация или нет, и от того, переносите вы всё или пару вариантов.
| Способ | Когда подходит | Риск |
|---|---|---|
Выгрузка базы .dt и загрузка в новую | Переезд базы целиком | Затирает все данные приёмника |
Перенос элементов справочника ВариантыОтчетов обработкой выгрузки XML | Типовая на БСП, нужно несколько вариантов | Нужна одинаковая структура отчетов и пользователи-авторы в приёмнике |
| Повторное сохранение вручную | 1–3 варианта | Только время |
| Код через хранилище вариантов | Много вариантов, конфигурация без БСП | Нужен программист |
Пошагово: перенос между двумя типовыми базами
- Сделайте резервную копию базы
-приёмника — выгрузку
.dtчерезАдминистрирование → Выгрузить информационную базув Конфигураторе. - Проверьте, что релизы конфигураций совпадают. Если в источнике отчет новее, вариант в приёмнике может не открыться.
- Убедитесь, что в приёмнике есть пользователи-авторы. Если их нет, назначьте автором администратора — иначе вариант окажется «ничьим».
- В источнике выгрузите нужные элементы справочника
ВариантыОтчетовуниверсальной обработкой выгрузки и загрузки данных XML. - Загрузите файл в приёмник той же обработкой.
- Откройте отчет и выберите вариант через команду выбора варианта в форме отчета.
Для одного-двух вариантов проще открыть отчет в обеих базах рядом и повторить настройку. Это 5 минут, и никаких рисков с идентификаторами.
Что проверить после переноса
Перенесённый вариант мало увидеть в списке. Его нужно открыть и сформировать хотя бы раз.
- ✅ отчет формируется без сообщения об ошибке настроек;
- ✅ группировки и колонки совпадают с источником;
- ✅ отборы по справочникам заполнены: если в приёмнике нет того же контрагента или склада, отбор окажется пустым или битым;
- ✅ автор варианта — существующий пользователь приёмника;
- ✅ коллеги видят вариант, если он задумывался как общий.
Отборы по конкретным элементам справочников — самое слабое место переноса. Вариант хранит ссылку на объект, а не его название. Если в базе-приёмнике тот же контрагент заведён заново, ссылка не совпадёт, и отбор придётся выбрать повторно.
Внутри одной базы переносить варианты не нужно. Достаточно при сохранении снять ограничение «только для автора» — тогда вариант увидят все пользователи с правом на отчет. Копировать личные настройки между пользователями позволяет раздел Администрирование → Настройки пользователей и прав, команда работы с настройками пользователей.
Почему вариант отчета пропал и где его искать
Если вариант «исчез», почти всегда он в базе, но не виден текущему пользователю. Проверяйте причины по порядку.
Чтобы не терять варианты, держите регламентное резервное копирование базы и не переименовывайте пользователей без нужды. Перед обновлением доработанной конфигурации составьте список важных вариантов: так проще проверить их после обновления.
Автоматизация: выборка и обслуживание вариантов кодом
Для аудита удобно получить список всех пользовательских вариантов одним запросом. В конфигурации на БСП выполните его в консоли запросов (внешняя обработка):
ВЫБРАТЬ
ВариантыОтчетов.Наименование КАК Вариант,
ВариантыОтчетов.Отчет КАК Отчет,
ВариантыОтчетов.Автор КАК Автор,
ВариантыОтчетов.КлючВарианта КАК Ключ,
ВариантыОтчетов.ПометкаУдаления КАК Помечен
ИЗ
Справочник.ВариантыОтчетов КАК ВариантыОтчетов
ГДЕ
ВариантыОтчетов.Пользовательский
УПОРЯДОЧИТЬ ПО
Автор,
Отчет
Результат покажет, сколько вариантов у каждого сотрудника, какие помечены на удаление и чьи варианты останутся без автора после увольнения.
В конфигурации без БСП работают со стандартным хранилищем через свойство глобального контекста ХранилищеВариантовОтчетов. Пример: вывести список
вариантов одного отчета текущего пользователя.
КлючОбъекта = "Отчет.ОборотноСальдоваяВедомость";
Список = ХранилищеВариантовОтчетов.ПолучитьСписок(КлючОбъекта);
Для Каждого Элемент Из Список Цикл
Сообщить(СтрШаблон("Ключ: %1, описание: %2",
Элемент.Значение, Элемент.Представление));
КонецЦикла;
У хранилища есть также методы Загрузить, Сохранить и Удалить. С их помощью можно скопировать вариант от одного пользователя другому: загрузить его по ключу, затем сохранить с другим именем пользователя. Работать с чужими настройками может только пользователь с административными правами.
Массовое удаление или перезапись вариантов кодом проверяйте на копии базы. Ошибка в ключе объекта затронет варианты всех пользователей сразу.
Что ещё стоит автоматизировать:
- 🔁 регламентное задание, которое раз в месяц выгружает список пользовательских вариантов для контроля;
- 🔁 перенос вариантов уволенного сотрудника на руководителя отдела до отключения учётной записи;
- 🔁 проверку после обновления: открывается ли каждый важный вариант без ошибок.
Частые вопросы
Сохранятся ли варианты отчетов, если перейти с файловой базы на клиент-серверную?
.dt все служебные таблицы с настройками переносятся вместе с данными.