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

Тема в разделе "Lotus - Программирование", создана пользователем Ruska132, 18 дек 2015.

  1. Ruska132

    Ruska132 Well-Known Member

    Регистрация:
    21 янв 2015
    Сообщения:
    64
    Симпатии:
    0
    Добрый день Извините за беспокойство.
    Пользователь удаляет документ через delete потом F9 и документ не отображается в представлении но при выводе отчета от выходит.
    Как можно удалить данные документы сразу из базы, при нажатии delete.
    Заранее спасибо.
     
  2. Ruska132

    Ruska132 Well-Known Member

    Регистрация:
    21 янв 2015
    Сообщения:
    64
    Симпатии:
    0
    Добавлю немного
    Как на кнопку delete назначит работу агента, а не метить запись к удалению.
     
  3. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.051
    Симпатии:
    146
    @Ruska132, никак, надо править Database Script, событие QueryDocumentDelete или как-то похоже.
    Там еще есть событие на отмену удаления.
    Но это плохая практика, сегодня удалили, завтра надо восстановить... Лучше их прятать из представления по флагу каком-нибудь.

    При выводе отчета показывается stub - окурок после удаления, надо при построении отчета проверять доки на doc.IsDeleted и doc.IsValid
    Если он не удален и валидный, то обрабатывать, иначе пропускать.
     
  4. Ruska132

    Ruska132 Well-Known Member

    Регистрация:
    21 янв 2015
    Сообщения:
    64
    Симпатии:
    0
    А как можно изменять значение Поля (флаг) если пользователь нажал сперва delete потом F9.
     
  5. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.051
    Симпатии:
    146
    @Ruska132,
     
  6. alexas1

    alexas1 Lotus team
    Lotus team

    Регистрация:
    10 апр 2014
    Сообщения:
    562
    Симпатии:
    214
    - ещё раз - @savl имел ввиду запрет удаления "delete потом F9" и рисование кнопы для "удаления", где и прописать "флаг" для "удаляемых" доков (не забыть отрефрешить текущий workspace)
     
  7. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.051
    Симпатии:
    146
    @alexas1, или сам скрипт в этом событии, который делает тоже самое.
     
  8. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    возможно и просто менять форму на дополненную префиксом (типа $$-<имя формы>) - что автоматом сделает её невидимой во вьюшке (как пр-ло настроенной для отображения нек. форм)
     
    3 пользователям это понравилось.
  9. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.046
    Симпатии:
    18
    чудовищная и глупая практика!

    вешаем скрипт на "дел" и ПЕРЕНОСИМ документы в другую базу - научитесь не срать всё в одной базе:
    1) никаких доп. флагов
    2) никаких нагрузок на индексер
    3) просто и лаконично
     
  10. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    что-то мне подсказывает, что это - не так ;)
    создание и копирование доков - нагрузка бОльшая чем изменение поля (а доки могут быть немаленькие)
    и уж точно не проще с отслеживанием респонсов
     
    3 пользователям это понравилось.
  11. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.051
    Симпатии:
    146
    Переносить можно ночью, агентом.
     
  12. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.046
    Симпатии:
    18
    ну да, заменить одно поле ведь легче для программиста чем всё продумать? ;)
    нагрузка меньше потому как в рабочей базе ваш док светится в 10-20 видах и его изменение - не важно какое заставит этот док и в видах переиндексироваться и полнотекстовый поиск для всех видов перестроить - поверьте нагрузка офигенна!

    Особенно если у вас там 10К доков и больше

    Совсем другое дело отдельная БД Корзинко - где и видов 1-3 и доков меньше 1К
     
  13. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    это кто так делает? не нужно проецировать свои подходы на остальных ;)
    вот уж не факт и зависит от процесса
    [DOUBLEPOST=1450868233,1450868050][/DOUBLEPOST]и потом...
    если БД активно используется то нагрузка на индексер будет обязательно, а вот какой процент этой нагрузки ляжет на изменение нескольких доков (полагаю - очень малый)
     
  14. garrick

    garrick Lotus team
    Lotus team

    Регистрация:
    26 окт 2009
    Сообщения:
    770
    Симпатии:
    50
    А удаление документа из одной базы и "появление" его в другой никак на индексёр не повлияет? По-моему, тоже самое только два раза.
     
    3 пользователям это понравилось.
  15. Shandrik

    Shandrik Well-Known Member

    Регистрация:
    30 дек 2010
    Сообщения:
    236
    Симпатии:
    24
    В базе-корзинке наверняка у вьюшек выставлено мануальное обновление.
    А в базе, где удаляют, он один раз дёрнет индексеры и больше никогда не будет.
    И на проверку , видит ли этот документ юзер, больше не будут ресурсы тратиться.
     
    #15 Shandrik, 30 дек 2015
    Последнее редактирование модератором: 30 дек 2015
  16. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    и чем это отличается от модификации поля - только больше кода/гимора/нагрузки ;)
     
  17. Shandrik

    Shandrik Well-Known Member

    Регистрация:
    30 дек 2010
    Сообщения:
    236
    Симпатии:
    24
    Как минимум :
    И на проверку , видит ли этот документ юзер, больше не будут ресурсы тратиться.
     
  18. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    и как она осуществляется? ;)
     
  19. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.046
    Симпатии:
    18
    постоянно!
    каждый раз когда строится индекс видов - для сервера
    каждый раз когда вид предоставляется - пользователю

    убрав док из базы вы обрываете кучу цепочек связанных с: DB.ALLDocuments - индексы видов, ФТ, коллекции

    пример привести сложно, ближайшая аналогия это удаление из большой базы большого числа окурков - и всё сразу быстрее за работало, сталкивались с таким?
    тут тоже самое ;)
     
  20. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    стр-ра и принципы домины могут оцениваться по статье http://artamonov.ru/2009/02/17/column-oriented-databases/#more-185
    там, частично, упомянуты блоки хранения, из чего будут и "особенности" индексов
    любое изменение внесенных данных, в колоночных БД - накладная операция
    имеете пересчет индексов и сама по-себе операция не является быстрой
    к тому же - мы подвязываемся на добавление дока в др. БД... (и если данные нужны - создание индексов)

    по логике приложения, поля так или иначе меняются
    увы - домина не рассчитана на бигдата и обойтись только "накоплением" не получится

    ухты - и прям-таки без последствий и траты времени :)
    ну т.е. мы таки получили признание - удаление процесс не простой ;), там еще будут и окурки, кот. "мешают"
    [DOUBLEPOST=1451908163,1451907956][/DOUBLEPOST]@Ruska132, если нужны "сложные" отчеты..., проще - все "нужное" выгружать в РСУБД (агентом по расписанию) и оттуда получать отчеты
     
Загрузка...

Поделиться этой страницей