Сохранённые варианты отчётов в 1С 8.3: в какой таблице они лежат и как их переносить
Содержание
Варианты отчетов пользователей в 1С 8.3 хранятся в самой информационной базе, а не в файлах на компьютере. В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11, КА, ERP) это справочник «Варианты отчетов», а в конфигурациях без БСП — системная таблица платформы _RepVarSettings. Локальный кеш клиента в %APPDATA%\1C\1cv8 вариантов не содержит, поэтому переустановка 1С или смена компьютера их не стирают.
Отсюда простое правило: где база, там и варианты. Сохранили отчёт с группировками и отборами — он записан в базу и будет доступен с любого рабочего места. Потерять его можно вместе с базой, при откате на старую копию или при неосторожной «очистке настроек».
Из чего состоит сохранённый отчёт: вариант и настройки
Прежде чем искать место хранения, разделим два понятия. Их часто путают, а лежат они в разных местах.
- 📊 Вариант отчета — именованная схема: группировки, поля, сортировки, оформление. Его сохраняют командой «Сохранить вариант отчета » в форме отчёта. У варианта есть автор и признак доступности: только автору или всем пользователям.
- ⚙️ Пользовательские настройки варианта — то, что человек меняет «на лету»: период, организация, быстрые отборы. Платформа запоминает их для каждого пользователя отдельно, обычно автоматически при закрытии отчёта.
- 🧩 Предопределённые варианты — те, что поставляются в конфигурации разработчиком. Они описаны в схеме компоновки данных отчёта, а в базе хранится лишь их регистрация и пользовательские изменения.
За каждый вид данных в платформе отвечает своё хранилище. Их назначают в свойствах корня конфигурации в Конфигураторе:
| Свойство конфигурации | Что хранит | Стандартная таблица платформы |
|---|---|---|
| Хранилище вариантов отчетов | Сохранённые варианты | _RepVarSettings |
| Хранилище пользовательских настроек отчетов | Период, отборы, личные правки | _RepSettings |
| Хранилище общих настроек | Прочие настройки пользователя | _CommonSettings |
| Хранилище системных настроек | Положение окон, колонки форм | _SystemSettings |
Если свойство пустое, платформа пишет данные в стандартную таблицу. Если в свойстве указан объект «Хранилище настроек» из конфигурации, данные идут туда, куда решил разработчик.
Откройте Конфигуратор, выделите корень дерева конфигурации и посмотрите свойство «Хранилище вариантов отчетов». Это самый быстрый способ точно узнать, где лежат варианты именно в вашей базе.
Где хранятся варианты отчетов в типовых конфигурациях на БСП
В конфигурациях на Библиотеке стандартных подсистем свойство «Хранилище вариантов отчетов» указывает на хранилище настроек ХранилищеВариантовОтчетов. Оно записывает каждый вариант элементом справочника Справочник.ВариантыОтчетов.
У элемента справочника есть всё, что нужно для поиска и переноса:
- 🏷️ наименование варианта, которое видит пользователь;
- 📁 ссылка на отчёт, к которому вариант относится;
- 👤 автор и признак «только для автора»;
- 🧾 сами настройки компоновки данных в упакованном виде;
- 🗑️ пометка удаления: удалённый из формы вариант обычно не исчезает сразу, а помечается.
Посмотреть список можно без Конфигуратора. В Бухгалтерии 3.0 это раздел Администрирование → Печатные формы, отчеты и обработки → Варианты отчетов. Там видно, кто автор, кому доступен вариант и к какому отчёту он привязан. Похожий путь есть в ЗУП 3.1 и УТ 11 — в разделе «Администрирование».
Пользовательские настройки в БСП
Личные правки варианта (период, отборы) пишутся в хранилище пользовательских настроек отчетов. Управлять ими удобно через обработку «Настройки пользователей»: Администрирование → Настройки пользователей и прав → Настройки пользователей. На закладке «Настройки отчетов» видно, какие отчёты и варианты у сотрудника настроены, и их можно скопировать другому пользователю или очистить.
Файловая и клиент-серверная база: физическое место
Логика хранения одинакова, отличается только «носитель».
Файловый режим
В файловой базе все таблицы, включая _RepVarSettings, _RepSettings и справочник вариантов, находятся внутри одного файла 1Cv8.1CD в каталоге базы. Отдельного файла с вариантами отчетов нет.
Копируете 1Cv8.1CD — копируете и все варианты всех пользователей. Это удобно для резервного копирования, но копировать файл можно только при закрытых сеансах, иначе копия получится несогласованной.
Клиент-серверный режим
На сервере СУБД (MS SQL Server, PostgreSQL) база — это набор таблиц. Системные хранилища видны под именами:
_RepVarSettings — стандартное хранилище вариантов отчетов
_RepSettings — пользовательские настройки отчетов
_CommonSettings — общие настройки
_SystemSettings — системные настройки
_FrmDtSettings — настройки данных форм
_DynListSettings — настройки динамических списков
Справочник «Варианты отчетов» хранится в обычной таблице справочника с техническим именем вида _Reference123. Соответствие имён объектам конфигурации возвращает метод ПолучитьСтруктуруХраненияБазыДанных().
Не правьте эти таблицы запросами SQL напрямую. Настройки лежат в упакованном двоичном виде, а платформа держит связанный кеш. Ручное изменение легко повредит данные, и исправлять придётся тестированием и исправлением базы.
Чтение таблиц через SQL допустимо для диагностики (например, посмотреть, сколько строк у пользователя). Любые изменения — только средствами 1С.
Что лежит в кеше на компьютере пользователя
В каталогах %APPDATA%\1C\1cv8\ и %LOCALAPPDATA%\1C\1cv8\ для каждой базы создаётся папка с именем-идентификатором. Там хранится кеш конфигурации, метаданных и часть служебных данных клиента.
Сохранённых вариантов отчетов там нет. Поэтому:
- 🧹 запуск с ключом
/ClearCacheили удаление этих папок варианты не удаляет; - 💻 новый компьютер получает все варианты сразу после подключения к базе;
- 🔁 если после изменения варианта на одном месте другой пользователь видит старую версию, достаточно переоткрыть отчёт — кеш тут обычно ни при чём.
Временное состояние отчёта — то, что вы поменяли, но не сохранили вариант, — живёт только в открытой форме. Закрыли форму без сохранения варианта — схема пропала, а в хранилище пользовательских настроек остались только период и быстрые отборы, если конфигурация их запоминает.
Если кеш всё же нужно очистить, закройте 1С на этом компьютере: пока клиент запущен, часть файлов занята. Другие пользователи от этого не пострадают.
Как перенести варианты отчетов в другую базу
Готовой кнопки «перенести все варианты в другую базу» в типовых конфигурациях нет. Выбор способа зависит от объёма.
| Способ | Когда подходит | Риски |
|---|---|---|
| Пересохранить вручную | 1–5 вариантов | Долго, легко забыть отбор |
| Через файл настроек | Один отчёт, разные базы | Нужна обработка или код |
| Выгрузка справочника в XML | Десятки вариантов | Ссылки на пользователей и отчёты должны совпасть |
| Перенос базы целиком (.dt, копия) | Новая база — копия старой | Переносит вообще всё |
Перенос через выгрузку справочника
Для массового переноса подходит универсальная обработка выгрузки и загрузки данных XML. Порядок такой:
- В исходной базе откройте обработку и отметьте к выгрузке справочник «Варианты отчетов».
- Отберите нужные элементы — например, по автору или отчёту.
- Выгрузите в файл XML.
- Сделайте резервную копию базы -приёмника.
- Загрузите файл в базу-приёмник той же конфигурации и близкого релиза.
- Откройте отчёт под нужным пользователем и проверьте, что вариант появился.
Главная ловушка — ссылки. Вариант ссылается на автора (элемент справочника «Пользователи») и на отчёт. Если пользователи в базах созданы независимо, у них разные идентификаторы, и вариант «повиснет» на несуществующем авторе. Тогда ставьте признак доступности «всем пользователям» до выгрузки или после загрузки переназначайте автора.
Перенос одного варианта кодом
Разработчику удобно выгрузить настройки компоновки в XML-файл и загрузить их в другой базе. Настройки компоновки данных сериализуются стандартно:
// Выгрузка настроек открытого отчёта в файл
Настройки = Отчет.КомпоновщикНастроек.ПолучитьНастройки();
Запись = Новый ЗаписьXML;
Запись.ОткрытьФайл("C:\Temp\variant.xml");
СериализаторXDTO.ЗаписатьXML(Запись, Настройки);
Запись.Закрыть();
// Загрузка в другой базе
Чтение = Новый ЧтениеXML;
Чтение.ОткрытьФайл("C:\Temp\variant.xml");
Настройки = СериализаторXDTO.ПрочитатьXML(Чтение);
Чтение.Закрыть();
Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
Код выполняется на сервере в контексте объекта отчёта. После загрузки сохраните вариант обычной командой в форме отчёта — тогда он попадёт в хранилище вариантов этой базы.
Внутри одной базы
Между пользователями одной базы переносить проще. Откройте Настройки пользователей, выберите сотрудника-источника, закладку «Настройки отчетов» и команду копирования другим пользователям. Сам вариант при этом достаточно сделать доступным всем.
Варианты отчетов в 1С:Фреш и при работе через 1С:Линк
1С:Фреш и другие сервисы с разделением данных
В облаке на технологии 1С:Фреш одна база обслуживает много абонентов, данные каждого изолированы в своей области данных. Справочник вариантов и хранилища настроек тоже разделены: ваши варианты видят только пользователи вашего приложения.
Что из этого следует на практике:
- ☁️ доступа к SQL и к файлам у абонента нет — работать с вариантами можно только из интерфейса программы;
- 📦 выгрузка приложения из сервиса (архив данных) переносит и справочник «Варианты отчетов»;
- 🔄 при переезде из облака в локальную базу через такую выгрузку варианты обычно сохраняются, а личные настройки пользователей стоит проверить отдельно.
1С:Линк
1С:Линк — не облако, а способ безопасно подключиться через интернет к базе, которая работает на вашем компьютере или сервере. Хранение вариантов здесь ничем не отличается от обычной файловой или серверной базы: всё лежит в ней самой. Сотрудник, подключившийся через Линк, видит те же варианты, что и в офисе.
Пропал сохранённый вариант: как найти и вернуть
Порядок проверок — от безобидных к тяжёлым.
Восстановление из резервной копии
Если вариант удалён окончательно (после удаления помеченных объектов), вернуть его можно только из копии. Не разворачивайте копию поверх рабочей базы — потеряете все новые документы.
- Разверните резервную копию в отдельную базу (файловую или на сервере).
- Найдите в ней нужный вариант в справочнике «Варианты отчетов».
- Перенесите его в рабочую базу выгрузкой XML или кодом из раздела про перенос.
- Проверьте автора и доступность варианта в рабочей базе.
Порядок в вариантах: чтобы отчёты открывались быстро
Хранилище вариантов редко тормозит само по себе. Проблемы начинаются, когда за годы набираются сотни вариантов и тяжёлые личные настройки.
- 🗂️ Чистите дубли. «Продажи», «Продажи 2», «Продажи новый» — классика. Раз в год просматривайте справочник с группировкой по отчёту и помечайте ненужное.
- 👥 Делайте общие варианты. Один вариант «для всех» вместо десяти личных копий проще поддерживать.
- 🧾 Удаляйте настройки уволенных. Через «Настройки пользователей» очистите их настройки отчётов — список у администратора станет короче.
- ⏱️ Не храните в варианте огромный период. Если отчёт по умолчанию открывается за пять лет, он и формироваться будет долго. Ставьте в варианте короткий период, а длинный выбирайте вручную.
- 🔍 Ищите причину медленного открытия в самом отчёте. Обычно тормозит запрос с тяжёлыми отборами, а не загрузка варианта.
Удаление помеченных объектов и очистка настроек пользователей необратимы. Перед массовой чисткой сделайте резервную копию базы.
Частые вопросы
Можно ли найти файл с вариантами отчетов на диске?
1Cv8.1CD, в серверном — в таблицах СУБД. Отдельного файла нет.Удалятся ли варианты при переустановке платформы 1С?
Видит ли администратор чужие личные варианты?
Переносятся ли варианты при обновлении конфигурации?
Как узнать, в какую таблицу SQL пишутся варианты именно в моей базе?
_RepVarSettings; указан объект — смотрите его модуль, а имя таблицы справочника дает ПолучитьСтруктуруХраненияБазыДанных().