Domino 9 und frühere Versionen > ND8: Entwicklung
Problem beim Speichern einer Dialogbox
it898ur:
Hallo,
Notes speichert das Dokument, welches der Dialogbox übergeben wurde - jedoch haben Dialogboxen Probleme mit Autorenfeldern, wenn das zugrunde liegende Dokument nie zuvor gespeichert wurde (wie ich leidvoll feststellen musste).
In der Regel hilft es aber das Autoren-Feld vor dem Öffnen der Dialogbox per Script anzulegen, zu bestücken und mit dem richtigen Typ zu versehen.
Gruß
André
iukhdh:
Hallo Leute,
nachdem ich alle Masken im Querysave markiert hatte, bin ich dahintergekommen dass in keiner dieser Masken etwas zum speichern versucht wird.
Ich bin nun in meiner Benachrichtigungsmaske Zeile für Zeile durchgepromptet und bin nun darauf gekommen, dass es an einem Link zum Ausgangsdokument liegt. Da hat der Mitarbeiter nur Leserecht.
Wodurch kann es dadurch Berechtigungsprobleme geben?
@Andre: Das Ausgangsdokument ist im Workflow auf jeden Fall immer gespeichert, bevor die Mitarbeiter an die Benachrichtigungsfunktion kommen.
Hier der Code, Problem ist unten markiert
--- Code: ---Sub Queryclose(Source As Notesuidocument, Continue As Variant)
Dim session As New notessession
Dim db As NotesDatabase
Dim rtitem As NotesRichTextItem
Dim ws As New notesuiworkspace
Dim uidoc As NotesUIDocument
Dim rtitem2 As NotesRichTextItem
Dim aktdoc As NotesDocument
'Erstmal refreshen, damit alles ins Backend kommt.
Call source.refresh(True)
Set aktdoc = Source.Document
'Inhalte holen
Set rtitem2 = aktdoc.GetFirstItem ("Textinhalt" )
Set db = session.CurrentDatabase
Dim altdoc As Notesdocument
Set altdoc = db.GetDocumentByUNID(source.fieldgettext("HDokumentID"))
'Abfrage, ob der OK oder der Abbruchknopf gedrückt wurde
If Not Source.DialogBoxCanceled Then
'Neues Dokument vorbereiten, mit den Inhalten für Empfänger, Betreff, Text ....
Set doc = New NotesDocument(db)
With doc
.Form = "Memo"
'SendTo wird nicht mit Fieldgettext gefüllt, da hiermit auch Mehrfachwerte übergeben werden
.SendTo = Source.Document.Empfaenger
End With
If source.fieldgettext("Meldungsart") = "E-Mail" And source.FieldGetText("Betreff") = "" Then
doc.Subject = "Servicefall "+ source.fieldgettext("Servicenummer")+" vom "+source.fieldgettext("Erstellungsdatum")
Else
If source.Fieldgettext ("Meldungsart") = "E-Mail" Then
doc.Subject = Source.fieldgettext("Betreff")+" - Servicefall "+source.fieldgettext("Servicenummer")+" vom "+source.fieldgettext("Erstellungsdatum")
Else
doc.Subject = Source.fieldgettext("Meldungsart")+" - Servicefall "+source.fieldgettext("Servicenummer")+" vom "+source.fieldgettext("Erstellungsdatum")
End If
End If
'doc.Body = .... hier kann man auch noch direkt was ins Body schreiben, wird aber weiter unten mit DocLink usw erledigt.
'Ein Richtextitem wird erstellt für den Body, inkl. Link
Set rtitem = New NotesRichTextItem( doc, "Body" )
Call rtitem.AppendText ("HINWEIS: Bitte antworten Sie nicht direkt auf diese Mail sondern geben Sie eine evtl. Rückantwort im Servicefall ein."+Chr$(10)+"Bitte verwenden Sie dazu diesen Link -> ")
' hier hängt der Fehler ********************************************
Call rtitem.AppendDocLink( altdoc, "Link zum Servicefall " + source.fieldgettext("Servicenummer"))
' Ende Fehler **************************************************
Call rtitem.AddNewLine( 2 )
Call rtitem.AppendText (source.fieldgettext("Anrede"))
Call rtitem.AddNewLine( 2)
Call rtitem.AppendRTItem(rtitem2)
Call rtitem.AddNewLine( 2)
Call rtitem.AppendText (source.fieldgettext("Abschluss"))
Call rtitem2.Remove
Call doc.Send(False)
End If
End Sub
--- Ende Code ---
iukhdh:
Da sich der Fred hier inzwischen doch in eine andere Richtung entwickelt hat, beende ich ihn hiermit, und beginne einen neuen
"Problem mit Berechtigungen bei rtitem.AppendDocLink"
http://atnotes.de/index.php/topic,47217.0.html
iukhdh:
Ergänzung:
Das Problem ist gelöst.
Es lag an der Standardansicht, für die die normalen Anwender nicht berechtigt waren.
Um einen Doclink einzufügen, benötigt man eine Standardansicht im Zugriff.
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln