Варианты отчетов в 1С 8.3: в какой таблице они лежат и как их перенести

· 9 мин

Содержание

Варианты отчетов в 1С 8.3 хранятся внутри самой информационной базы, а не в отдельных файлах на компьютере. В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11, КА, ERP) это справочник Варианты отчетов. В файловой базе он физически лежит в файле 1Cv8.1CD, в клиент-серверной — в одной из таблиц SQL-базы. Если конфигурация не задаёт своё хранилище, платформа пишет варианты в служебную таблицу стандартного хранилища.

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

Как устроено хранение: два механизма

Вариант отчета — это сохранённые настройки компоновки данных: отборы, группировки, поля, оформление. Платформа сохраняет их через объект ХранилищеВариантовОтчетов. Куда он пишет, решает конфигурация.

МеханизмГде лежат данныеГде встречается
Стандартное хранилище платформыСлужебная таблица базы (в SQL — _RepVarSettings)Простые и самописные конфигурации без БСП
Хранилище БСПСправочник Варианты отчетов (в SQL — таблица вида _ReferenceNNN)Все современные типовые: БП 3.0, ЗУП 3.1, УТ 11, КА 2, ERP

Рядом с вариантами есть ещё один слой — пользовательские настройки отчета. Это то, что вы поменяли «на лету» в форме: период, отбор по организации. Они хранятся отдельно, в хранилище пользовательских настроек отчетов (служебная таблица _ReportsSettings). Поэтому вариант может быть на месте, а «последние настройки» сброситься.

Что точно не является местом хранения вариантов:

  • 🚫 папка %APPDATA%\1C\1cv8\ и %LOCALAPPDATA%\1C\1cv8\ — там кэш конфигурации и локальные настройки клиента;
  • 🚫 файлы .pfl в профиле пользователя — это настройки запуска и списка баз;
  • 🚫 папка с внешними отчетами .erf — сам файл отчета не содержит ваших вариантов.

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

Варианты отчетов в файловой базе

В файловом режиме вся база — это один файл 1Cv8.1CD в каталоге базы. Путь к каталогу видно в окне запуска: выделите базу в списке, внизу появится строка вида File="D:\Bases\Buh".

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

  1. Скопировать только варианты, взяв какой-то файл из каталога базы, нельзя.
  2. Копия 1Cv8.1CD (при закрытой базе) или выгрузка .dt сохраняет варианты вместе со всем остальным.
  3. Восстановление базы из копии возвращает варианты на дату копии. Всё, что сохранили позже, пропадёт.

Читать 1Cv8.1CD сторонними утилитами и тем более править его — плохая идея. Формат закрытый, настройки внутри сжаты и сериализованы. Достать вариант можно только средствами самой 1С.

Не копируйте 1Cv8.1CD, пока в базе работают пользователи. Получится повреждённая копия. Сначала завершите сеансы или сделайте выгрузку .dt через Конфигуратор: Администрирование → Выгрузить информационную базу.

Где лежат варианты в клиент-серверной базе на SQL

В клиент-серверном режиме база живёт на MS SQL Server или PostgreSQL. Имена таблиц там обезличены: _Reference123, _Fld4567. Чтобы понять, какая таблица соответствует справочнику Варианты отчетов, есть штатная функция платформы.

Как найти имя таблицы справочника

Выполните в любой внешней обработке или через консоль кода код на сервере:

Структура = ПолучитьСтруктуруХраненияБазыДанных(, Истина);
Для Каждого Строка Из Структура Цикл
    Если Строка.Метаданные = "Справочник.ВариантыОтчетов" И Строка.Назначение = "Основная" Тогда
        Сообщить(Строка.ИмяТаблицыХранения);
        Для Каждого Поле Из Строка.Поля Цикл
            Сообщить("  " + Поле.ИмяПоля + " = " + Поле.ИмяПоляХранения);
        КонецЦикла;
    КонецЕсли;
КонецЦикла;

Второй параметр Истина возвращает имена на уровне СУБД, то есть ровно то, что увидит администратор в SQL Management Studio или pgAdmin.

Что увидит администратор СУБД

  • 📦 Таблица справочника: одна строка — один вариант.
  • 🔑 Ссылка на отчет хранится как ссылка на справочник идентификаторов объектов метаданных, а не текстом.
  • 🗜️ Сами настройки лежат в двоичном поле (тип image/varbinary в MS SQL, bytea в PostgreSQL) в сжатом виде.

Служебные таблицы стандартных хранилищ (_RepVarSettings, _ReportsSettings, _CommonSettings) называются одинаково во всех базах. В них ключ объекта и ключ настроек записаны строкой, а значение — тоже двоичное.

Не меняйте эти таблицы SQL-запросами напрямую. Платформа ведёт кэши и версии данных, прямая запись в обход 1С ломает целостность. К тому же лицензионное соглашение 1С запрещает прямое изменение данных базы средствами СУБД. Чтение для диагностики — допустимо, изменение — только через 1С.

Для резервной копии вариантов на SQL-сервере достаточно обычного бэкапа базы средствами СУБД. Отдельно сохранять «таблицу с отчетами» нет смысла: восстановить её одну корректно всё равно не получится.

Облако 1С:Fresh и 1С:Готовое рабочее место

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

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

  • 🔒 Доступа к SQL или файлу базы у пользователя нет и не будет.
  • 💾 Выгрузка приложения в файл из личного кабинета сервиса забирает данные области, включая пользовательские варианты.
  • 🔄 Перенос варианта из облака в локальную базу и обратно делают теми же способами, что и между локальными базами: через перенос настроек (см. следующий раздел).

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

Как найти и скопировать варианты отчетов вручную

Посмотреть все варианты в базе

В конфигурациях на БСП есть список вариантов отчетов. В БП 3.0 он открывается из раздела Администрирование → Печатные формы, отчеты и обработки, ссылка «Варианты отчетов». В других конфигурациях найдите его через поиск по интерфейсу: начните вводить «варианты отчетов» в строке поиска.

В списке видно наименование, отчет, автора и признак доступности. Отберите по автору — и сразу видно, что сохранял конкретный сотрудник.

Список можно получить и запросом, например во внешней консоли запросов:

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

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

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

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

Готовой кнопки «выгрузить вариант в файл» в типовых конфигурациях может не быть — зависит от версии БСП. Рабочие способы:

СпособКогда подходитРиски
Пересоздать вариант руками по образцу1-3 варианта с простыми настройкамиМожно упустить отбор или оформление
Выгрузка/загрузка XML справочника Варианты отчетов обработкой обменаБазы одной конфигурации и близких релизовСсылки на автора и отчет должны совпасть, иначе вариант «повиснет»
Сериализация настроек кодом во внешнюю обработкуМного вариантов, разные базыНужен программист, проверка на копии

Для программного способа берут настройки из хранилища и пишут их в XML. Пример для одного варианта:

// Выгрузка настроек варианта в файл (выполнять на сервере)
Настройки = ХранилищеВариантовОтчетов.Загрузить("Отчет.ОборотноСальдоваяВедомость", КлючВарианта);
Если Настройки <> Неопределено Тогда
    Запись = Новый ЗаписьXML;
    Запись.ОткрытьФайл(ПутьКФайлу);
    СериализаторXDTO.ЗаписатьXML(Запись, Настройки, НазначениеТипаXML.Явное);
    Запись.Закрыть();
КонецЕсли;

В целевой базе файл читают через СериализаторXDTO.ПрочитатьXML и сохраняют методом ХранилищеВариантовОтчетов.Сохранить с тем же ключом объекта. Ключ варианта (КлючВарианта) берут из одноимённого реквизита справочника Варианты отчетов. Имя отчета в ключе объекта должно точно совпадать с именем объекта метаданных в конфигураторе.

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

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

Восстановление из резервной копии

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

  1. Разверните копию (.dt или бэкап SQL) в отдельную новую базу.
  2. Найдите в ней нужный вариант в списке «Варианты отчетов».
  3. Перенесите его в рабочую базу одним из способов из таблицы выше.

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

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

В БСП есть обработка «Настройки пользователей» (Администрирование → Настройки пользователей и прав). Она умеет копировать и очищать настройки, в том числе настройки отчетов. Перед очисткой посмотрите, какие группы настроек отмечены. Очистка настроек отчетов у сотрудника сбрасывает то, что он настраивал под себя, и вернуть это можно только из копии базы.

Автоматизация работы с вариантами

Когда вариантов десятки и ими пользуется весь отдел, ручной перенос превращается в рутину. Что помогает:

  • 📬 Рассылки отчетов (в БП 3.0 — в разделе Администрирование → Печатные формы, отчеты и обработки). Рассылка ссылается на конкретный вариант и по расписанию отправляет готовый отчет на почту или в папку. Удобно для руководителя, которому каждый понедельник нужна одна и та же ведомость.
  • 🧩 Внешняя обработка выгрузки по коду из раздела о переносе, расширенная циклом по выборке из справочника. Одна кнопка — и все пользовательские варианты лежат в папке в XML.
  • 🗂️ Расширение конфигурации с собственными предопределёнными вариантами. Если отделу всегда нужен один и тот же набор отборов, вариант можно описать в коде расширения. Тогда он переживёт любое обновление типовой и появится у всех пользователей сразу.
  • ⏰ Регламентное резервное копирование базы. Это единственный способ гарантированно вернуть вариант, который удалили по ошибке.

Для внешних отчетов .erf варианты тоже сохраняются в базе, а не в файле отчета. Ключом служит имя внешнего отчета. Если переименовать файл или имя отчета внутри него, старые варианты перестанут подхватываться.

Перед обновлением или переездом базы
Выполнено: 0 / 4

Частые вопросы о хранении вариантов

Сохранится ли вариант отчета, если переустановить 1С на компьютере?
Да. Вариант хранится в информационной базе, а не на компьютере. После переустановки платформы и подключения к той же базе все варианты на месте.
Чем вариант отчета отличается от пользовательских настроек?
Вариант — это сохранённая под именем схема отчета: поля, группировки, оформление. Пользовательские настройки — то, что вы поменяли поверх варианта в форме, например период. Они хранятся в разных местах и сбрасываются независимо.
Можно ли открыть файл 1Cv8.1CD и вытащить варианты без 1С?
На практике нет. Формат файла закрытый, настройки внутри сжаты и сериализованы. Надёжный путь — развернуть копию в 1С и перенести вариант штатными средствами.
Переносятся ли варианты при выгрузке и загрузке .dt?
Да, выгрузка .dt содержит все данные базы, включая справочник вариантов и служебные хранилища настроек.
Где хранятся варианты отчетов в самописной конфигурации без БСП?
В стандартном хранилище вариантов платформы. В клиент-серверной базе это служебная таблица _RepVarSettings, в файловой — та же структура внутри 1Cv8.1CD.