|
Отказ ПередУдалением вызывает исключение | ☑ | ||
---|---|---|---|---|
0
murr_2012
09.02.16
✎
18:22
|
При программном удалении документа
ТекРН = РН.ПолучитьОбъект(); ТекРН.Удалить(); выполняется в процедуре модуля объекта ПередУдалением(Отказ) некая проверка, результат которой Отказ = Истина; В итоге после выдачи заданного в процедуре проверки сообщения, выдается на экран форма исключения. При интерактивном удалении (по Shift+Del) исключения в аналогичных условиях не происходит. Это стандартное поведение системы или что-то мною упущено? |
|||
1
Господин ПЖ
09.02.16
✎
18:23
|
>что-то мною упущено?
почему "упущено"? рукож.пие на месте... |
|||
2
murr_2012
09.02.16
✎
18:25
|
(1) Содержательно.
|
|||
3
Fragster
гуру
09.02.16
✎
18:32
|
текст исключения мы должны угадать?
|
|||
4
Fragster
гуру
09.02.16
✎
18:32
|
может там "в данной транзакции уже происходили ошибки", а код этот - в обработке проведения или записи другого объекта
|
|||
5
murr_2012
09.02.16
✎
18:40
|
(3) Не удалось удалить документ ..........
ОК Подробно Трассировка показывает, что при программном удалении, что при интерактивном выполняются ровно одни и теже процедуры. Суть простая: "Отказ" в процедуре объекта должен вызывать исключение при программном удалении или нет? |
|||
6
Сильф
09.02.16
✎
18:41
|
(5) нажми "Подробно", текст оттуда - сюда
|
|||
7
murr_2012
09.02.16
✎
18:42
|
(6) {Документ.Заказ.Форма.ФормаВводаРН.Форма(67)}: Ошибка при вызове метода контекста (Удалить)
ТекРН.Удалить(); по причине: Не удалось удалить "Расх. накл. на прод. MRAA-009676 от 02.02.2016 16:50:50"! |
|||
8
mehfk
09.02.16
✎
18:42
|
Значит исполнение программы при программном удалении и при интерактивном отличается.
|
|||
9
mehfk
09.02.16
✎
18:42
|
Трассируй и сравнивай, для этого тебе отладчик и дан.
|
|||
10
Kamelot
09.02.16
✎
18:44
|
(5)>>Суть простая: "Отказ" в процедуре объекта должен вызывать исключение
программное удаление может быть на сервере, и кому сервер покажет предупреждение об ошибке или сообщение выкинет? вот и кидает он исключение... все правильно сделали... |
|||
11
ВРедная
09.02.16
✎
18:45
|
(0) "При интерактивном удалении (по Shift+Del) исключения в аналогичных условиях не происходит. "
А что происходит? Молча не ставится пометка удаления? Догадайтесь сами то ли кнопка делит сломалась, то ли монитор медленно обновляется? |
|||
12
Nuobu
09.02.16
✎
18:47
|
(11) Две кнопки сломались.
|
|||
13
murr_2012
09.02.16
✎
18:50
|
(11) Причем пометка удаления к Shift+Del?
При попытке непосредственного удаления документ выдает описанное мною в процедуре ПередУдалением сообщение и больше ничего. |
|||
14
Господин ПЖ
09.02.16
✎
18:50
|
>Shift+Del
фигасе... в базе разрешено непосредственное удаление |
|||
15
murr_2012
09.02.16
✎
18:52
|
(10) Спасибо. Об этом не подумал. Только учусь.
|
|||
16
Kamelot
09.02.16
✎
18:52
|
(0)
1. так и должно быть см (10) 2. если не нравиться то что в 1. возюми Удалить() в попытку и сообщай пользователю. |
|||
17
murr_2012
09.02.16
✎
19:02
|
(14) У меня (правда в 77 самописной базе) 10 лет люди так работают.
Как раз в ПередУдаленем и чистятся/контролируются критичные ссылки. Вручную разбираться с перекрестными ссылками при "удалении помеченных" нет возможности - 500-800 документов в день. Некому и некогда. |
|||
18
Dен
09.02.16
✎
21:05
|
(17) А если организацию удалить, по ссылкам вся база будет удалена?
|
|||
19
Dен
09.02.16
✎
21:09
|
И удаление всех связанных объектов - это нифига не стандартное поведение системы.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |