Domino 9 und frühere Versionen > ND6: Entwicklung

Copy & Paste verhindern

(1/2) > >>

Birgit:
Hallo,

wie kann ich verhindern, das Dokumente (basierend auf der gleichen Maske) mit copy & paste dupliziert werden? Das Dokument soll aber noch weitergeleitet und gedruckt werden können. Auch soll es möglich sein, ein neues Dokument B zu erstellen, daß Feldwerte vom Dokument A übernimmt. Oder kann man irgendwie bei copy & paste einige Feldwerte löschen? Irgendeine Idee oder Lösung?

Gruß
Birgit

Untitled:
Da würde ich im QueryPaste-Events der View einfach "Continue = False" hineinschreiben. Dann wird das, zumindest auf View-Ebene geblockt.

Grüsse
Moritz

tks:
Oder einen Agent schreiben, der über das Event "Wenn Dokumente eingefügt werden" getriggert wird, eine Meldung ausgibt und das Dokument löscht. Das geht mit Script oder Formelsprache.

Gruß

Thomas

Tode:
Das mit dem Agenten kannst Du vergessen: Der läuft auf dem Server und kann dem Benutzer keine Meldung ausgeben. Ausserdem läuft er asynchron: Vom Zeitpunkt zu dem ein Dokument gespeichert wird, bis zum Zeitpunkt, zu dem der Agent losläuft, vergehen mindestens 2-3 Minuten, je nach Serverlast sogar noch mehr....

Tode

tks:
@Tode
Wieso denn das?

Also Agentauslöser ist "wenn Dokumente eingefügt werden".

Im Agent steht:

_Usr := @Name([Abbreviate]; @UserName);
_Srv := @Name([Abbreviate]; @Subset(@DbName; 1));
_IsServer := _Usr = _Srv;
_IsMacro := @Environment("GP_ALL_PasteIt") = "<KENNUNG>";
REM;
_PasteIn := (_IsServer | _IsMacro);
REM;
REM {********************************************};
REM {  HINWEIS WENN DEBUGGING ON};
REM {********************************************};
__d_DE := @Environment("GP_Debug_Level");
__d_DD := @Left(__d_DE; 1);
__d_DL := @TextToNumber(@Word(__d_DE; __d_DD; 2));
__d_DLU := @If(@IsError(__d_DL); 0; __d_DL);
REM;
__d_DML1 := "Paste in: " : "   Ist Srv: " : "   Ist Macro: ";
__d_DML2 := @Text(_PasteIn : _IsServer : _IsMacro);
__d_DM := @Implode(__d_DML1 + __d_DML2; "...");
@If(_DbgL > 0; @Prompt([Ok]; "Pastin"; __d_DM); "");
REM;
FIELD DocID := "" : "n/v" : @UserName;
FIELD DocAuthor := @Name([Canonicalize]; @UserName);
FIELD DocSpecStatus := "Eingefügt: " + @Name([CN]; @UserName);
REM;
@If(!_PasteIn; @Prompt([Ok]; "Hinweis"; "In dieser Anwendung ist ein manuelles Einfügen von Dokumenten nicht gestattet."); "");
@If(!_PasteIn; @DeleteDocument; "");SELECT @All

Und raus kommt (Anhang)

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln