Удаление Документов

orion

Active member
22.10.2013
39
0
#1
Здравствуйте.
Условие: В представлении отображаются документы и ответные документы (Ответ-на-Документ). Пользователь может удалять документы по-одному, а может выделить несколько документов, в разброс, как первичные так и ответные. Причём, не обязательно, что при выделенном ответном документе будет выделен родительский документ.
Задача: Нужно запретить удаление родительских документов при условии, что не выделены для удаления ответные документы.

Говоря простым языком, нужно организовать удаление без зависания в базе документов-призраков. Я же правильно понимаю, что при удалении родительского документа, ответные документы останутся в базе?

Можно ли как-то наиболее просто решить такую задачу?
 

savl

Lotus team
28.10.2011
2 136
105
#2
Можно ли как-то наиболее просто решить такую задачу?
С удалением родителя - сносить потомков и потомков потомков. Рекурсивно.
Лучше всего не сносить, а брать и метить к удалению через поле, по полю скрывать из вьюхи.
А сносить потом, ночью, агентом, либо архивировать в другую базу.

Ну и восстанавливать соответственно проще.
 

swyatogor

Lotus team
24.02.2014
479
10
#4
вопрос возник такого плана.. есть документ в базе. я знаю его юнид.. при запросе
db.getdocumentbyunid - я его получаю.. но если документ удалить (софт удаление - в корзину), документ в базе есть я его вижу. но по запросу его не получить - грит не верный noteid.. но если его вернуть из корзины.. он опять доступен к запросу..
так собственно вопрос... как проверить есть ли документ в базе?
 

susinmn

Well-known member
16.10.2007
529
3
#5
вопрос возник такого плана.. есть документ в базе. я знаю его юнид.. при запросе
db.getdocumentbyunid - я его получаю.. но если документ удалить (софт удаление - в корзину), документ в базе есть я его вижу. но по запросу его не получить - грит не верный noteid.. но если его вернуть из корзины.. он опять доступен к запросу..
так собственно вопрос... как проверить есть ли документ в базе?
А что мешает сначала поискать по unid, с on error 4091 resume next? В случае если doc is nothing или у полученного doc unid пустой, по пощупать по 'корзине' c первой сортированной колонкой @text(@documentuniqueid)) как view.getdocumentbykey.
 

swyatogor

Lotus team
24.02.2014
479
10
#6
Мешает то что не хотелось бы лезть в шаблон почтовой базы )))) и пользоваться только теми возможностями что предоставлены первоначально..
но я попробую сотворить то что Вы посоветовали..