ПланВидовХарактеристикОбъект.<Имя плана видов характеристик>.ПередУдалением

События · BeforeDelete

Вызывается перед удалением объекта.

Синтаксис

ПередУдалением(<Отказ>)
Полное описание, параметры и ограничения

ПланВидовХарактеристикОбъект.<Имя плана видов характеристик>.ПередУдалением (ChartOfCharacteristicTypesObject.<Chart of characteristic types name>.BeforeDelete)

ПланВидовХарактеристикОбъект.<Имя плана видов характеристик> (ChartOfCharacteristicTypesObject.<Chart of characteristic types name>)

ПередУдалением (BeforeDelete)

Доступен, начиная с версии 8.0.

Синтаксис:
ПередУдалением(<Отказ>)
Параметры:

<Отказ>
Тип: Булево.
Признак отказа от удаления элемента. Если в теле процедуры-обработчика установить данному параметру значение Истина, удаление выполнено не будет.
Значение по умолчанию: Ложь.
Описание:

Вызывается перед удалением объекта.

Доступность:

Сервер, толстый клиент, внешнее соединение.

Замечание:

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

Доступен, начиная с версии 8.0.

Методическая информация

Практические примеры

Запретить физическое удаление защищённой карточки: УчебныеХарактеристики

Вызывается перед удалением объекта. Отказ защищает только подготовленную учебную карточку. Проверка относится к физическому удалению.

Где и как запускать

Модуль объекта УчебныеХарактеристики. Дополнительный блок — тело отдельной серверной команды учебной обработки.

Подготовка

  1. Работайте только в собственной пустой учебной конфигурации. В Конфигураторе создайте ПланВидовХарактеристик УчебныеХарактеристики; не добавляйте эти учебные объекты в рабочую базу.

  2. Код — строковый длиной 10, наименование длиной 100. Для справочника, плана обмена и плана видов характеристик включите автонумерацию. Для счетов и видов расчёта код назначается явно в примере.

  3. У плана видов характеристик разрешите тип значения Число. Новый элемент получает ТипЗначения = Новый ОписаниеТипов("Число").

  4. Добавьте реквизиты Комментарий (Строка 100), Лимит (Число 15.2 с разрешённым отрицательным знаком), ЗапретУдаления (Булево). Не делайте их автоматически обязательными: дополнительные правила описаны отдельными обработчиками.

  5. Откройте ПланыВидовХарактеристик → УчебныеХарактеристики → Модуль объекта и вставьте основной обработчик на уровне модуля без директивы НаКлиенте.

  6. Дополнительный блок запускайте в теле серверной команды собственной учебной обработки. Он вызывает настоящий метод подготовленного объекта; обработчик события вручную не вызывайте.

  7. Каждое событие проверяйте как отдельный урок. Обновите только учебную базу; примеры не исполняются HTML-справочником.

Процедура ПередУдалением(Отказ)
    Если ЗапретУдаления Тогда
        Отказ = Истина;
        Сообщить("Учебная карточка защищена от физического удаления");
    КонецЕсли;
КонецПроцедуры
Настоящий вызов события подготовленным объектом
Объект = ПланыВидовХарактеристик.УчебныеХарактеристики.СоздатьЭлемент();
Объект.Наименование = "Учебная карточка";
Объект.ТипЗначения = Новый ОписаниеТипов("Число");
Объект.Лимит = 100;
Объект.Комментарий = "Учебный пример";
Объект.ЗапретУдаления = Истина;
Объект.Записать();
Попытка
    Объект.Удалить();
Исключение
    Сообщить(ОписаниеОшибки());
КонецПопытки;

Разбор по шагам

  1. Дополнительный код создаёт реальный объект УчебныеХарактеристики штатным менеджером.

  2. Отказ защищает только подготовленную учебную карточку. Проверка относится к физическому удалению.

  3. Параметры события передаёт платформа; модуль обращается к собственным реквизитам из подготовки.

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

  1. Дополнительный код создаёт только свой новый объект: при ЗапретУдаления = Истина его физическое удаление отменено.

  2. Это событие не означает установку или снятие пометки удаления.

Ожидаемый результат

Запретить физическое удаление защищённой карточки для подготовленного учебного объекта.

На что обратить внимание

  1. Работайте только с объектом, созданным дополнительным кодом, и только в своей учебной базе.

  2. Сообщение внутри события записи не доказывает завершение всей транзакции; не отправляйте оттуда письма и не вызывайте внешние сервисы.

  3. Правила объекта не надо обходить повторной записью из его же обработчика.

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

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.