Ich würde das Script mal debuggen und schauen, wann der Fehler genau auftritt. Wenn der Benutzer das Dokument im Frontend bearbeiten kann, kann er es auch mit Script, da gibt es keinen Unterschied.
In dem Script sind einige Ungereimtheiten, z.B. diese hier
Set docKunde = vieID.Getdocumentbykey(strIDKunde, True)
If docKunde Is Nothing Then
Msgbox "Fehler Dokument Kunde ist nicht vorhanden, Bitte wenden Sie sich an Ihren Systemandministrotor"
End If
'wenn Kundendokument Status abgeleht -> abbrechen
If docKunde.GetItemValue("Status")(0) = "Abgelehnt" Then
Exit Sub
End If
Es wird ein Fehler ausgeworfen, aber das Script nicht abgebrochen, der Abbruch kommt dann zwei Zeilen später mit object variable not set. Das hast Du an mehreren Stellen.
Weiterhin speicherst Du öfters das Kundendokument. Ohne allzu tief in den Code eingestiegen zu sein, würde ich entweder nur einmal das Kundendokument speichern, oder falls die einzelnen Bedingungen zur Speicherung sich gegenseitig ausschließen, das Script dann auch beenden.
Was ich überhaupt nicht verstehe, warum holst Du am Schluss das Kundendokument nochmal?
If booGenehmigt Then
Set docKunde = vieID.Getdocumentbykey(strIDKunde, True)
Call DocKunde.Replaceitemvalue("Status", "Genehmigt")
Call docKunde.save(True, False)
End If
Du hast das doch schon oben geholt, oder ist das jetzt ein anderes? Habe nicht gesehen, dass sich strIDKunde irgendwo ändert.
Tritt das Problem bei jeder Speicherung des Kundendokuments auf, oder nur bei der letzten, bei der das Dokument neu geholt wurde? Ist das vielleicht ein anderes Dokument? Evtl. ein Replizierkonflikt?