Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: adminnaddel am 18.05.05 - 09:27:07

Titel: ComputedText beim Erstellen eines Memos
Beitrag von: adminnaddel am 18.05.05 - 09:27:07
Hallo liebe Gemeinde,

Blindheit oder keinen Wald vor lauter Bäumen vor Augen  ??? ::)

Wenn ich eine neues Memo erstelle möchte ich das mit @DbLookup ein bestimmter Wert aus einer Ansicht (names.nsf) gezogen wird!

Versucht habe ich <computedText> und <Field>

Bekomme aber immer wieder die Medlung das UIFormel hier nicht erlaubt sind?!

Im Postopen-Event ist das unterbringen der Formel auch nicht möglich (belegt durch script!

Versteht das jemand?

lg
Andy
Titel: Re: ComputedText beim Erstellen eines Memos
Beitrag von: Glombi am 18.05.05 - 09:30:39
Ich verstehe kein Wort davon  ???
Titel: Re: ComputedText beim Erstellen eines Memos
Beitrag von: adminnaddel am 18.05.05 - 09:37:29
 ;D  ??? ??? ???

Ich möchte die Memo-Form anpassen und mir mit @DbLookup aus dem names.nsf automatisch einen Wert meines PDocs holen *stop

Doch hier stoße ich auf die Fehlermeldung *stop

Habe es mit ComputedText und mit einem ComputedField versucht *stop

Und ich weiß einfach net warum dies passiert *stop

 ;D
lg
Andy
Titel: Re: ComputedText beim Erstellen eines Memos
Beitrag von: Glombi am 18.05.05 - 09:44:52
Wie sieht denn der Code aus?
Titel: Re: ComputedText beim Erstellen eines Memos
Beitrag von: adminnaddel am 18.05.05 - 09:54:15
Naja .. ist halt immer noch das Problem welches ich schon mal hier angesprochen hatte!

_Title := "Signatur anhängen";
_ErrorINI := "Fehler in Datei \"Notes.ini\", bitte erneut versuchen.";
_ErrorSource := "keine Signatur gefunden";

REM {Reading Signature --------------------------};
_Server   := @Subset(@DbName; 1);
_SourceDB := "names.nsf";
_View := "(Signaturen)";
_Name := @Name([Abbreviate]; @UserName);
_Row := 2;

_Value := @DbLookup("":"NoCache"; _Server:_SourceDB; _View; _Name; _Row);
@If(!@IsError(_Value);
 @Set("_Value"; @ReplaceSubstring(@Trim(@ReplaceSubstring(_Value; "  "; "##")); "##"; "  "));
 ""
);
DisplayText := @Implode(@If(@IsError(_Value); _ErrorSource; _Value); @NewLine);

@Command([EditInsertText]; @Left(DisplayText; 250));
@Command([EditInsertText]; @Middle(DisplayText; 250; 250));
@Command([EditInsertText]; @Middle(DisplayText; 500; 999));
""
Titel: Re: ComputedText beim Erstellen eines Memos
Beitrag von: Glombi am 18.05.05 - 10:01:26
Es liegt an
@Command([EditInsertText];

das funktioniert nur, wenn der Cursor in einem bearbeitbaren Feld steht.

Für Deinen Fall muss es wie folgt heissen:

... ... ...

DisplayText := @Implode(@If(@IsError(_Value); _ErrorSource; _Value); @NewLine);

@Left(DisplayText; 250) +
@Middle(DisplayText; 250; 250) +
@Middle(DisplayText; 500; 999)

Andreas
Titel: Re: ComputedText beim Erstellen eines Memos
Beitrag von: adminnaddel am 18.05.05 - 10:12:40
Ich Dummi ... vielen Dank!!

lg
Andy
Titel: Re: ComputedText beim Erstellen eines Memos
Beitrag von: adminnaddel am 18.05.05 - 11:42:12
 ::) ::) ::)

ich schon wieder ....

die o.g. Formel starte ich nun über ein Script welches mir aber leider nicht den gewünschten Inhalt in Body Field bringt!
Über eine Aktion funzt es, doch irgendwie möchte der Agent nicht laufen  ???

Dim s As New NotesSession
Dim db As NotesDatabase
Dim agent As NotesAgent
Set db = s.CurrentDatabase
Set agent = db.GetAgent("Sign")
Call agent.Run
If agent.Run = 0 Then
Messagebox "Agent did not run",, "Failure"
End If

Soll heißen: Über [ToolsRunMacro] funzt es aber net über [agent.run]  8)

lg
Andy
Titel: Re: ComputedText beim Erstellen eines Memos
Beitrag von: Tode am 19.05.05 - 14:03:29
das kann nicht funktionieren, weil agent.run den Agenten immer im Background startet, ohne User-Interaktion und ohne Zugriff auf's Frontend... steht aber dick und fett in der Designer- Hilfe...
-zip-
You cannot run an agent recursively (cannot call it from itself).
The user cannot interact directly with a called agent. User output goes to the Domino log.
You cannot debug a called agent.
You cannot use the Notes UI classes in an agent called by this method.
For COM applications, the Notes program directory must be in the application path.
-/zip-


Gruß
Tode