Варианты отчетов в 1С 8.3: в какой таблице они лежат и как их перенести
Содержание
Варианты отчетов в 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".
Справочник Варианты отчетов, служебные таблицы хранилищ, документы, проводки — всё внутри этого файла. Отдельного файла «с отчетами» нет. Отсюда три правила:
- Скопировать только варианты, взяв какой-то файл из каталога базы, нельзя.
- Копия
1Cv8.1CD(при закрытой базе) или выгрузка.dtсохраняет варианты вместе со всем остальным. - Восстановление базы из копии возвращает варианты на дату копии. Всё, что сохранили позже, пропадёт.
Читать 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 и сохраняют методом ХранилищеВариантовОтчетов.Сохранить с тем же ключом объекта. Ключ варианта (КлючВарианта) берут из одноимённого реквизита справочника Варианты отчетов. Имя отчета в ключе объекта должно точно совпадать с именем объекта метаданных в конфигураторе.
Почему вариант пропал и как его вернуть
Восстановление из резервной копии
Если вариант удалили окончательно, вернуть его можно только из копии. Порядок без риска для рабочей базы:
- Разверните копию (
.dtили бэкап SQL) в отдельную новую базу. - Найдите в ней нужный вариант в списке «Варианты отчетов».
- Перенесите его в рабочую базу одним из способов из таблицы выше.
Загружать старую копию поверх рабочей базы ради одного отчета нельзя: потеряются все документы, введённые после даты копии.
Чистка настроек пользователей
В БСП есть обработка «Настройки пользователей» (Администрирование → Настройки пользователей и прав). Она умеет копировать и очищать настройки, в том числе настройки отчетов. Перед очисткой посмотрите, какие группы настроек отмечены. Очистка настроек отчетов у сотрудника сбрасывает то, что он настраивал под себя, и вернуть это можно только из копии базы.
Автоматизация работы с вариантами
Когда вариантов десятки и ими пользуется весь отдел, ручной перенос превращается в рутину. Что помогает:
- 📬 Рассылки отчетов (в БП 3.0 — в разделе
Администрирование → Печатные формы, отчеты и обработки). Рассылка ссылается на конкретный вариант и по расписанию отправляет готовый отчет на почту или в папку. Удобно для руководителя, которому каждый понедельник нужна одна и та же ведомость. - 🧩 Внешняя обработка выгрузки по коду из раздела о переносе, расширенная циклом по выборке из справочника. Одна кнопка — и все пользовательские варианты лежат в папке в XML.
- 🗂️ Расширение конфигурации с собственными предопределёнными вариантами. Если отделу всегда нужен один и тот же набор отборов, вариант можно описать в коде расширения. Тогда он переживёт любое обновление типовой и появится у всех пользователей сразу.
- ⏰ Регламентное резервное копирование базы. Это единственный способ гарантированно вернуть вариант, который удалили по ошибке.
Для внешних отчетов .erf варианты тоже сохраняются в базе, а не в файле отчета. Ключом служит имя внешнего отчета. Если переименовать файл или имя отчета внутри него, старые варианты перестанут подхватываться.
Частые вопросы о хранении вариантов
Сохранится ли вариант отчета, если переустановить 1С на компьютере?
Чем вариант отчета отличается от пользовательских настроек?
Можно ли открыть файл 1Cv8.1CD и вытащить варианты без 1С?
Переносятся ли варианты при выгрузке и загрузке .dt?
.dt содержит все данные базы, включая справочник вариантов и служебные хранилища настроек.Где хранятся варианты отчетов в самописной конфигурации без БСП?
_RepVarSettings, в файловой — та же структура внутри 1Cv8.1CD.