Domino 9 und frühere Versionen > Entwicklung
Per Script neues Dokument erstellen (Maske selbst festlegen)
TomLudwig:
Ich hab wirklich noch nicht viel mit Script gemacht....
Ich möchte ein Dokument neu erstellen und was in Felder rein schreiben. Das dann speichern und mir die DocumentUniqueID zur weiteren verarbeitung zurück geben lassen.
Bei folgendem Code, sagt der Debugger mir, dass die Variable "item" nicht gesetzt ist. Aber warum? Das Feld "Temp" gibt es in der Maske!
Dim item As NotesItem
Set doc = db.CreateDocument
doc.Form ="AdvancedInfo"
Set item = doc.GetFirstItem("Temp" )
Call item.AppendToTextList("Hallo")
Call doc.Save( True, True )
ghost:
Dim db As New NotesDatabase
Dim doc As NotesDocument
Dim item As NotesItem
Set doc = db.CreateDocument
Call doc.Replaceitemvalue("Form", "AdvancedInfo")
Call doc.ReplaceItemValue("Temp", "Hallo")
Call doc.Save( True, True )
Ich glaube so sollte es sein.
@Driri: Es ist richtig, dass man nicht die Methoden benutzen muss, aber ich finde es persönich als unschön die verkürzte Schreibweise zu verwenden. Außerdem ist ein Aufruf über die Methoden performanter. Das macht in kleinen Scripten nicht viel aus, bei größeren Sachen ist es aber durchaus sinnvoll. Trotzdem ist Dein Hinweis natürlich angebracht ;)
Viele Grüße
ghost
koehlerbv:
Nein, das item gibt es nicht - es ist ja ein völlig leeres, neues Dokument, was Du vor Dir hast. Wo soll das item dann herkommen ?
TomLudwig:
Wenn ich mit doc.Form = "AdvancedInfo" die Maske zuweise, dann muss doch das Feld auch da sein, wie es in der Maske dargestellt wird. Oder nicht?
koehlerbv:
Nein, es ist nicht da - jetzt gibt es nur das item "Form".
Du kannst aber ComputeWithForm eine Chance geben ;-)
Bernhard
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln