Отчёт 1С «запомнил» лишнее: как сбросить сохранённые настройки компоновки
Содержание
Быстрее всего очистить пользовательские настройки СКД прямо в форме отчёта: откройте меню Ещё и выполните команду Стандартные настройки. Отчёт вернётся к настройкам своего варианта: пропадут отборы, добавленные группировки, изменённый период и оформление. Если отчёт не открывается вовсе или нужно сбросить настройки другому сотруднику, чистят хранилище настроек: через обработку настроек пользователей в разделе Администрирование или кодом.
Все способы ниже работают на платформе 1С:Предприятие 8.3 в интерфейсе «Такси» и одинаковы для типовых конфигураций на БСП: Бухгалтерии 3.0, ЗУП 3.1, УТ 11, КА и ERP. Отличаются только права: пользователь чистит своё, администратор — чужое.
Что именно хранит отчёт и почему настройки портятся
Отчёт на системе компоновки данных (СКД) держит три слоя настроек. Путают их постоянно, отсюда и жалобы «сбросил, а всё вернулось».
| Слой | Что в нём | Где хранится |
|---|---|---|
| Настройки схемы | Поля, ресурсы, связи наборов — то, что заложил разработчик | В самой конфигурации, пользователь их не меняет |
| Вариант отчёта | Структура: группировки, колонки, базовые отборы | Хранилище вариантов отчётов (в типовых — справочник вариантов) |
| Пользовательские настройки | Период, быстрые отборы, сортировка, флажки, порядок колонок | Хранилище пользовательских настроек отчётов, отдельно для каждого пользователя |
При закрытии отчёта платформа запоминает пользовательские настройки и подставляет их при следующем открытии. Это удобно, пока всё работает.
Проблемы начинаются в четырёх случаях:
- 🔄 после обновления конфигурации — в настройках осталось поле, которого больше нет, или поле поменяло тип;
- 🧩 после доработки отчёта — программист переименовал ресурс или набор данных, а старые настройки ссылаются на прежнее имя;
- 🙈 пользователь «накрутил» — скрыл колонки, поставил отбор по удалённому контрагенту и уже не помнит, что менял;
- 📦 после переноса базы — настройки из старой базы перенесли выгрузкой, а структура метаданных уже другая.
Типичный симптом — сообщение Поле не найдено с именем поля при формировании, пустой отчёт без видимых отборов или отчёт, который выглядит не так, как у коллеги с теми же правами.
Способ 1. Сброс настроек СКД из формы отчёта
Начинайте с этого способа. Он безопасен: трогает только ваши настройки и только этого отчёта.
Вернуть стандартные настройки
- Откройте отчёт, который ведёт себя странно.
- Нажмите
Ещёв командной панели формы отчёта. - Выберите
Стандартные настройки. - Нажмите
Сформироватьи проверьте результат.
Команда заменяет текущие пользовательские настройки настройками варианта по умолчанию. Период, отборы и порядок колонок вернутся к исходным.
Если в меню Ещё команды не видно, загляните в подменю внутри него: в некоторых формах отчётов БСП служебные команды собраны в отдельную группу. Найти пункт быстрее всего поиском по меню — в «Такси» у меню Ещё есть строка поиска.
Переключиться на другой вариант
Иногда испорчен не набор пользовательских настроек, а сам вариант, который вы когда-то сохранили под своим именем.
- В форме отчёта нажмите
Выбрать вариант(или кнопку со списком вариантов). - Выберите типовой вариант от разработчика — он помечен как предопределённый.
- Сформируйте отчёт.
Если типовой вариант работает, а ваш личный — нет, удалите или пересохраните личный вариант (подробнее ниже, в разделе для администратора).
Сбросить внешний вид формы
Бывает, что отчёт формирует данные правильно, но панель настроек пропала или кнопки съехали. Это уже настройки формы, а не компоновки. Сбросить их можно через главное меню (значок с тремя полосками в заголовке окна): Вид → Установить стандартные настройки при открытой форме отчёта.
Способ 2. Очистка настроек администратором
Этот способ нужен, когда у пользователя отчёт падает с ошибкой ещё до того, как он успеет нажать Стандартные настройки, или когда надо почистить настройки сразу нескольким сотрудникам.
Обработка настроек пользователей
В типовых конфигурациях на БСП есть обработка, которая показывает сохранённые настройки любого пользователя и умеет их удалять или копировать.
- Откройте
Администрирование → Настройки пользователей и прав. - Перейдите по ссылке о персональных настройках пользователей.
- Выберите пользователя в поле вверху формы.
- Откройте вкладку
Настройки отчетов. - Отметьте строки с нужными отчётами. Чтобы стереть всё, выделите все строки.
- Нажмите
Очиститьи подтвердите.
На соседних вкладках лежат настройки внешнего вида и прочие настройки. Их трогать не обязательно: если проблема в одном отчёте, чистите только его.
Ту же обработку можно открыть из карточки пользователя (Администрирование → Настройки пользователей и прав → Пользователи, затем карточка сотрудника). Так проще, если вы уже работаете с его правами.
Пользователь должен закрыть программу перед очисткой. Открытый сеанс при выходе запишет свои настройки обратно, и вся работа пропадёт.
Варианты отчётов
Если сломан вариант, а не пользовательские настройки, обработка не поможет. Варианты хранятся отдельно:
- Откройте
Администрирование → Печатные формы, отчеты и обработки. - Перейдите в
Варианты отчетов. - Найдите вариант по названию отчёта или по автору.
- Пометьте личный вариант на удаление.
Предопределённые варианты разработчика удалить нельзя — их можно только скрыть. Это защищает от потери базовой структуры отчёта.
Скопировать рабочие настройки вместо очистки
Если у коллеги отчёт настроен правильно, не обязательно чистить и настраивать заново. В той же обработке настроек пользователей есть команда копирования: выберите пользователя-источника, отметьте отчёт и укажите, кому скопировать. Получатель должен выйти из программы.
Способ 3. Как удалить пользовательские настройки СКД кодом
Подходит для программиста или администратора, который умеет запускать внешние обработки. Полезен, когда пользователей десятки, а обработка БСП недоступна (нетиповая конфигурация, урезанные права, базу нельзя открыть в пользовательском режиме под нужной учётной записью).
Проверьте, какое хранилище использует конфигурация
Откройте конфигурацию в Конфигураторе, вызовите свойства корня дерева метаданных и найдите свойство Хранилище пользовательских настроек отчетов.
- Свойство пустое — используется стандартное хранилище платформы, код ниже сработает.
- Указано своё хранилище — у него нет методов выборки и удаления, чистить нужно средствами самой конфигурации. В типовых на БСП это та самая обработка из способа 2.
Конфигуратор здесь нужен только для просмотра. Вносить изменения в конфигурацию для очистки настроек не требуется.
Код внешней обработки
Создайте внешнюю обработку
с формой, добавьте реквизит ИмяПользователя (строка) и команду. Обработчик команды:
&НаКлиенте
Процедура ОчиститьНастройки(Команда)
ОчиститьНастройкиНаСервере(ИмяПользователя);
Сообщить("Готово. Пользователь может открывать отчёты.");
КонецПроцедуры
&НаСервереБезКонтекста
Процедура ОчиститьНастройкиНаСервере(Знач ИмяПользователя)
Отбор = Новый Структура("Пользователь", ИмяПользователя);
Выборка = ХранилищеПользовательскихНастроекОтчетов.Выбрать(Отбор);
// Сначала собираем ключи, удаляем после выборки
КУдалению = Новый Массив;
Пока Выборка.Следующий() Цикл
КУдалению.Добавить(Новый Структура("КлючОбъекта, КлючНастроек",
Выборка.КлючОбъекта, Выборка.КлючНастроек));
КонецЦикла;
Для Каждого Элемент Из КУдалению Цикл
ХранилищеПользовательскихНастроекОтчетов.Удалить(
Элемент.КлючОбъекта, Элемент.КлючНастроек, ИмяПользователя);
КонецЦикла;
КонецПроцедуры
Что важно в этом примере:
- 👤
ИмяПользователя— это имя пользователя информационной базы (как в списке пользователей Конфигуратора), а не полное ФИО; - 🎯 чтобы удалить настройки только одного отчёта, внутри цикла проверьте начало ключа:
СтрНачинаетсяС(Выборка.КлючОбъекта, "Отчет.ИмяОтчета"), подставив имя объекта метаданных; - 🔐 запускать обработку нужно под пользователем с административными правами, иначе чужие настройки будут недоступны;
- 🧹 удаление идёт после выборки, а не внутри неё, — так выборка не меняется у вас под руками.
Короткий вариант «стереть всё у одного пользователя» — один вызов:
ХранилищеПользовательскихНастроекОтчетов.Удалить(Неопределено, Неопределено, ИмяПользователя);
Неопределено в первых двух параметрах означает «все ключи». Если и в третий параметр передать Неопределено, удалятся настройки отчётов всех пользователей базы.
Вызов без имени пользователя сбрасывает настроенные отчёты всему коллективу. Делайте это только по согласованию и после резервной копии базы: из копии потерянные настройки можно вернуть, иначе — только настраивать заново.
Тот же метод есть у ХранилищеВариантовОтчетов и ХранилищеНастроекДанныхФорм, если они стандартные. Пользуйтесь им осознанно: удаление вариантов убирает сохранённые структуры отчётов, а не только период и отборы.
Почему не стоит чистить таблицы в SQL
В клиент-серверной базе настройки лежат в служебных таблицах СУБД, и соблазн удалить строки запросом велик. Так делать не стоит:
- ⛔ прямое изменение данных информационной базы средствами СУБД не поддерживается фирмой-разработчиком и не гарантирует целостность;
- 🧾 структура и имена служебных таблиц меняются от версии к версии платформы, запрос, работавший раньше, может удалить лишнее;
- 🔁 после правки в СУБД платформа может держать старые данные в своём кэше до перезапуска сеансов.
Метод Удалить() у хранилища делает то же самое, но силами платформы и с проверкой прав. Для сотни пользователей это одна внешняя обработка и пара минут работы.
Очистка кэша клиента: когда она нужна и когда бесполезна
Пользовательские настройки отчётов в 8.3 хранятся в информационной базе. Поэтому очистка кэша их не удаляет. Кэш нужен в другой ситуации: отчёт после обновления открывается со старой формой, без новых полей, хотя у других пользователей всё в порядке.
Порядок действий:
- Закройте все окна 1С на этом компьютере.
- Запустите программу с параметром
/ClearCache, например в свойствах ярлыка:"C:\Program Files\1cv8\common\1cestart.exe" /ClearCache. - Если не помогло — удалите папки с длинными именами из
%APPDATA%\1C\1cv8и%LOCALAPPDATA%\1C\1cv8. Файлы со списком баз (ibases.v8i) не трогайте. - Откройте базу заново: первый запуск будет дольше обычного.
| Ситуация | Что поможет |
|---|---|
Ошибка Поле не найдено при формировании | Стандартные настройки или очистка настроек отчёта |
| Отчёт настроен «не так», как у коллег | Стандартные настройки, копирование настроек |
| Форма отчёта старая после обновления | Очистка клиентского кэша |
| Сломан личный вариант | Удаление варианта, выбор типового |
Серверный кэш (каталоги snccntx в папке кластера) чистят только при остановленной службе агента сервера 1С. Остановка службы обрывает сеансы всех пользователей, поэтому делайте это вечером или в выходной, предупредив людей. Для проблемы с настройками одного отчёта серверный кэш трогать не нужно.
Почему после очистки настройки возвращаются
Если вы всё сделали, а отчёт снова открывается с испорченными отборами, ищите причину здесь.
Как не допускать завала настроек
Полностью убрать пользовательские настройки нельзя, да и не нужно. Но объём проблем можно сократить.
- 📌 Сохраняйте личные варианты под понятными именами. «Мой ОСВ» через год никто не узнает; «ОСВ 60 по договорам — Петрова» найдут и почистят без вопросов.
- 🔁 После каждого обновления конфигурации проверяйте 3–5 ключевых отчётов под рядовым пользователем. Ошибка всплывёт у вас, а не у главбуха в день сдачи отчётности.
- 🧑💻 При доработке отчётов не переименовывайте поля и наборы без нужды. Новое имя поля — старые настройки с ним уже не совпадут.
- 👥 Настраивайте типовой набор один раз и копируйте его новым сотрудникам вместо того, чтобы каждый собирал отчёт сам.
- 🗑 Увольнение сотрудника — повод почистить его настройки и личные варианты, чтобы список вариантов не разрастался.