Удаление модулей, расширений и обработок в 1С без ошибок
Содержание
Чтобы удалить модуль в 1С Предприятие, сначала определите, что именно подключено к базе. Расширение конфигурации снимают в режиме Предприятия через «Управление расширениями конфигурации». Внешнюю обработку или отчёт убирают из справочника «Дополнительные отчёты и обработки». А объект метаданных — справочник, документ, регистр или общий модуль — удаляется только в Конфигураторе с последующим обновлением конфигурации базы данных.
Слово «модуль» в запросах про 1С почти всегда означает не программный модуль с кодом, а добавленный к типовой конфигурации кусок функциональности: доработку, печатную форму, обмен. Способ удаления и его последствия у этих вариантов разные, поэтому путать их нельзя.
Перед любым удалением сделайте резервную копию базы. Это единственная страховка, если вместе с модулем уйдут данные, которые он хранил в своих реквизитах.
С чем вы имеете дело: расширение, обработка или объект конфигурации
Разные типы «модулей» живут в базе по-разному. Расширение — это отдельный файл .cfe, который накладывается поверх типовой конфигурации и может добавлять свои реквизиты, формы и даже регистры. Внешняя обработка (.epf) или внешний отчёт (.erf) либо подключены к базе через справочник, либо открываются вручную из файла. Объект метаданных — часть самой конфигурации, он виден в дереве Конфигуратора.
От типа зависит и то, где удалять, и то, потеряете ли вы данные.
Если не уверены, что перед вами, откройте Конфигуратор: Конфигурация → Расширения конфигурации покажет все подключённые расширения, а дерево конфигурации — собственные объекты. Внешние обработки в этих списках не появятся — их ищите в самой базе в режиме Предприятия.
Как снять и удалить расширение конфигурации в режиме Предприятия
Расширения появились в платформе начиная с версии 8.3.6, и управлять ими можно прямо из режима Предприятия, без Конфигуратора.
Откройте список: Главное меню → Функции для технического специалиста → Управление расширениями конфигурации. Если такого пункта в меню нет, включите команду «Все функции» через Главное меню → Сервис → Параметры (флажок «Отображать команду „Все функции“»), затем зайдите в Все функции → Стандартные → Управление расширениями конфигурации.
Дальше порядок такой:
- Снимите флажок активности напротив нужного расширения — так вы сначала отключаете его, не удаляя. Если после отключения ничего не сломалось и данные на месте, можно удалять.
- Выделите строку расширения и нажмите кнопку удаления в командной панели списка.
- Если расширение меняло структуру базы (добавляло реквизиты, регистры), платформа предложит обновить конфигурацию базы данных — согласитесь.
Отключение через флажок — безопасный способ проверить, что именно даёт расширение. Снимите флажок, перезапустите клиент и посмотрите, какие функции исчезли.
Если расширение хранило данные в собственных реквизитах или регистрах, при удалении они будут потеряны безвозвратно. Поэтому сначала выгрузите нужные значения (отчётом, обработкой или просто выпиской вручную), и только потом удаляйте.
Расширение можно удалить и в Конфигураторе: Конфигурация → Расширения конфигурации, выделить строку, нажать Del. Результат тот же, но из Конфигуратора вы увидите ещё и состав расширения — какие объекты оно добавляло или заимствовало.
Что делать с внешними обработками и отчётами
Здесь всё зависит от того, как обработка попала в базу.
Подключённые обработки и отчёты. В типовых конфигурациях на базе Библиотеки стандартных подсистем (БП 3.0, ЗУП 3.1, УТ 11) они хранятся в справочнике. В «1С:Бухгалтерии» список открывается так: Администрирование → Печатные формы, отчёты и обработки → Дополнительные отчёты и обработки. Пункт появляется, только если включён соответствующий функциональный режим в настройках этого же раздела.
Чтобы убрать такую обработку:
- Откройте список дополнительных отчётов и обработок.
- Выделите строку и пометьте её на удаление (пометка на удаление, а не прямое удаление элемента справочника).
- Запустите удаление помеченных объектов:
Администрирование → Обслуживание → Удаление помеченных объектов. Программа проверит ссылки и удалит элемент, если на него никто не ссылается.
Прямое удаление элемента справочника тоже возможно, но пометка на удаление безопаснее: механизм проверит, не ссылается ли на обработку какое-нибудь задание или настройка.
Обработки «из файла». Если файл .epf или .erf открывали через Файл → Открыть, в базе он не сохранён. Удалять в 1С нечего — уберите сам файл из сетевой папки или с рабочего стола, чтобы его перестали запускать.
Если обработка была назначена на регламентное задание (автозапуск по расписанию), сначала отключите это задание, иначе после удаления в журнале посыплются ошибки о ненайденном объекте.
Удаление объекта метаданных в Конфигураторе
Собственные справочники, документы, регистры, общие модули и прочие объекты конфигурации удаляются только в Конфигураторе. Это касается доработанных и самописных баз — в чистой типовой конфигурации удалять объекты не стоит, потому что это ломает возможность типового обновления.
Порядок действий:
- Откройте Конфигуратор под пользователем с правами администратора.
- Откройте конфигурацию:
Конфигурация → Открыть конфигурацию. - Найдите объект в дереве, щёлкните по нему правой кнопкой и выберите
Поиск ссылок на объект в конфигурации. В нижней панели появится список мест, где объект используется. - Разберитесь со всеми ссылками: пока на объект ссылаются другие модули, формы или реквизиты, платформа не даст обновить конфигурацию.
- Удалите объект клавишей Del или через правую кнопку.
- Обновите структуру:
Конфигурация → Обновить конфигурацию базы данных(F7).
Шаг 6 — тот самый момент, когда нужен монопольный доступ: платформа перестраивает таблицы базы. Обновление структуры с пользователями в базе невозможно — все активные сеансы придётся завершить. Делайте это в нерабочее время или установите блокировку соединений заранее.
Поиск ссылок показывает только ссылки внутри конфигурации. Данные (документы, записи регистров), которые ссылались на удалённый объект, он не находит — их проверяйте отдельно.
Отдельно про общие модули. Их удаляют так же, через дерево конфигурации, но поиск ссылок здесь особенно важен: на экспортные процедуры и функции общего модуля могут ссылаться десятки мест в коде других модулей. Пока хоть одно обращение осталось, обновление конфигурации завершится ошибкой компиляции с указанием строки — по ней и находите, откуда ещё вызывают удаляемый метод.
Если объект входит в типовую конфигурацию
, которую вы обновляете от поставщика, просто так удалить его не выйдет — он стоит «на замке» и защищён от изменений. Сначала включите возможность редактирования: Конфигурация → Поддержка → Настройка поддержки, затем кнопка «Включить возможность изменения». После этого объект можно будет удалить.
Снятие конфигурации с поддержки — решение с последствиями. Типовое обновление от поставщика после этого усложняется: платформа перестаёт накатывать изменения автоматически и предлагает сравнивать и объединять конфигурации вручную. Если вы не сопровождаете базу сами, лучше не трогать этот механизм.
Зависимости и блокировки: почему объект не удаляется
Чаще всего удаление срывается не на самой операции, а на связях. Платформа защищает целостность: если удаляемое используется где-то ещё, она остановит процесс.
Как читать результат поиска ссылок. Конфигуратор делит зависимости по типу: ссылки из реквизитов и табличных частей (другой объект использует удаляемый как тип данных), ссылки из форм и команд, ссылки из кода модулей. Разбирать их нужно по-разному: тип реквизита меняют или сам реквизит удаляют, команду с формы убирают, а вызов в коде правят или комментируют. Двойной щелчок по строке в списке ссылок открывает то самое место, где используется объект, — так быстрее всего дойти до каждой зависимости.
Главное правило: сначала разорвать все связи, потом удалять. Для метаданных связи ищет Конфигуратор, для справочных элементов — механизм удаления помеченных объектов. Если платформа сопротивляется, она почти всегда права: где-то остаётся зависимость.
Прежде чем завершать чужие сеансы или ставить блокировку соединений, предупредите пользователей. У тех, кто в этот момент проводит документы, работа оборвётся, а несохранённые данные пропадут.
Проверка базы после удаления
После того как модуль убран и конфигурация обновлена, стоит убедиться, что база в порядке.
Что проверить:
- 🔎 Запустите тестирование и исправление:
Администрирование → Тестирование и исправлениев Конфигураторе. Режим проверяет логическую и ссылочную целостность и находит «битые» ссылки на удалённые объекты. - 📋 Проверка целостности требует монопольного доступа — закладывайте её на то же технологическое окно, что и обновление структуры.
- 🗂 Пройдите по ключевым документам и отчётам, которые были связаны с удалённым функционалом, и убедитесь, что они открываются и проводятся.
- 🧾 Загляните в журнал регистрации за период после удаления — там видны ошибки, которые всплывают при фоновых заданиях.
Для файловой базы есть ещё утилита проверки физической целостности chdbfl.exe — она лежит в каталоге bin установленной платформы и запускается при закрытой базе. Её применяют, когда есть подозрение на повреждение файла 1Cv8.1CD, а не как обязательный шаг после каждого удаления. Для штатной проверки логики достаточно тестирования и исправления из Конфигуратора.
Отдельно про «оптимизацию»: само по себе удаление объекта или расширения место в базе сразу не освобождает — таблицы перестраиваются, но физический размер файла базы может не уменьшиться. Для файловой базы это нормально; заметное сжатие даёт тестирование и исправление с реструктуризацией, а для клиент-серверной базы вопросом размера занимается администратор СУБД. Гнаться за освобождением мегабайтов после удаления одного модуля смысла нет.
Частые вопросы
Можно ли вернуть удалённое расширение обратно?
.cfe, расширение подключается заново через «Управление расширениями конфигурации». Но данные, которые оно хранило в своих реквизитах и регистрах, при удалении уже пропали — заново они не появятся, их придётся восстанавливать из резервной копии базы.Нужна ли монопольная блокировка, чтобы удалить расширение?
Удалится ли внешняя обработка сразу у всех пользователей?
Файл → Открыть, в базе не хранятся и удаляются только удалением самого файла.Что будет с документами, которые ссылались на удалённый реквизит?
Как понять, что именно добавляло расширение, прежде чем его удалить?
Конфигурация → Расширения конфигурации — там виден состав: какие объекты оно добавляло и какие заимствовало из типовой конфигурации. Заимствованные объекты при удалении расширения вернутся к типовому виду, собственные — исчезнут вместе с данными.