К статье
Практический материал

Разработка и Конфигурация · 9 мин

Как удалить действие в 1С: команды, обработчики и регламентные задания

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

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

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

Определяем, какое именно действие нужно удалить

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

Быстрый способ понять, с чем вы имеете дело: если действие видно как кнопка на форме — это команда. Если код выполняется автоматически при записи или открытии — это обработчик или подписка. Если операция запускается по расписанию без участия пользователя — это регламентное задание.

Кнопка на формеКоманда формы или глобальная команда

Свойства формы, вкладка «Команды»

Срабатывает при записиОбработчик события или подписка

Палитра свойств объекта, раздел «События»

Работает по расписаниюРегламентное задание

Консоль заданий или ветка «Регламентные задания» в конфигураторе

Пункт в меню разделаКоманда командного интерфейса

Настройка командного интерфейса подсистемы

Удаление команды с формы в конфигураторе

Откройте конфигуратор, найдите нужный объект (документ, справочник, обработку) и откройте его форму. В редакторе формы перейдите на вкладку «Команды» — там перечислены все команды формы. Выделите нужную и нажмите Delete или кнопку удаления в панели инструментов.

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

Если кнопка осталась на форме после удаления команды, удалите и сам элемент: найдите кнопку в дереве элементов формы и удалите её. Порядок не критичен, но чистить нужно оба места — и элемент, и команду, и процедуру.

Порядок удаления команды с формы
  1. 1
    Откройте форму объекта в конфигураторе
  2. 2
    На вкладке «Команды» удалите нужную команду
  3. 3
    Удалите кнопку из дерева элементов формы
  4. 4
    Откройте модуль формы и удалите процедуру-обработчик
  5. 5
    Выполните проверку конфигурации и обновите базу

Удаление обработчика события

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

Для объектов конфигурации (документов, справочников) обработчики находятся в модуле объекта. Откройте модуль через контекстное меню объекта и удалите процедуру целиком — например, Процедура ПриЗаписи(Отказ) ... КонецПроцедуры. Платформа сама вызывает стандартные обработчики по имени, поэтому удаления процедуры достаточно.

Будьте осторожны с событиями «ОбработкаПроверкиЗаполнения» и «ПриЗаписи»: они часто содержат контрольные проверки. Удалив такой обработчик, вы отключите валидацию данных, и в базе появятся некорректные документы.

Удаление регламентного задания

Регламентные задания — это действия, выполняемые по расписанию. В пользовательском режиме типовых конфигураций они доступны через раздел «Администрирование» → «Обслуживание» → «Регламентные и фоновые задания». Откройте нужное задание и снимите флаг «Используется» — это безопасная альтернатива удалению: задание перестанет запускаться, но останется в системе.

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

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

Отключить или удалить

Отключение (снять флаг «Используется»)

Подходит для типовых заданий и временной паузы; легко откатить, не требует конфигуратора

Удаление из конфигурации

Подходит для самописных заданий, которые больше не нужны; требует обновления конфигурации БД и резервной копии

Удаление подписки на событие и действий в командном интерфейсе

Подписки на события находятся в ветке «Общие» → «Подписки на события». Удаление подписки отключает её обработчик для всех объектов, перечисленных в свойстве «Источник». Если подписку удалять нельзя (например, она типовая), сузьте источник или добавьте условие выхода в начало обработчика.

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

Проверка результата после удаления

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

Затем обновите конфигурацию базы данных (F7) и протестируйте сценарий в пользовательском режиме: откройте форму, проверьте отсутствие кнопки, запишите документ, дождитесь времени срабатывания задания. Для регламентных заданий проверьте журнал регистрации — там не должно быть новых ошибок фонового выполнения.

Контрольные точки

Как проверить результат

Проверка конфигурации
Норма

Нет ошибок о ненайденных процедурах

Тревожный признак

Сообщения «Процедура или функция не обнаружена»

Форма в режиме предприятия
Норма

Кнопка отсутствует, форма открывается без ошибок

Тревожный признак

Ошибка при открытии формы

Журнал регистрации
Норма

Нет новых ошибок фоновых заданий

Тревожный признак

Ошибки «Метод не обнаружен» от фонового задания

Частые ошибки при удалении действий

Типичные ошибки
01
Удалили кнопку, но оставили команду и процедуру — в модуле копится мёртвый код и появляются предупреждения
02
Удалили типовое регламентное задание вместо отключения — при обновлении конфигурации возникают конфликты
03
Удалили обработчик ПриЗаписи с проверками — документы стали сохраняться без контроля заполнения
04
Забыли обновить конфигурацию базы данных — пользователи продолжают видеть старое поведение
05
Не проверили вызовы из других модулей — после удаления появились ошибки «метод не обнаружен»

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

Часто задаваемые вопросы

Можно ли удалить действие без конфигуратора?

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

Что будет, если удалить команду, но оставить процедуру в модуле?

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

Как вернуть удалённое действие обратно?

Если есть резервная копия или выгрузка конфигурации — восстановите объект из неё. Типовые объекты можно вернуть, загрузив конфигурацию поставщика с поддержкой сравнения и объединения. Без копии действие придётся создавать заново вручную.

Почему после удаления команды кнопка всё ещё видна у пользователей?

Скорее всего, не обновлена конфигурация базы данных (F7) или кнопка привязана к другой команде — например, к глобальной команде объекта или стандартной команде платформы. Проверьте свойство «ИмяКоманды» у элемента формы.

Безопасно ли удалять подписки на события типовой конфигурации?

Нет. Типовые подписки обслуживают механизмы обмена, версионирования, дат запрета изменения. Их удаление нарушит работу этих подсистем и обновление. Вместо удаления корректируйте состав источников или добавляйте условия в обработчик.

Итог

Что важно запомнить

Удаление действия в 1С выполняется в конфигураторе и зависит от типа объекта: команды убираются из формы и модуля, обработчики — из событий, задания — из ветки регламентных заданий. Перед удалением делайте копию, после — проверку конфигурации и тест в пользовательском режиме. Типовые объекты безопаснее отключать, а не удалять.