Имя: Пароль:
1C
1С v8
Непосредственное удаление, как отловить?
,
0 u2006
 
05.07.12
20:35
Собственно вопрос, чет не пойму как.
1 1C-band
 
05.07.12
20:37
В форме списка?
2 Живой Ископаемый
 
05.07.12
20:38
ровно также
3 Flyd-s
 
05.07.12
20:39
Может проще запретить?
4 aleks-id
 
05.07.12
20:40
выломать кнопки shift и del
5 tertva_1C
 
05.07.12
20:45
Если мне не изменяет память то это непосредственное удаление происходит на уровне платформы , а не конфы и отловить нельзя, поправьте если не прав....
6 SachoZ
 
05.07.12
20:48
(5) ну почему же, читаем СП:

СправочникОбъект.<Имя справочника>.ПередУдалением (CatalogObject.<Имя справочника>.BeforeDelete)
СправочникОбъект.<Имя справочника> (CatalogObject.<Имя справочника>)
ПередУдалением (BeforeDelete)
Синтаксис:
ПередУдалением(<Отказ>)
Параметры:
<Отказ>
Тип: Булево. Признак отказа от удаления объекта. Если в теле процедуры-обработчика установить данному параметру значение Истина, удаление выполнено не будет.
Значение по умолчанию: Ложь
Описание:
Возникает перед непосредственным удалением объекта из базы данных.
7 SachoZ
 
05.07.12
20:49
(0) В модуле объекта:


Процедура ПередУдалением(Отказ)
   // Вставить содержимое обработчика.
КонецПроцедуры
8 u2006
 
05.07.12
20:57
Наверное не правильно выразился. Мне надо понять что пользователь непосредственно удаляет объект из базы минуя типовую проверку, отключить не могу, есть свои причины...
9 u2006
 
05.07.12
20:59
В модуле объекта также попадет действия, когда объект удаляется с помощью "Удаления помеченных...", это нужно разрешить, а вот непосредственное надо отловить и "отказ"
10 Ursus maritimus
 
05.07.12
21:07
Запрети непосредственное удаление. И удаляй вызывая по кнопке свою процедуру
11 SachoZ
 
05.07.12
21:22
(8) тогда в форме списка, на событие "ПередУдалением" процедуру повесь, например:


Процедура СправочникСписокПередУдалением(Элемент, Отказ)
   Сообщить("Я тебе "+ПараметрыСеанса.ТекущийПользователь+" приду и морду набью!");
   Отказ = Истина;
КонецПроцедуры