Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: iukhdh am 09.11.09 - 16:19:22

Titel: Problem mit @Command ([MailComposeMemo])
Beitrag von: iukhdh am 09.11.09 - 16:19:22
Hallo Leute,

wenn ich folgenden Code in einer Schaltfläche in meiner Maske verwende:

Code
@Command ([MailComposeMemo]);
@Command ([EditGotoField]; SendTo);
@Command ([EditInsertText]; "Hallo");

dann bekomme ich beim Empfängerfeld des Memos ein "Hallo" reingeschrieben.

wenn ich aber folgenden Code verwende:

Code
@Command ([MailComposeMemo]);
@Command ([EditGotoField]; SendTo);
@Command ([EditInsertText]; irgendeinFeldausmeinerMaske);
dann steht nix drin.

Auf gut Deutsch: Ich bekomme keinen Empfänger eingetragen, der sich anhand eines Felds oder einer Formel berechnet, es klappt nur mit Text.

Warum? Wenn ich hier im Forum stöbere und die Einträge so anschaue, dann müsste das doch auch mit Feldern gehen, oder?
Titel: Re: Problem mit @Command ([MailComposeMemo])
Beitrag von: Driri am 09.11.09 - 16:23:28
In deinem Beispiel würde die Formel in dem neuen Mail nach dem angegebenen Feld suchen. Wenn überhaupt müßtest Du den Inhalt des Feldes vor dem Compose in eine Variable reinschieben.

z.B. so :

_tmp := <Feldname>;
@Command ([MailComposeMemo]);
@Command ([EditGotoField]; SendTo);
@Command ([EditInsertText]; _tmp);
Titel: Re: Problem mit @Command ([MailComposeMemo])
Beitrag von: iukhdh am 09.11.09 - 17:00:39
Hallo Driri,

sorry, diese Zeile hab ich im Codeschnippsel nicht mit angezeigt, aber die ist vorhanden.
Ich hol mir das Feld gleich ganz am Anfang, trotzdem kein Inhalt im Memo

:-)
Titel: Re: Problem mit @Command ([MailComposeMemo])
Beitrag von: datenbanken24 am 09.11.09 - 21:40:35
Bei mir klappt der Code von Driri einwandfrei.
Egal, ob das aufrufende Doc neu oder schon gespeichert ist,
auch von einer Nicht-Mail-Db als Starter.

Gruß,
Uwe
Titel: Re: Problem mit @Command ([MailComposeMemo])
Beitrag von: iukhdh am 09.11.09 - 22:53:39
Seltsam.

Gibt es irgendwelche Häkchen oder Einstellungen, wo was verdreht sein könnte? Bei mir tuts keinen Muckser. Nur wenn ich statt _tmp z.B. "Hallo" reinschreibe.
Titel: Re: Problem mit @Command ([MailComposeMemo])
Beitrag von: dirk_2909 am 10.11.09 - 07:25:36
Versuche mal folgendes:

Code
_tmp := <Feldname>;
@Command ([MailComposeMemo]);
@UpdateFormulaContext;
@Command ([EditGotoField]; SendTo);
@Command ([EditInsertText]; _tmp);

Sollte gehen ..
Titel: Re: Problem mit @Command ([MailComposeMemo])
Beitrag von: Driri am 10.11.09 - 08:42:46
Also zumindest unter Notes 6.5 funktioniert das so. Mir fällt adhoc auch keine Einstellung oder so ein, die das verhindern würde.

Hast Du es statt mit "SendTo" mal mit "EnterSendTo" versucht ?
Titel: Re: Problem mit @Command ([MailComposeMemo])
Beitrag von: TRO am 10.11.09 - 09:01:10
steht im _tmp denn wirklich was drin?
Mach mal ein @Text und ein @Implode auf _tmp und @Prompte das dann.

Auch 'ne mögliche Testvariante:

@Command ([EditInsertText]; "A" + _tmp + "B");

Kommt da was an und wenn ja was?


hth

Thomas
Titel: Re: Problem mit @Command ([MailComposeMemo])
Beitrag von: iukhdh am 11.11.09 - 08:19:54
Sorry für die späte Rückmeldung, war gestern im Stress  :-\

Leider hat keiner der Vorschläge was gebracht.

- Wenn ich auf _tmp prompte, kommt der Wert einwandfrei im Prompt Fenster, aber nicht im MailAbsender.
- Weder Sendto noch Entersendto bewirken was.
- @UpdateFormulaContext ebenfalls nicht.
- @Command ([EditInsertText]; "A" + _tmp + "B") bringt "AB" im Absender.

Ich bin echt ratlos, die Übergabe eines Feldinhalts klappt einfach nicht. Wir behelfen uns nun mit @mailsend, da klappts

 :-:

Titel: Re: Problem mit @Command ([MailComposeMemo])
Beitrag von: Driri am 11.11.09 - 08:40:30
Merkwürdig. Kannst Du mal die komplette Formel posten ?
Titel: Re: Problem mit @Command ([MailComposeMemo])
Beitrag von: bikerboy am 11.11.09 - 08:41:13
Ich hatte mal ein ähnliches Problem.

Musste nachdem ich ein @MailSend geschrieben hatte immer erst meinen Client neustarten, damit die Änderungen wirksam waren. Aber ich nehme an, dass du den Client schon mal neu gestartet hast.

Warum gibst du den Text nicht einfach mit FIELD <deinFeld>  := _tmp an ?
Titel: Re: Problem mit @Command ([MailComposeMemo])
Beitrag von: iukhdh am 11.11.09 - 12:31:26
@Driri

Ich hab die Formel von Dirk_2909 weiter oben in meinen Button kopiert, und als Feldnamen einen Namen aus meiner Maske genommen.

Das Feld ist gefüllt, das hab ich mit dem Prompt abgefragt.

Auch mit FIELD ... das gleiche Ergebnis, nämlich nix  :-\

Ich, und meine Kollegen sind mit unserem Latein am Ende. Wie gesagt, ist nicht so tragisch da wir auf @mailsend umsteigen, aber seltsam ist es schon.
Titel: Re: Problem mit @Command ([MailComposeMemo])
Beitrag von: TRO am 11.11.09 - 15:08:10
Das eine
- Wenn ich auf _tmp prompte, kommt der Wert einwandfrei im Prompt Fenster, aber nicht im MailAbsender.

beißt sich mit dem anderen:
- @Command ([EditInsertText]; "A" + _tmp + "B") bringt "AB" im Absender.

wenn da "AB" im Absender SendTo drin steht, dann kann das Prompt auf _tmp eigenlich nix geliefert haben.

wird _tmp zwischendurch nochmal anders gesetzt?

Bitte mal die wirklich komplette Formel einschließlich @Prompt hier reinstellen.
Titel: Re: Problem mit @Command ([MailComposeMemo])
Beitrag von: iukhdh am 13.11.09 - 08:37:45
Hallo Leute,

wir kommen dem Problem näher.

Ich hab aufgrund der Antworten hier mal eine Testdb angelegt, und dort das ganze nochmal versucht.
Ich habe ein Textfeld Besitzer in der Maske angelegt, und einen Button mit folgendem Inhalt:

Code
_tmp := Besitzer;
@Prompt([Ok];"Test";_tmp);
@Command ([MailComposeMemo]);
@UpdateFormulaContext;
@Command ([EditGotoField]; SendTo);
@Command ([EditInsertText]; _tmp);
@Prompt([Ok];"Test";_tmp)


Jetzt kommts:

Wenn ich bei Besitzer einfach einen Namen eingebe "Max Mustermann", dann funktioniert das ganze, wie von euch ja auch bestätigt.

Nun hab ich mal meine DB angeschaut.

In dem Feld, das ich verwende, steht ein Wert drin, den ich wie folgt berechne:

Code
@Word (Anfragendeneintragen); ";"; 1)

Alternativ hab ich grade auch Variante2 ausprobiert:

Code
@Word ((@implode(Anfragendeneintragen);";"); ";"; 1)

Das Feld "Anfragendeneintragen" ist eine Textliste.

Beidesmal bekomme ich die Mailadresse übergeben, aber der Unterschied zu oben ist, dass dieses Feld nun kein "Text" ist, sondern eine "Textliste". Und da scheint wohl der Knackpunkt zu sein.

D.h., ich muss nun schauen, dass ich meine Mailadresse in ein Feld übergebe, ohne dass dieses eine Textliste wird. Ich tendiere gerade zu Version 2 oben, aber ein erster kurzer Versuch hat gerade kein Ergebnis gebracht.

Muss ich nachher mal weiter versuchen, bin nur schon wieder in Hektik  :-\



Titel: Re: Problem mit @Command ([MailComposeMemo])
Beitrag von: Driri am 13.11.09 - 08:48:12
Du kannst ja einfach prüfen, ob die Variable mehrere Werte enthält und dann die Liste in einen String umwandeln. So z.B. :

_tmp:=@If(@Elements(<Feld>) > 1; @Implode(<Feld>;","): <Feld>);


Edit :

Es geht sogar noch kürzer :
_tmp:=@Implode(<Feld>;",");


Vorteil ist, daß Du an dem eigentlichen Feld in der Maske nicht herumschrauben mußt.
Titel: Re: Problem mit @Command ([MailComposeMemo])
Beitrag von: iukhdh am 13.11.09 - 15:24:17
Wir sind grad im entwickeln der neuen DB, und ich glaub wir werden diese Diskussion hier nochmal als Anlass nehmen, die ganzen Felder dahingehend zu überdenken, ob wir nicht von vornherein gleich diese Listenfelder unterbinden. Wir haben der Einfachheit halber Felder aus einer anderen DB in unsere übernommen und dabei zu wenig auf diese Tatsache (Text oder Textliste) geachtet.

Nun gut, jedenfalls wissen wir nun den Grund und können der Sache nachgehen.