Domino 9 und frühere Versionen > ND6: Entwicklung
Speicher Problem
Hedwig14:
Hallo,
ich habe Probleme beim Speichern eines Doks.
Trotz Call doc.Save( False, True )
werde ich gefragt ob das Dokument gespeichert werden soll.
Was mache ich in diesem Code falsch ?
Dim ws As New NotesUIWorkSpace
Dim s As New NotesSession
Dim db As Notesdatabase
Dim doc As notesdocument
Dim uidoc As notesUIdocument
Dim vg As String
Set db = s.CurrentDatabase
Set UiDoc = ws.CurrentDocument
Set doc = uidoc.Document
Dim heute As String
heute = Today()
'kann der User das Dokument selber freigeben ?
Dim vEval As Variant
Dim strRolle As String
strRolle = "[direkteFreigabe]"
vEval = Evaluate(|@IsMember("| & strRolle & |"; @UserRoles)|)
If vEval(0) = 1 Then
' User hat die Rolle um die Documente direkt an die Perso zu geben !!!
doc.Status_SWL = STATUS2
doc.Kommentar_TXT = doc.GetItemValue("Kommentar_TXT")(0) & Chr$(10) & heute & " -> Incentives für Mitarbeiter : " & Ucase(doc.INS_MAName(0))
doc.Kommentar_TXT = doc.GetItemValue("Kommentar_TXT")(0) & Chr$(10) & heute & " -> " & STATUSTEXT2 &": " & s.CommonUserName
doc.INS_befürwortetdurch = s.CommonUserName
doc.INS_am = heute
doc.INS_Votum = STATUSTEXT2
doc.INS_Votumdurch = s.CommonUserName
doc.INS_Votumam = heute
Messagebox "Der Antrag wurde zur weiteren Bearbeitung weitergeleitet. ",, doc.Art(0)
Call doc.Save( False, True )
Call uidoc.Close(True)
Exit Sub
Else
'User hat nicht die Rolle !!!
'an wen soll das Doc jetzt weitergeleitet werden ?
vg = doc.INS_BLName(0)
'ist der ausgewählte Kompetenzträger im Urlaub ?
Dim neuerVG As String
neuerVG = Vertreter(vg)
Dim person As NotesName
Set person = New NotesName(neuerVG)
'Felder für Workflow umbenennen
doc.Status_SWL = STATUS
doc.Kommentar_TXT = doc.GetItemValue("Kommentar_TXT")(0) & Chr$(10) & heute & " -> Incentives für Mitarbeiter : " & Ucase(doc.INS_MAName(0))
doc.Kommentar_TXT = doc.GetItemValue("Kommentar_TXT")(0) & Chr$(10) & heute & " -> " & STATUSTEXT &": " & s.CommonUserName
doc.Kommentar_TXT = doc.GetItemValue("Kommentar_TXT")(0) & Chr$(10) & heute & " -> zur Genehmigung an: " & + person.Common
doc.INS_befürwortetdurch = s.CommonUserName
doc.INS_am = heute
'Mail versenden
Dim mailempfänger As String
mailempfänger = neuerVG
Call MAILVERSAND (doc, ICONNR, STATUSTEXT, mailempfänger)
'Versandbeleg erstellen
Call VersandbelegErstellen (doc)
Messagebox "Der Antrag wurde zur weiteren Bearbeitung weitergeleitet. ",, doc.Art(0)
doc.Bearbeiter_letzter = s.UserName
doc.Bearbeiter_aktuell = neuerVG
Call doc.Save( False, True )
Call uidoc.Close(True)
Driri:
Du speicherst das Dokument im Backend, davon bekommt das Frontend allerdings nichts mit und fragt daher, ob Du speichern möchtest.
Um das zu umgehen, kannst Du im Frontend das Feld SaveOptions auf "0" setzen. Dann wird der Speichern-Dialog unterdrückt.
Call uidoc.FieldSetText("SaveOptions", "0")
koehlerbv:
Dein Frontend-Dokument weiss noch nicht, dass es im Backend bereits abgespeichert wurde.
Füge vor dem uidoc.Close ein
doc.SaveOptions = "0"
ein und Ruhe ist.
Bernhard
PS: Ingo, das mit dem FieldSetText wird in die Hose gehen, wenn das als Feld nicht existiert.
DAU-in:
Hi,
die Abfrage komm vom uidoc.close.
Probier mal
Call doc.Save( False, True )
Call uidoc.FieldSetText( "SaveOptions", "0")
Call uidoc.Close(True)
edit: ok, siehe Bernhard oben
Driri:
--- Zitat ---PS: Ingo, das mit dem FieldSetText wird in die Hose gehen, wenn das als Feld nicht existiert.
--- Ende Zitat ---
Stimmt, guter Hinweis. Danke Bernhard :)
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln