Hallo!
Erstmal hallo an alle! Hab hier schon eine Zeit lang mitgelesen, und bin nun auf ein Problem gestoßen das ich nicht selbst oder mit Hilfe der Suche lösen kann. Mein Listing:
REM {In case no approver is set};
@If(ManagerHumanResources = "" & BTLeader = "" & GeneralManagerHREurope = "" & VicePresidentEurope = "" & President = ""; @Do(@Prompt([Ok];"Forward request";"Please set at least one approver");@Return(""));"");
temp := @Prompt([YesNo];"Forward request";"Do you want to forward this staff request?");
@If(temp = 0 | temp = "";@Return("");"");
REM {edit mode necessary to set status field};
@Command([EditDocument];1);
REM {Who's resposible after authorization?};
@While(recipient = "";
@If(
Status = 0; @Do(recipient := ManagerHumanResources; @SetField("Status"; 100));
Status = 100; @Do(recipient := BTLeader; @SetField("Status"; 200));
Status = 200; @Do(recipient := GeneralManagerHREurope; @SetField("Status"; 300));
Status = 300; @Do(recipient := VicePresidentEurope; @SetField("Status"; 400));
Status = 400; @Do(recipient := President; @SetField("Status"; 500));
Status = 500; @Do(recipient := CreatedBy; @Do(@SetField ("Status"; 600);@SetField ("FinishedBy";@UserName);@SetField("FinishedOn";@Now)));
"")
);
REM {define CopyTo};
@If(Status=600; CopyTo := ManagerHumanResources;"");
REM {set debug fields};
@SetField("ForwardedBy";@UserName);
@SetField("ForwardedTo";recipient);
@SetField("CurrentlyResponsible";recipient);
@SetField("ForwardedOn";@Now);
@SetField("Author";recipient);
@SetField("Reader"; @Unique(Reader:@UserName));
REM {If the request has been finished in this action, write alternate history text};
REM {else, write simple "forwarded by" note};
@If(FinishedBy=@UserName;
@Do(
@SetField("DocumentHistory";DocumentHistory : (@Text(@Now) + " staff request finished by " + @Text(@Name([CN];@UserName)) + ", request returned to author " + @Text(@Name([CN];recipient)) +", copy sent to " + @Text(@Name([CN];CopyTo)) ) )
;
@MailSend(recipient;CopyTo;"";"Staff request finished: " + Position;"";"A staff report has been finished, please check request."+ @NewLine + "Please remember: it can take about 30 minutes for replicating a document to a notes server in an other location." + @NewLine +"If you are a laptop user, please make sure that your databases have been replicated first." + @NewLine + "Link to document:";[IncludeDoclink])
);
@Do(
@SetField("DocumentHistory";DocumentHistory : (@Text(@Now) + " staff request forwarded by " + @Text(@Name([CN];@UserName)) + ", request forwarded to " + @Text(@Name([CN];recipient)) ) )
;
@MailSend(recipient;"";"";"Staff request created: " + Position;"";"A staff report has been created, please check request."+ @NewLine + "Please remember: it can take about 30 minutes for replicating a document to a notes server in an other location." + @NewLine +"If you are a laptop user, please make sure that your databases have been replicated first." + @NewLine + "Link to document:";[IncludeDoclink]))
);
REM {save&close};
@PostedCommand([FileSave]);
@PostedCommand([FileCloseWindow])
Wie man sieht, es geht um einen Antrag der mehrere Stufen durchlaufen muss. Dabei kann es sein, dass eine Stufe nicht befragt wird, daher die while-Schleife. Wenn zugestimmt wird, wirds an den nächsten weitergeleitet, bis der Antrag schlieslich wieder beim Autor an kommt.
Nun das Problem: Wenn das Dokument erstellt und gespeichert wurde, und danach erneut geöffnet und weitergeleitet wird, wird gefragt ob das Dokument gespeichert werden soll. Wenn man mit "ja" bestätigt, stürzt Notes ab. Warum ist das so? Immerhin passiert das nicht, wenn man das Dokument erzeugt und direkt weiterleitet.
Gruß, Markus
Edit: Da ich nicht weiß, wo der Fehler auftritt hier ist der komplette Code gelistet...Ich hoffe jedoch mit der Formatierung etwas zur Übersichtlichkeit beizutragen.