Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: haeppchen am 21.06.05 - 09:39:13
-
Hallo zusammen,
ich erstelle aus einer Java-GUI heraus im Backend ein neues Notes Dokument, das zwei RT-Felder besitzt.
Das erste Feld kann ich ohne Probleme ansprechen wie folgt:
rtItem1 = doc.createRichTextItem("Body");
rtItem1.appendRTItem((RichTextItem)docAlt.getFirstItem("Feld"));
rtItem1.addNewLine();
Das zweite RT-Feld in demselben Dokument bereitet mir große Probleme, weder
rtItem2 = doc.createRichTextItem("SendTo");
(führt zu einer "Notes Rich Text Item already exists"-Exception)
noch
rtItem2 = (RichTextItem)doc.getFirstItem("SendTo")
(führt zu einer Class Cast Exception)
helfen mir weiter.
Wie kann es sein, dass ich das erste RT-Item noch problemlos ansprechen kann, das zweite aber nicht mehr?
-
ist SendTo ein RT-Feld? Normalerweise sind es Text- bzw Namens-Felder.
Gruß
Dirk
-
Hallo Dirk,
SendTo ist ein RT-Feld!!
-
Also in meiner Mail-DB nicht (siehe Anhang). Aber wer weiß, was in der betroffenen Datenbank abgeht.
-
Hi,
ich glaube SendTo ist ein "reservierter Feldname" in Notes, der verwendet wird für die Empfänger wenn das Dokument mit @MailSend oder doc.Send verschickt wird. Benenn dein Feld doch mal um.
Auszug aus der Hilfe:
Der Designer enthält vordefinierte Felder, die Sie verwenden können, um automatisch Funktionalität hinzuzufügen, die Sie sonst selbst programmieren müssten. Wenn Sie eine Maske mit Mail-Optionen gestalten möchten, fügen Sie vordefinierte Mail-Felder in eine Maske ein, z. B. SendTo und CopyTo. Domino erkennt diese Felder und stellt die Interaktion mit dem Mail-Router zur Verfügung, der das gesendete Dokument überträgt und zustellt.
Wenn Sie versuchen, einen reservierten Namen für andere Felder zu verwenden oder das Feld neu zu definieren, zeigt der Designer eine Fehlermeldung an.
Was für ein Maske ist denn das?
Axel
-
Danke erstmal für eure Hilfe.
Ich habe das RT-Feld einfach mal umbenannt, aber ich erhalte weiterhin dieselben Fehlermeldungen.
Die Maske um, die es sich handelt ist, ist tatsächlich eine Maske zum Verschicken von eMails.
Aber warum klappt das Ganze bei dem Feld Body? (Body ist doch, so weit ich weiß, ebenfalls ein vordefiniertes Feld)
-
Body ist im Mail halt ein RT-Feld, sendTo nicht. 8)
-
Tja, Body ist aber aus der Sicht des Systems per Definition ein Richtext-Field, während SendTo ein pures Textfeld ist. Wohin soll denn der Router Deine Message senden, wenn im SendTo-Feld ein Attachement steht ?? :-:
-
Aus der Notes-Hilfe:
Reserved fields that control mailing options
To build mailing options into a form, create fields that have reserved names in Designer. When you create a field with one of these reserved names, built-in programming takes care of the task for you. The fields can be text or choice list fields that use predefined values.
Wenn Du also ein Feld "SendTo" erstellst, geht Notes davon aus, dass es ein Namens oder Choice Feld ist.
-
In das SendTo-Feld wird eine Datei angehangen, in der Informationen über die Empfänger stehen (z.B. die NotesID der Dokumente, in denen dann auch die Mail-Adresse der Empfänger verzeichnet ist).
Das alles muss aber auch so bleiben und ist nicht veränderbar.
Aber meiner Meinung liegt das Problem auch nicht daran, denn ich habe ja wie gesagt das SendTo-Feld eben umbenannt und trotzdem hat Notes dieselben Fehler angemeckert
-
Haeppchen, es ist ziemlich unsinnig, gegen Windmühlen zu kämpfen. Das ist dann irgendwann eindeutig ein zu grosser Happen. Systemfelder für eigene Zwecke zu missbrauchen ist ein absolutes NoNo, egal wie gross der Aufwand, um das zu ändern, sein wird.
-
Mit dem Konzept, im "SendTo" einen Anhang mitzuschicken, wirst Du nicht glücklich werden. Ich darf nochmals das Hilfe-Dokument "Reserved fields that control mailing options" zitieren:
SendTo
The name(s) of a person, group, or mail-in database.
Required for all forms that mail documents.
Zum Problem des zweiten RTFields: Poste doch mal ein wenig mehr Code, ev. ist der Fehler ja wo drumherum.
-
Außerdem wird die TypeLookAhead-Funktion (dass er Namen beim Eingeben automatisch ergänzt) nicht mehr funktionieren, da diese meines Wissens nur mit Namens-Feldern funktioniert. D. h. wenn sendTo als RT-Feld konfiguriert ist, könnte dies nicht mehr genutzt werden.
Der Fehler kommt wahrscheinlich, weil das SendTo-Feld bereits als Nicht-RT-Feld existiert. Versuche einmal vorher das vorhandene SendTo-Feld zu löschen, dann sollte der Fehler nicht mehr auftauchen.
Aber ich würde einen soclhen Anhang in eine speparates Feld oder an das Body-Feld hängen. Das SendTo-Feld hat in der ganzen Welt die gleiche Bedeutung (auch in SMTP-Mails), da würde ich nix dran ändern.
Gruß,
Joachim
-
Hallo Semeaphoros,
danke für deine mahnenden Worte.
Ich erweitere die Datenbank aber nur um einige Funktionalitäten, dass meiste ist bereits vorgegeben (wie z.B. auch das SendTo-Feld).
Ich habe mein Problem aber vermutlich gerade lösen können, indem ich dem SendTo-Feld einen ganz anderen Namen gegeben habe (vorhin hatte ich es einfach nur in SendTo1 umbenannt, das klappte nicht).
Ich hoffe wirklich, dass ich jetzt ohne Probleme weiter arbeiten kann :D
Vielen Dank für eure Hilfe!!
-
Das tönt jetzt aber ganz gewaltig nach zufälliger und nicht echter Lösung .......
-
da hast du natürlich recht, ich werde sehen wie es klappt.
Aber Fakt ist halt, dass das SendTo-Feld ein RT-Feld ist und riesen Probleme bereitet hat.
Jetzt wo es umbenannt ist, scheint es zu klappen...