Domino 9 und frühere Versionen > ND7: Entwicklung
Fehler weil Dokument nicht gefunden wird.
pete_bla:
Hi,
tja so genau kann ichs Dir auch nicht sagen, aber mal ein paar Ansätze:
--- Zitat von: Lancelot am 08.10.07 - 12:02:53 ---Hier den Entwikcklungscode des Knopfes.
...
@PostedCommand([Compose];"UB")
--- Ende Zitat ---
--- Zitat von: Lancelot am 08.10.07 - 17:36:07 ---Woran kann es liegen, dass der Fehler kommt, sobald ich in einem Dokument auf die
Hotspotschaltfläsche geklickt habe?
...
Mache ich das ganze nicht über den Doclink, klappt alles, sogar die Prompts werden verarbeitet.
--- Ende Zitat ---
sehe ich das richtig:
ist der Knopf = Hotspot in der Mail und
"UB" die Makse für das Dokument mit dem Agenten:
--- Zitat von: Lancelot am 08.10.07 - 12:02:53 ---Hier das LS beim öffnen der Maske:
...
@Command([ToolsRunMacro];"UB Dokument befüllen");
--- Ende Zitat ---
dann würde ich mal behaupten:
1. der @PostedCommand([Compose];"UB") bekommt die Maske (noch) nicht, weil in zu öffnender DB
2. der @Command([ToolsRunMacro];"UB Dokument befüllen") findet den Agenten (noch) nicht, weil in zu öffnender DB.
oder
3. im Agenten:
--- Zitat von: Lancelot am 08.10.07 - 12:02:53 ---'Ist Notwendig für die Front End Klassen die sich auf die geöffneten Dokumente beziehen
Set olddoc = ws.CurrentDocument
--- Ende Zitat ---
Set olddoc = ws.CurrentDocument bekommt nicht wirklich das "Alte Dokument" weil das ws.CurrentDocument "noch nicht sauber da ist".
Und noch ein anderer Ansatz (da ich mich selbst gerade mit Framesets/Preview und mehreren DBs rumärgere)
Hat der User der auf dem Button in der Mail drückt zufällig die Mail in der Vorschau/Preview auf? (Läuft auch nicht immer so wie man erwarten könnte.)
Gruss, Pete(r)
HarryB:
Hi Lancelot,
auch wenn du an den Grundfesten nicht rütteln willst, kommen mir ein paar Dinge etwas seltsam vor.
--- Zitat von: Lancelot am 08.10.07 - 12:02:53 ---Hier den Entwikcklungscode des Knopfes.
@Environment("doc_num";"XXX");
FIELD fi_vorhanden := "Ja";
@Environment("doc_num";persnum);
FIELD pfaction := "Versendet";
@Command([FileSave]);
FIELD SaveOptions := "0";
@Command([FileCloseWindow]);
REM {Schleife nur das für die User eine optische Verarbeitung läuft};
n := 1;
@DoWhile(n := n + 1; n <= 10);
@PostedCommand([Compose];"UB")
--- Ende Zitat ---
Wenn Werte aus einer anderen Maske übernommen werden sollen, ist es immer sinnvoll für die entsprechende Maske die Option "Formeln übernehmen Werte aus gewähltem Dokument" zu aktivieren. Damit kannst du den Umweg über die Notes.ini komplett streichen.
--- Zitat von: Lancelot am 08.10.07 - 12:02:53 ---Hier das LS beim öffnen der Maske:
@If (@IsNewDoc ; @Success ; @Return(0));
FIELD ansprech := @Name([Abbreviate];@UserName);
@SetField("doc_num";@Environment("doc_num"));
REM {FIELD doc_num := Auswahl};
@Command([ToolsRunMacro];"UB Dokument befüllen");
--- Ende Zitat ---
Mach aus "ansprech" ein Feld "Berechnet beim Anlegen" und befülle es mit der Formel "@Name([Abbreviate];@UserName);".
Mache aus "doc_num" ein Feld "Berechnet beim Anlegen" und befülle es mit der Formel "persnum" (ohne Anführungszeichen, hier muss der Feldname stehen, kein String).
--- Zitat von: Lancelot am 08.10.07 - 12:02:53 ---Hier der Code vom Agent wo in der letzten Zeile der Fehler kommt.
Dim Session As New NotesSession
Dim db As New NotesDatabase("segds004", "Schuladr")
Dim ws As New NotesUIWorkspace
Dim view As Notesview
Dim doc As NotesDocument
Dim olddoc As NotesUIDocument
'Setzten der KonfigDB Ansicht "PersNr" in der sich alle Dokumente befinden
Set view = db.GetView( "Nach persnr" )
'Ist Notwendig für die Front End Klassen die sich auf die geöffneten Dokumente beziehen
Set olddoc = ws.CurrentDocument
'Setzen des Zeiger auf das Dokuemnte mit dem Schlüßel "key"
key = olddoc.FieldGetText("doc_num")
--- Ende Zitat ---
Den Aufruf des Agenten würde ich - unabhängig von den o.g. Änderungsvorschlägen - in den PostOpen Event verschieben, sofern er sich nicht ohnehin dort befindet.
An welcher Stelle wird die Formel, die den Agenten aufruft denn bisher ausgeführt?
Viele Grüße
Harry
Lancelot:
Hallo Harry ich habe den Fehler gefunden.
Es ist das "@Command([FilecloseWindows]) aus dem Code des Knopfes.
@Environment("doc_num";"XXX");
FIELD fi_vorhanden := "Ja";
@Environment("doc_num";persnum);
FIELD pfaction := "Versendet";
@Command([FileSave]);
FIELD SaveOptions := "0";
@Command([FileCloseWindow]);
REM {Schleife nur das für die User eine optische Verarbeitung läuft};
n := 1;
@DoWhile(n := n + 1; n <= 10);
@PostedCommand([Compose];"UB")
Ich wollte damit die alte Maske zumachen und die Neue auf, dass mag er nicht.
Wenn die neue Maske bearbeitet und verschickt ist, wo und wann muß ich dann die alte Maske schließen?
Ich möchte das nach dem Senden alle Masken wieder geschloßen werden, ist das möglich?
Danke!
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln