Хранилище вариантов отчетов в 1С 8.3: таблицы базы, справочник БСП, перенос и восстановление

· 9 мин

Содержание

Варианты отчетов в 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). Сам файл лежит на диске, но его варианты платформа тоже сохраняет в базу, по ключу с именем отчета. Скопировали файл на другой компьютер и подключили к той же базе — варианты на месте. Подключили к другой базе — их там нет.

Конфигуратор: управление поставочными вариантами

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

Порядок действий:

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

В типовой конфигурации так делать не стоит: при следующем обновлении правки придётся переносить вручную. Правильнее вынести вариант в расширение конфигурации (расширения есть с платформы 8.3.6) или сохранить его как пользовательский с общим доступом.

В конфигурациях на БСП администратор управляет вариантами и без Конфигуратора. Список открывается в разделе Администрирование → Печатные формы, отчеты и обработки → Варианты отчетов. Там видно автора, отчет, доступность другим пользователям. Вариант можно пометить на удаление, а пометку — снять.

1С:Fresh и облачные базы

В 1С:Fresh и сервисах на его технологии варианты хранятся так же — в базе. Разница в том, что база общая для многих абонентов и разделена на области данных. Ваши варианты лежат в вашей области и другим абонентам недоступны.

Что это значит на практике:

  • ☁️ доступа к таблицам СУБД и Конфигуратору у абонента нет — только формы приложения;
  • ☁️ после обновления приложения провайдером поставочные варианты обновляются автоматически;
  • ☁️ пользовательские варианты переносятся вместе с выгрузкой данных приложения, которую сервис делает для перехода в локальную базу или обратно.

При аренде 1С на удалённом сервере (RDP, своя база у хостера) всё работает как в обычной клиент-серверной базе. Варианты — в базе на сервере хостера, не на вашем компьютере.

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

Способ зависит от того, на БСП конфигурация или нет, и от того, переносите вы всё или пару вариантов.

СпособКогда подходитРиск
Выгрузка базы .dt и загрузка в новуюПереезд базы целикомЗатирает все данные приёмника
Перенос элементов справочника ВариантыОтчетов обработкой выгрузки XMLТиповая на БСП, нужно несколько вариантовНужна одинаковая структура отчетов и пользователи-авторы в приёмнике
Повторное сохранение вручную1–3 вариантаТолько время
Код через хранилище вариантовМного вариантов, конфигурация без БСПНужен программист

Пошагово: перенос между двумя типовыми базами

  1. Сделайте резервную копию базы -приёмника — выгрузку .dt через Администрирование → Выгрузить информационную базу в Конфигураторе.
  2. Проверьте, что релизы конфигураций совпадают. Если в источнике отчет новее, вариант в приёмнике может не открыться.
  3. Убедитесь, что в приёмнике есть пользователи-авторы. Если их нет, назначьте автором администратора — иначе вариант окажется «ничьим».
  4. В источнике выгрузите нужные элементы справочника ВариантыОтчетов универсальной обработкой выгрузки и загрузки данных XML.
  5. Загрузите файл в приёмник той же обработкой.
  6. Откройте отчет и выберите вариант через команду выбора варианта в форме отчета.

Для одного-двух вариантов проще открыть отчет в обеих базах рядом и повторить настройку. Это 5 минут, и никаких рисков с идентификаторами.

Что проверить после переноса

Перенесённый вариант мало увидеть в списке. Его нужно открыть и сформировать хотя бы раз.

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

Отборы по конкретным элементам справочников — самое слабое место переноса. Вариант хранит ссылку на объект, а не его название. Если в базе-приёмнике тот же контрагент заведён заново, ссылка не совпадёт, и отбор придётся выбрать повторно.

Внутри одной базы переносить варианты не нужно. Достаточно при сохранении снять ограничение «только для автора» — тогда вариант увидят все пользователи с правом на отчет. Копировать личные настройки между пользователями позволяет раздел Администрирование → Настройки пользователей и прав, команда работы с настройками пользователей.

Почему вариант отчета пропал и где его искать

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

Диагностика: выберите симптом

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

Автоматизация: выборка и обслуживание вариантов кодом

Для аудита удобно получить список всех пользовательских вариантов одним запросом. В конфигурации на БСП выполните его в консоли запросов (внешняя обработка):

ВЫБРАТЬ
    ВариантыОтчетов.Наименование КАК Вариант,
    ВариантыОтчетов.Отчет КАК Отчет,
    ВариантыОтчетов.Автор КАК Автор,
    ВариантыОтчетов.КлючВарианта КАК Ключ,
    ВариантыОтчетов.ПометкаУдаления КАК Помечен
ИЗ
    Справочник.ВариантыОтчетов КАК ВариантыОтчетов
ГДЕ
    ВариантыОтчетов.Пользовательский
УПОРЯДОЧИТЬ ПО
    Автор,
    Отчет

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

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

КлючОбъекта = "Отчет.ОборотноСальдоваяВедомость";
Список = ХранилищеВариантовОтчетов.ПолучитьСписок(КлючОбъекта);
Для Каждого Элемент Из Список Цикл
    Сообщить(СтрШаблон("Ключ: %1, описание: %2",
        Элемент.Значение, Элемент.Представление));
КонецЦикла;

У хранилища есть также методы Загрузить, Сохранить и Удалить. С их помощью можно скопировать вариант от одного пользователя другому: загрузить его по ключу, затем сохранить с другим именем пользователя. Работать с чужими настройками может только пользователь с административными правами.

Массовое удаление или перезапись вариантов кодом проверяйте на копии базы. Ошибка в ключе объекта затронет варианты всех пользователей сразу.

Что ещё стоит автоматизировать:

  • 🔁 регламентное задание, которое раз в месяц выгружает список пользовательских вариантов для контроля;
  • 🔁 перенос вариантов уволенного сотрудника на руководителя отдела до отключения учётной записи;
  • 🔁 проверку после обновления: открывается ли каждый важный вариант без ошибок.

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

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