Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: jan2k am 29.06.11 - 08:49:55
-
Guten Morgen,
ich möchte in einer Ansicht Vordrucke anbieten.
Dabei würde ich gerne eine andere Maske verwenden als die, die ich zum versenden nehme. Es soll nämlich nur das Feld "Body" übernommen und ggf. ein Status eingetragen werden.
Ansatz war: gleiche oder spezielle Maske, beim übernehmen andere Felder "", bzw. ändern.
@Command([EditCopy]);
@Command([EditDocument]);
@SetField("status"; "4");
@SetField("BerarbeitungsInfo"; "");
@SetField("Termin"; "");
@Command([EditPaste])
Bei einer speziellen Maske müsste @SetField("Form";"Memo") noch rein...
Aber:
Es ist egal wo ich @SetField hinsetze, es funktioniert nicht. Die Angaben aus dem Vordokument werden übernommen - so auch, wenn ich ein anderes "FORM" eingeben möchte.
Habt ihr eine Ahnung, wie ich das ohne Script (kann ich leider nicht) realisieren kann?
Danke schon mal, Jan
-
Moin,
vielleicht hilft Dir das ja weiter:
Changes the form used to display the current document.
Hinweis This command is new with Release 6.
Syntax
@Command( [SwitchForm] ; formName )
Parameters
formName
Text. Optional. The name of the form you want to switch to.
With no parameter, ViewSwitchForm displays a dialog box with a list of forms available in the current database.
Usage
This command executes immediately. Use the ViewSwitchForm @command to execute after all @functions. See the Order of evaluation for formula statements topic for more details.
This command does not work on the Web.
Siehe auch
ViewSwitchForm @Command
@Commands
Markus
-
Ich gehe mal davon aus, dass es eine ähnliche Funktion in Notes5 nicht gibt.
Ich werde es nachher mal auf Notes7 ausprobieren.
-
Da Du ja in Notes 7 auch was machen kannst: Ab Version 6 gibt es die Formel @UpdateFormulaContext, damit kann man Felder ändern.
Sebastian
-
... sind das bearbeitbare, sichtbare Felder, oder handelt es sich um verborgene Felder?
Toni
-
Hallo am Nachmittag...
Also mit Notes 7 bin ich jetzt so weit, dass die Maske auf "Memo" geändert und auch nur das BodyFeld übernommen wird.
Jedoch habe ich das Problem, dass er keine Kopie des Dokumentes anlegt.
@Command([EditCopy]);
@Command([EditDocument]);
@Command([EditPaste]);
@Command([ScitchForm];"Memo")
Gibt es nicht einen Befehl zum verdoppeln des Dokuments wie "@CopyDokument" ? Hab jetzt schon so viel gesucht :(
Es handelt sich um sichtbare Felder...
-
... hast du denn @UpdateFormulaContext eingebaut? Damit ziehst du den Focus an die aktuelle Stelle...
Toni
-
Jetzt hab ich es so versucht:
tempBody := Body;
tempStatus := Status;
@Command([Compose];"Memo");
@UpdateFormulaContext;
Field Body := tempBody;
Field Status := tempStatus;
Jetzt wird das Ursprungsdoc. zwar nicht gelöscht, aber auch kein Wert aus dem Feld Body übernommen.
-
so wird das feld zwar übernommen, das orignial dok ist aber wieder weg....
tempBody := @GetDocField(@DocumentUniqueID;"Body");
@Command([NavPrev]);
@Command([EditDocument]);
@UpdateFormulaContext;
@Command([SwitchForm];"Memo");
@SetDocField(@DocumentUniqueID;"Body";tempBody);
-
Diese Aufgabe ist NICHT sinnvoll mit Formelsprache zu bewältigen, Du stösst hier an die Grenzen der Formelsprache.
So in etwas könnte es gehen, aber Glücklich wirst Du mit so einer Lösung nicht werden, Du wirst ein ums andere Mal auf Fehlermeldungen / Dinge stossen, die einfach nicht gehen:
@Command([EditCopy]);
@Command([EditPaste]);
@Command([EditDocument]);
@Command([EditGotoField];"Subject");
@Command([EditInsertText]; "bla bla");
@Command([SwitchForm];"Memo");
hier ist eindeutig LotusScript gefragt...
-
... das ist auch mein Ansatz bei so etwas. Formel nehme ich nur, wenn ich es als SmartIcon anlegen will. Zudem ist RichText mit einer eigenen Problematik behaftet => und das Feld Body riecht danach...
Toni
-
Ich sag erstmal danke, auch wenn es wirklich nicht so gut funktioniert...
Script kann ich wie gesagt nicht, und da es im Rahmen einer Diplomarbeit ist, fällt ein Lehrgang da auch flach :) Man sollte keine Diplomarbeit in Organisation schreiben, wenn man nicht alles programmieren kann :)