Lotus Notes / Domino Sonstiges > Projekt Bereich
Fehlermeldung bei Call Dokument.Save(True,False)
(1/1)
bawener:
Hallo zusammen,
Wahrscheinlich habe ich einen Frischling Fehler gemacht, aber ich finde ihn nicht.
Kurze Beschreibung:
Wir arbeiten mit einer mächtigen Datenbank, hier werden Kalkulationen für Bauteile und Produkte erstellt. Aus diesen Kalkus werden dann Angebote, Lieferscheine und Rechnungen generiert.
Der folgende Agent sollte Zuschläge auf die einzelnen Positionen der Produkte aus einer Ansicht (beinhaltet die Projektinformationen und vordefinierte Zuschläge) ziehen und dann auf die einzelnen Positionsdokumente übertragen. Es schein alles zu funktionieren nur bei
Call Dokument.Save(True,False) bekomme ich die Fehlermeldung "Object variable not set"
Hoffe ich habe es einigermaßen verständlich erklärt.
Hier noch der Code:
Sub Initialize
Dim Sitzung As New NotesSession
Dim Workspace As New NotesUIWorkspace
Dim Dokumente As NotesDocumentCollection
Dim Dokument As NotesDocument
Dim IsCase As Integer
Dim TempString As String
Dim ID As String
Dim Projektnummer As String
Dim Casenummer As String
Dim Gewaehlt As Variant
Dim XXX As Variant
Dim uiview As NotesUIView 'BH für deselect all
Set uiview = Workspace.CurrentView 'BH für deselect all
Set Dokumente = Sitzung.CurrentDatabase.UnprocessedDocuments 'BH
Set Dokument = Dokumente.GetFirstDocument 'BH
ID = Dokument.ID(0) +"//"+Dokument.Beleg_ID(0)
Set Kalkumaske = Sitzung.CurrentDatabase.GetView ("(lookup Zuschlag)") ' Ansicht holen
Set XXX = Kalkumaske.GetEntryByKey (ID, True)
ZMat = Dokument.ZMat(0)
ZFert = Dokument.ZFert(0)
ZVV = Dokument.ZVV(0)
ZGew = Dokument.ZGew(0)
ZVer = Dokument.ZVer(0)
ZSko = Dokument.ZSko(0)
ZRab = Dokument.ZRab(0)
Set Dokumente = Sitzung.CurrentDatabase.UnprocessedDocuments
Set Dokument = Dokumente.GetFirstDocument
While Not Dokument Is Nothing
ID = Dokument.ID(0) +"//"+Dokument.Beleg_ID(0)
Set Lookup = Sitzung.CurrentDatabase.GetView ("(emb Rechnungspositionen)") ' Ansicht holen
Set Eintrag = Lookup.GetEntryByKey (ID, True)
Dokument.GKZ_Material = ZMat 'Zuschlag Material
Dokument.GKZ_Fertigung = ZFert 'Zuschlag Fertigung
Dokument.GKZ_Verw = ZVV 'Zuschlag Verwaltung & Vertieb
Dokument.GKZ_Gewinn = ZGew 'Gewinnzuschlag
Dokument.VZuschlag = ZVer 'Verhandlungszuschlag
Dokument.Skonto = ZSko 'Skonto
Dokument.Rabatt = ZRab 'Rabatt
Dokument.Zuschlag_Gesamt = (ZMat + ZFert + ZVV + ZGew + ZVer + ZSko + ZRab) / 100 'das ganze durch 100 um Faktor zu bekommen, dient der Übersicht
Set Dokument = Dokumente.GetNextDocument(Dokument)
Call Dokument.Save(True,True,True)
Wend
End Sub
Danke für Eure Geduld
bhawener
Klafu:
Hallo und Willkommen hier im Forum!
Ich schreib einfach mal, was mir auffällt:
Die folgenden Codezeile hast du doppelt im Script. Einmal ziemlich am Anfang, dann nochmal vor der While-Schleife. Ist das gewollt?
--- Code: --- Set Dokumente = Sitzung.CurrentDatabase.UnprocessedDocuments 'BH
Set Dokument = Dokumente.GetFirstDocument 'BH
ID = Dokument.ID(0) +"//"+Dokument.Beleg_ID(0)
--- Ende Code ---
--- Code: --- Set Kalkumaske = Sitzung.CurrentDatabase.GetView ("(lookup Zuschlag)") ' Ansicht holen
Set XXX = Kalkumaske.GetEntryByKey (ID, True)
--- Ende Code ---
Was die Zeilen machen ist mir aus dem Code heraus nicht ganz klar. Sie werden scheinbar nicht gebraucht. Ich wollte auch noch darauf hinweisen, dass du einer "KalkuMASKE" eine View zuweist. ;)
Zudem hast du eine UIView deklariert und nutzt sie im Script ebenfalls gar nicht.
Dein Problem dürfte aber sein, dass du wohl ein offenes Dokument hast welches du änderst, dann ein neues Dokument lädst und dann versuchst das Dokument, das du geändert hattest, zu speichern.
--- Code: ---Dokument.Zuschlag_Gesamt = (ZMat + ZFert + ZVV + ZGew + ZVer + ZSko + ZRab) / 100 'das ganze durch 100 um Faktor zu bekommen, dient der Übersicht
Set Dokument = Dokumente.GetNextDocument(Dokument)
Call Dokument.Save(True,True,True)
Wend
--- Ende Code ---
Das ist ein wenig die falsche Reihenfolge.
Du holst dir auch einmal ein Eintrag (Set Eintrag = Lookup.GetEntryByKey (ID, True)) aber verarbeitest ihn nicht weiter.
Macht das Script denn das, was es soll? Es fällt mir ein wenig schwer es nachzuvollziehen.
Achja. Und der Thread ist in der falschen Kategorie ;)
Chris
bawener:
Hallo Klafu,
erst mal vielen Dank für die schnelle Antwort,
das mit den doppelten Einträgen und der falschen Reihenfolge kann durchaus sein, bin leider noch nicht so ganz Fit in dem Thema.
Werde heute mal das Script überarbeiten und alles was doppelt scheint eliminieren.
Die Reihenfolge versuche ich auch zu verbessern.
Also werde ich es neu aufbauen und versuchen es auch besser zu verstehen.
Falls dann noch etwas auftritt werde ich hier zwangsläufig wieder auftauchen.
Wenns funktioniert natürlich mit dem richtigen Script auch.
Grüsse
bhawener
Navigation
[0] Themen-Index
Zur normalen Ansicht wechseln