Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: kevisback am 19.09.05 - 11:04:47
-
Ich habe folgendes (simples) Problem, doch kurz vor Feierabend geht halt nicht mehr viel:
Es soll ein Wert in ein Feld bestimmter Felder geschrieben werden (If-Bedingung & Schleife).
Ich bekomme aber nicht mal das "Reinschreiben" (zu Testzwecken) ins current doc hin:
Sub Click(Source As Button)
Dim session As New NotesSession
Dim db As NotesDatabase
Dim uiws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim docCur As NotesDocument
Set db = session.CurrentDatabase
Set uidoc = uiws.CurrentDocument
Set docCur = uidoc.Document
docCur.Quantity = "400"
End Sub
Quantity ist ein normales Feld und der Button befindet sich im Dokument in der Action Bar.
Seid nicht zu streng mit mir ;-)
-
Öhm, also Du setzt das Item ja im Background und dann ohne Save.
Entweder im Frontend mit FieldSetText setzen oder im Background und dann mit docCur.Save auch speichern.
Ich habe folgendes (simples) Problem, doch kurz vor Feierabend geht halt nicht mehr viel
Coole Arbeitszeiten 8)
-
danke.....es geht...ich dummkopf.....die Arbeitszeiten sind nur so cool, weil ich in Shanghai sitze ;)
-
ok, als letztes fuer heute:
Sub Click(Source As Button)
Dim session As New NotesSession
Dim db As NotesDatabase
Dim uiws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim docCur As NotesDocument
Dim docNext As Notesdocument
Dim docTemp As Notesdocument
Dim dc As NotesDocumentCollection
Dim qty As Variant
Dim ItemNoCur As Variant
Dim ItemNoNext As Variant
Set db = session.CurrentDatabase
Set dc = db.UnprocessedDocuments
Set docNext = dc.GetFirstDocument
Set uidoc = uiws.CurrentDocument
Set docCur = uidoc.Document
qty = docCur.GetItemValue("Quantity")
ItemNoCur = docCur.GetItemValue("ItemNo")
Do While Not(docNext Is Nothing)
ItemNoNext = docNext.GetItemValue("ItemNo")
If (ItemNoNext = ItemNoCurrent) Then
docNext.Quantity = qty
Call docNext.Save(True,True)
'hier noch refreshen
End If
Set docNext = dc.GetNextDocument(docNext)
Loop
End Sub
Die While Schleife tuts nicht, d.h. die ist von Anfang an auf false....was mache ich falsch....?
-
Dc ist evtl. leer ?
prüfen mit dc.count > 0
-
ja richtig, ist leer, aber wie bekomme ich alle Dokumente da rein?
Immerhin rufe ich die Prozedur aus nem Dokument auf, vielleicht liegt es daran...
-
Hallo kevisback,
ja genau daran liegt es auch. Die Methode UnprocessedDocuments funktioniert nur in einer Ansicht oder einem Agenten, der auf selected Documentes einer Ansicht wirkt. Du kannst z.B. versuchen die Collection über die Methode GetAllDocumentsByKey Methode der Klasse NotesView zu füllen...
Viele Grüße
ghost
-
ok, habe alles hinbekommen, nur leider in Abhaengigkeit vom jeweiligen View. Gibt es eine Moeglichkeit aus dem Dokument heraus ALLE Dokumente in die Collection aufzunehmen?
-
Alle Dokumente in der Datenbank? Über die AllDocuments Eigenschaft der Klasse NotesDatabase...
Viele Grüße
ghost