• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

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

  • Автор темы orion
  • Дата начала
O

orion

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

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

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

savl

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

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

swyatogor

Green Team
24.02.2014
593
24
BIT
0
вопрос возник такого плана.. есть документ в базе. я знаю его юнид.. при запросе
db.getdocumentbyunid - я его получаю.. но если документ удалить (софт удаление - в корзину), документ в базе есть я его вижу. но по запросу его не получить - грит не верный noteid.. но если его вернуть из корзины.. он опять доступен к запросу..
так собственно вопрос... как проверить есть ли документ в базе?
 
S

susinmn

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

swyatogor

Green Team
24.02.2014
593
24
BIT
0
Мешает то что не хотелось бы лезть в шаблон почтовой базы )))) и пользоваться только теми возможностями что предоставлены первоначально..
но я попробую сотворить то что Вы посоветовали..
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!