Удаление отчёта в 1С: свой вариант, внешний отчёт или объект конфигурации

· 9 мин

Содержание

Чтобы удалить в 1С сохранённый вами вариант отчёта — откройте этот отчёт, зайдите в список вариантов и удалите свой. Чтобы убрать подключённый файл-отчёт (.erf) — идите в Администрирование → Печатные формы, отчёты и обработки → Дополнительные отчёты и обработки. А чтобы убрать отчёт из самой конфигурации — это уже Конфигуратор.

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

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

Три «отчёта» в 1С — и почему их нельзя удалять одинаково

Прежде чем что-то удалять, определите тип. От этого зависит и путь, и права, и обратимость.

  • 📊 Сохранённый вариант отчёта — ваша настройка стандартного отчёта (отбор, группировки, оформление), которую вы сохранили под своим названием. Живёт внутри базы как настройка, а не как отдельный объект. Удалить может сам пользователь.
  • 🧩 Дополнительный (внешний) отчёт — файл .erf, который загрузили в базу через механизм дополнительных обработок. Хранится в справочнике. Удаляет администратор или пользователь с правами.
  • 🏗️ Отчёт как объект конфигурации — встроенный в конфигурацию объект метаданных (например, типовой или дописанный программистом). Удаляется только в Конфигураторе, с обновлением конфигурации базы.

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

Какой отчёт вы хотите удалить?

Как удалить свой сохранённый вариант отчёта

Это самая частая ситуация: вы настроили, скажем, оборотно-сальдовую ведомость под себя, сохранили как вариант — а теперь список вариантов засорён и нужно убрать лишнее.

  1. Откройте отчёт, варианты которого хотите почистить (раздел Отчёты нужного раздела → сам отчёт).
  2. Откройте список вариантов. В интерфейсе «Такси» это команда выбора варианта в верхней части формы отчёта — рядом с названием текущего варианта.
  3. В списке найдите свой вариант (пользовательские варианты отмечены отдельно от предопределённых).
  4. Выделите его и удалите командой удаления из списка (клавиша Del или команда в меню Ещё).

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

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

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

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

Как удалить дополнительный (внешний) отчёт

Внешний отчёт — это загруженный в базу файл .erf. Удаляют его там же, где подключали.

  1. Откройте Администрирование → Печатные формы, отчёты и обработки → Дополнительные отчёты и обработки.
  2. В списке выделите нужный отчёт.
  3. Пометьте на удаление: клавиша Del или команда пометки на удаление в командной панели.
  4. Проведите удаление помеченных: Администрирование → Обслуживание → Корректировка данных → Удаление помеченных объектов.

Раздел «Дополнительные отчёты и обработки» виден, только если включён флажок использования дополнительных отчётов и обработок в настройках того же раздела Администрирование. Если раздела нет — сначала включите эту возможность или попросите администратора.

Пометка на удаление обратима: помеченный отчёт ещё лежит в базе и его можно снять с пометки. А вот удаление помеченных объектов — операция окончательная. Между этими двумя шагами и есть «страховочная зона»: пометили, проверили, что ничего не сломалось, — только потом удалили физически.

Как скрыть стандартный отчёт вместо удаления

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

  • Убрать из панели отчётов раздела. Откройте раздел, зайдите в список его отчётов и воспользуйтесь настройкой панели (команда настройки в панели отчётов). Снимите флажок с ненужного отчёта — он исчезнет из панели, но останется доступным через общий список.
  • Ограничить правами. Если отчёт не должен видеть конкретный сотрудник, вопрос решается не удалением, а ролями: в Конфигураторе (или через расширение) у роли снимается право на этот отчёт. Тогда он пропадёт у всех, кому назначена роль.

Через расширение конфигурации — рабочий способ убрать типовой отчёт, не снимая конфигурацию с поддержки и не ломая обновления. В расширении отчёт помечают как удаляемый (режим «Удаление» для заимствованного объекта) или снимают у него команды в командном интерфейсе. Расширения появились в платформе 8.3.6; загрузка .cfe и обновление конфигурации базы — отдельные шаги. Плюс подхода в том, что при обновлении типовой конфигурации расширение остаётся на месте, и отчёт не возвращается.

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

Как удалить отчёт в Конфигураторе

Это нужно, когда отчёт встроен в конфигурацию: типовой, который вам мешает, или дописанный под вас объект, ставший ненужным.

Перед удалением объекта в Конфигураторе сделайте резервную копию базы (Администрирование → Выгрузить информационную базу в Конфигураторе или копию файла .1CD / средствами СУБД). Это единственный способ вернуть удалённый объект метаданных.

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

  1. Откройте базу в Конфигураторе под пользователем с правами администратора.
  2. Если конфигурация на поддержке (значок замка у корня), включите возможность изменения: Конфигурация → Поддержка → Настройка поддержки → Включить возможность изменения.
  3. В дереве метаданных раскройте ветку Отчёты, выделите нужный отчёт.
  4. Нажмите Del (или команду удаления). Платформа проверит ссылки на объект.
  5. Если объект где-то используется (в подсистемах, командном интерфейсе, ролях, других объектах) — платформа покажет список этих ссылок. Удалять объект можно только после того, как убраны все ссылки на него.
  6. Обновите конфигурацию базы данных: Конфигурация → Обновить конфигурацию базы данных (F7).

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

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

Программное удаление отчётов и вариантов

Сразу важное ограничение: объект метаданных кодом удалить нельзя. Создание и удаление отчётов как объектов конфигурации доступно только в Конфигураторе. В коде 1С:Предприятия таких методов нет.

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

Дополнительный отчёт лежит в справочнике, поэтому помечается на удаление обычным кодом:

Выборка = Справочники.ДополнительныеОтчетыИОбработки.Выбрать();
Пока Выборка.Следующий() Цикл
    Если Выборка.Наименование = "Мой внешний отчёт" Тогда
        Объект = Выборка.Ссылка.ПолучитьОбъект();
        Объект.УстановитьПометкуУдаления(Истина);
    КонецЕсли;
КонецЦикла;

После этого элемент помечен на удаление — физически его уберёт обработка удаления помеченных объектов.

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

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

Почему отчёт не удаляется: типичные ошибки

Если кнопка удаления не срабатывает или платформа ругается — причина почти всегда в одном из пунктов ниже.

Что видитеВ чём причинаЧто делать
Нельзя удалить вариантЭто предопределённый вариант из конфигурацииУдалить нельзя, только скрыть
«Объект используется» в КонфигуратореНа отчёт есть ссылки в подсистемах, ролях, командном интерфейсеУбрать все ссылки, затем удалять
Нет раздела с дополнительными отчётамиНе включена возможность их использованияВключить флажок в Администрировании
Нет кнопки удаления / пометкиНе хватает прав у пользователяУдалять под администратором
Отчёт удалили, а он остался в менюУстаревший кэш клиентаПерезапустить сеанс, при необходимости очистить кэш
Удаление в Конфигураторе не сохраняетсяНе выполнено обновление конфигурации базыНажать F7 после удаления

Ошибка «объект используется» — самая частая при работе в Конфигураторе. Платформа специально не даёт удалить отчёт, пока на него ссылаются: иначе конфигурация стала бы противоречивой. Пройдите по списку ссылок, который показывает платформа, и уберите каждую — только потом удаление пройдёт.

Как вернуть удалённый отчёт

Обратимость зависит от того, что именно удалили.

  • Сохранённый вариант. Восстановить конкретный вариант штатно нельзя — настройка удалена. Но его легко пересобрать: откройте отчёт, заново настройте отборы и группировки и сохраните под тем же названием.
  • Дополнительный (внешний) отчёт. Пока он только помечен на удаление — снимите пометку, и он вернётся. Если уже удалён физически — загрузите исходный файл .erf заново через Администрирование → Дополнительные отчёты и обработки → Добавить из файла.
  • Объект конфигурации. Вернуть можно только из резервной копии: восстановить базу целиком или перенести объект из сохранённой конфигурации (.cf) через сравнение/объединение конфигураций в Конфигураторе. Если копии нет — объект потерян.

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

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