Отчёт 1С «запомнил» лишнее: как сбросить сохранённые настройки компоновки

· 9 мин

Содержание

Быстрее всего очистить пользовательские настройки СКД прямо в форме отчёта: откройте меню Ещё и выполните команду Стандартные настройки. Отчёт вернётся к настройкам своего варианта: пропадут отборы, добавленные группировки, изменённый период и оформление. Если отчёт не открывается вовсе или нужно сбросить настройки другому сотруднику, чистят хранилище настроек: через обработку настроек пользователей в разделе Администрирование или кодом.

Все способы ниже работают на платформе 1С:Предприятие 8.3 в интерфейсе «Такси» и одинаковы для типовых конфигураций на БСП: Бухгалтерии 3.0, ЗУП 3.1, УТ 11, КА и ERP. Отличаются только права: пользователь чистит своё, администратор — чужое.

Что именно хранит отчёт и почему настройки портятся

Отчёт на системе компоновки данных (СКД) держит три слоя настроек. Путают их постоянно, отсюда и жалобы «сбросил, а всё вернулось».

СлойЧто в нёмГде хранится
Настройки схемыПоля, ресурсы, связи наборов — то, что заложил разработчикВ самой конфигурации, пользователь их не меняет
Вариант отчётаСтруктура: группировки, колонки, базовые отборыХранилище вариантов отчётов (в типовых — справочник вариантов)
Пользовательские настройкиПериод, быстрые отборы, сортировка, флажки, порядок колонокХранилище пользовательских настроек отчётов, отдельно для каждого пользователя

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

Проблемы начинаются в четырёх случаях:

  • 🔄 после обновления конфигурации — в настройках осталось поле, которого больше нет, или поле поменяло тип;
  • 🧩 после доработки отчёта — программист переименовал ресурс или набор данных, а старые настройки ссылаются на прежнее имя;
  • 🙈 пользователь «накрутил» — скрыл колонки, поставил отбор по удалённому контрагенту и уже не помнит, что менял;
  • 📦 после переноса базы — настройки из старой базы перенесли выгрузкой, а структура метаданных уже другая.

Типичный симптом — сообщение Поле не найдено с именем поля при формировании, пустой отчёт без видимых отборов или отчёт, который выглядит не так, как у коллеги с теми же правами.

Способ 1. Сброс настроек СКД из формы отчёта

Начинайте с этого способа. Он безопасен: трогает только ваши настройки и только этого отчёта.

Вернуть стандартные настройки

  1. Откройте отчёт, который ведёт себя странно.
  2. Нажмите Ещё в командной панели формы отчёта.
  3. Выберите Стандартные настройки.
  4. Нажмите Сформировать и проверьте результат.

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

Если в меню Ещё команды не видно, загляните в подменю внутри него: в некоторых формах отчётов БСП служебные команды собраны в отдельную группу. Найти пункт быстрее всего поиском по меню — в «Такси» у меню Ещё есть строка поиска.

Переключиться на другой вариант

Иногда испорчен не набор пользовательских настроек, а сам вариант, который вы когда-то сохранили под своим именем.

  1. В форме отчёта нажмите Выбрать вариант (или кнопку со списком вариантов).
  2. Выберите типовой вариант от разработчика — он помечен как предопределённый.
  3. Сформируйте отчёт.

Если типовой вариант работает, а ваш личный — нет, удалите или пересохраните личный вариант (подробнее ниже, в разделе для администратора).

Сбросить внешний вид формы

Бывает, что отчёт формирует данные правильно, но панель настроек пропала или кнопки съехали. Это уже настройки формы, а не компоновки. Сбросить их можно через главное меню (значок с тремя полосками в заголовке окна): Вид → Установить стандартные настройки при открытой форме отчёта.

Способ 2. Очистка настроек администратором

Этот способ нужен, когда у пользователя отчёт падает с ошибкой ещё до того, как он успеет нажать Стандартные настройки, или когда надо почистить настройки сразу нескольким сотрудникам.

Обработка настроек пользователей

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

  1. Откройте Администрирование → Настройки пользователей и прав.
  2. Перейдите по ссылке о персональных настройках пользователей.
  3. Выберите пользователя в поле вверху формы.
  4. Откройте вкладку Настройки отчетов.
  5. Отметьте строки с нужными отчётами. Чтобы стереть всё, выделите все строки.
  6. Нажмите Очистить и подтвердите.

На соседних вкладках лежат настройки внешнего вида и прочие настройки. Их трогать не обязательно: если проблема в одном отчёте, чистите только его.

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

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

Варианты отчётов

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

  1. Откройте Администрирование → Печатные формы, отчеты и обработки.
  2. Перейдите в Варианты отчетов.
  3. Найдите вариант по названию отчёта или по автору.
  4. Пометьте личный вариант на удаление.

Предопределённые варианты разработчика удалить нельзя — их можно только скрыть. Это защищает от потери базовой структуры отчёта.

Скопировать рабочие настройки вместо очистки

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

Способ 3. Как удалить пользовательские настройки СКД кодом

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

Проверьте, какое хранилище использует конфигурация

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

  • Свойство пустое — используется стандартное хранилище платформы, код ниже сработает.
  • Указано своё хранилище — у него нет методов выборки и удаления, чистить нужно средствами самой конфигурации. В типовых на БСП это та самая обработка из способа 2.

Конфигуратор здесь нужен только для просмотра. Вносить изменения в конфигурацию для очистки настроек не требуется.

Код внешней обработки

Создайте внешнюю обработку с формой, добавьте реквизит ИмяПользователя (строка) и команду. Обработчик команды:

&НаКлиенте
Процедура ОчиститьНастройки(Команда)
	ОчиститьНастройкиНаСервере(ИмяПользователя);
	Сообщить("Готово. Пользователь может открывать отчёты.");
КонецПроцедуры

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

Что важно в этом примере:

  • 👤 ИмяПользователя — это имя пользователя информационной базы (как в списке пользователей Конфигуратора), а не полное ФИО;
  • 🎯 чтобы удалить настройки только одного отчёта, внутри цикла проверьте начало ключа: СтрНачинаетсяС(Выборка.КлючОбъекта, "Отчет.ИмяОтчета"), подставив имя объекта метаданных;
  • 🔐 запускать обработку нужно под пользователем с административными правами, иначе чужие настройки будут недоступны;
  • 🧹 удаление идёт после выборки, а не внутри неё, — так выборка не меняется у вас под руками.

Короткий вариант «стереть всё у одного пользователя» — один вызов:

ХранилищеПользовательскихНастроекОтчетов.Удалить(Неопределено, Неопределено, ИмяПользователя);

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

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

Тот же метод есть у ХранилищеВариантовОтчетов и ХранилищеНастроекДанныхФорм, если они стандартные. Пользуйтесь им осознанно: удаление вариантов убирает сохранённые структуры отчётов, а не только период и отборы.

Почему не стоит чистить таблицы в SQL

В клиент-серверной базе настройки лежат в служебных таблицах СУБД, и соблазн удалить строки запросом велик. Так делать не стоит:

  • ⛔ прямое изменение данных информационной базы средствами СУБД не поддерживается фирмой-разработчиком и не гарантирует целостность;
  • 🧾 структура и имена служебных таблиц меняются от версии к версии платформы, запрос, работавший раньше, может удалить лишнее;
  • 🔁 после правки в СУБД платформа может держать старые данные в своём кэше до перезапуска сеансов.

Метод Удалить() у хранилища делает то же самое, но силами платформы и с проверкой прав. Для сотни пользователей это одна внешняя обработка и пара минут работы.

Очистка кэша клиента: когда она нужна и когда бесполезна

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

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

  1. Закройте все окна 1С на этом компьютере.
  2. Запустите программу с параметром /ClearCache, например в свойствах ярлыка: "C:\Program Files\1cv8\common\1cestart.exe" /ClearCache.
  3. Если не помогло — удалите папки с длинными именами из %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8. Файлы со списком баз (ibases.v8i) не трогайте.
  4. Откройте базу заново: первый запуск будет дольше обычного.
СитуацияЧто поможет
Ошибка Поле не найдено при формированииСтандартные настройки или очистка настроек отчёта
Отчёт настроен «не так», как у коллегСтандартные настройки, копирование настроек
Форма отчёта старая после обновленияОчистка клиентского кэша
Сломан личный вариантУдаление варианта, выбор типового

Серверный кэш (каталоги snccntx в папке кластера) чистят только при остановленной службе агента сервера 1С. Остановка службы обрывает сеансы всех пользователей, поэтому делайте это вечером или в выходной, предупредив людей. Для проблемы с настройками одного отчёта серверный кэш трогать не нужно.

Почему после очистки настройки возвращаются

Если вы всё сделали, а отчёт снова открывается с испорченными отборами, ищите причину здесь.

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

Как не допускать завала настроек

Полностью убрать пользовательские настройки нельзя, да и не нужно. Но объём проблем можно сократить.

  • 📌 Сохраняйте личные варианты под понятными именами. «Мой ОСВ» через год никто не узнает; «ОСВ 60 по договорам — Петрова» найдут и почистят без вопросов.
  • 🔁 После каждого обновления конфигурации проверяйте 3–5 ключевых отчётов под рядовым пользователем. Ошибка всплывёт у вас, а не у главбуха в день сдачи отчётности.
  • 🧑‍💻 При доработке отчётов не переименовывайте поля и наборы без нужды. Новое имя поля — старые настройки с ним уже не совпадут.
  • 👥 Настраивайте типовой набор один раз и копируйте его новым сотрудникам вместо того, чтобы каждый собирал отчёт сам.
  • 🗑 Увольнение сотрудника — повод почистить его настройки и личные варианты, чтобы список вариантов не разрастался.

Частые вопросы об очистке настроек отчётов

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