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

  • Автор темы Автор темы doc
  • Дата начала Дата начала
D

doc

Хочу обрабатывать событие копирования документов во VIEW (нажатие клавиши Ctrl + C). Где его можно перехватить и обработать?
 
Event QueryPasteDocument у view
Агент с Target = PastedDocuments

Я за второй вариант - ибо глобально.
 
нажатие клавиши Ctrl + C
именно это перехватить вроде как низзя, но можно запретить вообще на уровне ТУД.
см ACL privelege Replicate or copy documents
но с этой штукой надо осторожнее! т.к. много глюков бывает, о чем и на данном форуме есть разговоры.
см $KeepPrivate
 
Event QueryPasteDocument у view
Агент с Target = PastedDocuments

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

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


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

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

Повторюсь, но советую именно QueryPaste агента.
 
А перейти в другое view и нажать там Ctrl + V пользователю религия не позволит?
 
Omh
не, ну почему сразу религия? :) мож, чел не верит, тогда можно пожестче, например, такой вариант - в других вьюхах пишешь в событии QueryPasteDocument Continue = False, описываешь как фичу дизайна и запрещаешь всем создавать папки и вьюхи в базе.
но может, не это нужно? ;)
 
такой вариант - в других вьюхах пишешь в событии QueryPasteDocument Continue = False,
Так и есть, во всех view стоить Continue = False.
Только в одном хочу реализовать данную опцию.
Когда пользователь нажимает Ctrl + c, что то ведь происходит? Затем хочу сбросить все галочки?
Потом необходимо выбрать другой раздел ив ставить в него Ctrl+ V. Как достать скопированные документы?
 
при копировании доки помещаются во временную базу ~clipbrd.ncf, она создаётся в /data, можно их там поискать :)
 
Кстати, точно, как на QueryPaste/PostPaste ивенте получить документы которые будут/были запащены?
Я что-то такую задачу никогда не делал, обычно только continue = False у view ставил и всё.

P.S. В QueryPaste-агенте через db.UnporocessedDocuments если что.
 
Ну тогда я ещё в первом посте сказал: юзай агента, в жэпу ивенты view.
 
А можно ли после копирования документов в ~clipbrd.ncf пии нажатии Ctrl + C выполнить deselectAll? Как сделать?
 
Вроде нету такого ивента, куда бы ты мог вписать ws.DeselectAll.
Но у тебя же по плану юзер потом в другое view переходит, не?
 
Нет в этом же вставляет, но должен выбрать другой документ, к которому привязать скопированные документы.
 
Сделай кнопку:
те документы, которые отмечены галками привязываются к тому, на котором курсор :)
 
Мы в соцсетях:

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