MyTetra Share
Делитесь знаниями!
Как отловить событие пометки на удаление
Время создания: 15.06.2012 21:11
Текстовые метки: 1С, база данных, пометка на удаление, запись, событие, отловить
Раздел: Компьютер - Windows - 1С - Готовые решения
Запись: xintrea/mytetra_syncro/master/base/1339780315kylr2mpq6k/text.html на raw.github.com

Чтобы отловить событие пометки на удаление записи БД в 1С, можно воспользоваться следующим кодом:


Процедура ПриЗаписи(Отказ)

Если пометкаУдаления = Истина Тогда

Сообщить("привет");

КОнецЕсли;

КонецПроцедуры


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

Или еще можно так:


ПередЗаписью(<Отказ>, <РежимЗаписи>, <РежимПроведения>)

Если Ссылка.ПометккаУдаления = Ложь И ПометкаУдаления = Истина Тогда

// Выполняю свои процедуры

КонецЕсли;

КонецПроцедуры

Или так:


Процедура ПередЗаписью(Отказ)

Если (этотобъект.ПометкаУдаления) И (НЕ ссылка.ПометкаУдаления) Тогда

Отказ=Истина;

КонецЕсли;

КонецПроцедуры


В общем, в ПередЗаписью сравнить ПометкаУдаления с Ссылка.ПометкаУдаления, и выполнить нужные действия:

ЕСли { Ссылка.ПометкаУдаления = Истина, ПометкаУдаления = ложь } - Это отмена пометки удаления

ЕСли { Ссылка.ПометкаУдаления = ложь, ПометкаУдаления = истина } - Это установка пометки удаления

Если они равны (оба ложь или оба истина) то это обычная запись объекта не относыщаяся к пометке удаления.

Ну и ориентируясь на эти флаги добавляйте свою логику и при необходимости выставляйте флаг отказ = истина.


Так же в этом разделе:
 
MyTetra Share v.0.65
Яндекс индекс цитирования