Domino 9 und frühere Versionen > ND9: Entwicklung

NotesDocument in RichText einbetten

(1/3) > >>

mauermauer:
Hallo Zusammen,

in einem Dokument wird über einen Button ein weiteres Dokument erstellt. Nach dem Speichern sollen Teile davon in das erste Dokument übernommen werden. Teilweise funktioniert das wunderbar.

Problem ist der Link des zweiten Dokumentes (orangenes Blatt), der in einem RichText-Feld im ersten Dokument abgelegt werden soll.

Ich habe mittlerweile ein paar Stunden mit der Suche nach der Nadel im Heuhaufen verbracht. Hoffe nun auf eure schlauen Ideen.

Hier der letzte Stand des relevanten Codes:

--- Code: ---Set rtitem = New NotesRichTextItem(doc.Document,"PRLINK")
Call rtitem.Appenddoclink(uidocPR.Document, "", "")
Set object = rtitem.Embedobject(EMBED_OBJECT, "", "")
--- Ende Code ---

Danke schon mal für eure Beiträge

umi:
Moin

Und was ist jetzt genau das Problem ?

Ich denke das EmbedObject ist in diesem Falle überflüssig.
Ein Teil vom irrelevanten Code wäre jeweils Hilfreich, da sonst die Kristallkugel überstunden machen muss.

mauermauer:
Das Problem ist, dass das RT-Feld mit dem Dokumenten-Link leer bleibt


--- Code: ---Function CreatePR(arrPositions As Variant,doc As NotesUIDocument, hazard As Boolean) As NotesDocument
Dim s As New NotesSession
Dim ws As New NotesUIWorkspace
Dim i As Integer
Dim iPosCount As Integer
Dim sPrefixNF As String
Dim sPrefixPR As String
Dim rtItem As NotesRichTextItem
Dim dbCurrent As NotesDatabase
Dim dbBF As NotesDatabase
Dim uiDocPR As NotesUIDocument
Set dbCurrent = s.Currentdatabase
Dim object As NotesEmbeddedObject
If Left(dbCurrent.Title,3) = "***" Then
Set dbBF = s.Getdatabase("EuropeNotesDev1/Servers/XXX","Firma\IT\DEV_Purchase.nsf", False)
Set uiDocPR = ws.Composedocument("EuropeNotesDev1/Servers/XXX", "Firma\IT\DEV_Purchase.nsf", "PReq")
Else
Set dbBF = s.Getdatabase(dbCurrent.Server, "XXX\Purchase.nsf", False)
Set uiDocPR = ws.Composedocument(dbCurrent.Server, "XXX\Purchase.nsf", "PReq")
End If
'If hazard = True Then
' Print "Test4"
' Call uiDocPR.Fieldsettext("HazardMaterialNF","True")
' Print "Test5"
' Else
' Print "Test4_1"
' Call uiDocPR.Fieldsettext("HazardMaterialNF","False")
' Print "Test5_1"
' End If
Call uiDocPR.Fieldsettext("UNIDLinkToNachforderung", doc.Document.Universalid)
Call uiDocPR.Fieldsettext("Currency3B","EUR")
'Call uiDocPR.Fieldsettext("UpdateNachforderung","")
For i = 0 To UBound(arrPositions)
sPrefixNF = "P" & arrPositions(i)
   sPrefixPR = "_" & CStr(i+1)
   Print "TEST"
Call uiDocPR.Fieldsettext("QTY" & sPrefixPR, doc.Fieldgettext(sPrefixNF & "Mge"))
Call uiDocPR.Fieldsettext("DESC" & sPrefixPR, doc.Fieldgettext(sPrefixNF & "ArtBeschr"))
Call uiDocPR.Fieldsettext("PRTNO" & sPrefixPR, doc.Fieldgettext(sPrefixNF & "ANR"))
Call uiDocPR.Fieldsettext("LESTUNITPRICE" & sPrefixPR, doc.Fieldgettext(sPrefixNF & "EP"))
Next
Set CreatePR = uiDocPR.Document
doc.Document.StatusOfPR = uiDocPR.Document.Getitemvalue("Status")
doc.Document.PRID       = uiDocPR.Document.Getitemvalue("ReqNo")
' Set rtitem = New NotesRichTextItem(doc.Document,"PRLINK")
' Call rtitem.Appenddoclink(uidocPR.Document, "", "")
' Set object = rtitem.Embedobject(EMBED_OBJECT, "", "")
doc.Document.TriggerPRJ = "1"
End Function
--- Ende Code ---

jBubbleBoy:
Wenn Update nicht reichen sollte (https://www.ibm.com/support/knowledgecenter/en/SSVRGU_9.0.1/basic/H_UPDATE_METHOD_RTITEM.html) dann musst du das Dokument einmal schließen und neu öffnen.

Optional könnte man den Doc-Link auch über die Zwischenablage in das RichtextItem und somit über das UiDocument einfügen ... ist aber etwas aufwendiger ;)

mauermauer:

--- Zitat von: jBubbleBoy am 13.07.18 - 09:59:14 ---Optional könnte man den Doc-Link auch über die Zwischenablage in das RichtextItem und somit über das UiDocument einfügen ... ist aber etwas aufwendiger ;)


--- Ende Zitat ---

Hauptsache es geht ans Laufen. Wenn ich den ausgegrauten Teil ganz unten aktiviere heißt die Fehlermeldung, dass nicht beide "" leer sein dürfen. In den Beispielen die ich so gefunden habe wird meist ein "C:..." angehängt. Es soll ja ein Notes-Doc sein.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln