Перехват копирования документов

Тема в разделе "Lotus - Программирование", создана пользователем doc, 11 ноя 2009.

  1. doc

    doc Гость

    Хочу обрабатывать событие копирования документов во VIEW (нажатие клавиши Ctrl + C). Где его можно перехватить и обработать?
     
  2. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Event QueryPasteDocument у view
    Агент с Target = PastedDocuments

    Я за второй вариант - ибо глобально.
     
  3. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    именно это перехватить вроде как низзя, но можно запретить вообще на уровне ТУД.
    см ACL privelege Replicate or copy documents
    но с этой штукой надо осторожнее! т.к. много глюков бывает, о чем и на данном форуме есть разговоры.
    см $KeepPrivate
     
  4. KFire3

    KFire3 Гость

    Это Paste перехватывает, а ему нужно Copy :) А такой возможности вроде нет.


    doc, если напишете зачем вам это нужно, может подскажем самый грамотный вариант.
     
  5. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Задачу в студию!
     
  6. doc

    doc Гость

    Во общем, нужно скопированные документы несколько модифицировать (некоторые поля сбросить, создать свои документы респонсы, скопировать прикрепленный файл), чтобы они не были идентичны скопированным, а потом вставить.
    Я так предполагаю, это можно обработать все и на QueryPasteDocument?
     
  7. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Можно и там.

    Но если ты поставишь обработку на event'e view, то будет срабатывать только при пастинге в это view.
    В другие - естественно нет :)

    Повторюсь, но советую именно QueryPaste агента.
     
  8. doc

    doc Гость

    Вставлять нужно только в это view.
     
  9. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    А перейти в другое view и нажать там Ctrl + V пользователю религия не позволит?
     
  10. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    Omh
    не, ну почему сразу религия? :) мож, чел не верит, тогда можно пожестче, например, такой вариант - в других вьюхах пишешь в событии QueryPasteDocument Continue = False, описываешь как фичу дизайна и запрещаешь всем создавать папки и вьюхи в базе.
    но может, не это нужно? ;)
     
  11. doc

    doc Гость

    Так и есть, во всех view стоить Continue = False.
    Только в одном хочу реализовать данную опцию.
    Когда пользователь нажимает Ctrl + c, что то ведь происходит? Затем хочу сбросить все галочки?
    Потом необходимо выбрать другой раздел ив ставить в него Ctrl+ V. Как достать скопированные документы?
     
  12. Klido

    Klido Гость

    при копировании доки помещаются во временную базу ~clipbrd.ncf, она создаётся в /data, можно их там поискать :)
     
  13. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Кстати, точно, как на QueryPaste/PostPaste ивенте получить документы которые будут/были запащены?
    Я что-то такую задачу никогда не делал, обычно только continue = False у view ставил и всё.

    P.S. В QueryPaste-агенте через db.UnporocessedDocuments если что.
     
  14. doc

    doc Гость

    В QueryPaste ивенте Через Source могу получить документы, на против которых стоит галка.
    через db.UnporocessedDocuments не подцепляет ни одного документа.
     
  15. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Ну тогда я ещё в первом посте сказал: юзай агента, в жэпу ивенты view.
     
  16. doc

    doc Гость

    А можно ли после копирования документов в ~clipbrd.ncf пии нажатии Ctrl + C выполнить deselectAll? Как сделать?
     
  17. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Вроде нету такого ивента, куда бы ты мог вписать ws.DeselectAll.
    Но у тебя же по плану юзер потом в другое view переходит, не?
     
  18. doc

    doc Гость

    Нет в этом же вставляет, но должен выбрать другой документ, к которому привязать скопированные документы.
     
  19. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Сделай кнопку:
    те документы, которые отмечены галками привязываются к тому, на котором курсор :)
     
  20. doc

    doc Гость

    Такая реализация уже есть! Не очень практично, хочется именно CTRL + V.
     
Загрузка...

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