Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: kevisback am 19.09.05 - 11:04:47

Titel: Werte in Feld schreiben per Button
Beitrag 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 ;-)
Titel: Re: Werte in Feld schreiben per Button
Beitrag von: Driri am 19.09.05 - 11:08:57
Ö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.


Zitat
Ich habe folgendes (simples) Problem, doch kurz vor Feierabend geht halt nicht mehr viel

Coole Arbeitszeiten  8)
Titel: Re: Werte in Feld schreiben per Button
Beitrag von: kevisback am 19.09.05 - 11:15:09
danke.....es geht...ich dummkopf.....die Arbeitszeiten sind nur so cool, weil ich in Shanghai sitze  ;)
Titel: Re: Werte in Feld schreiben per Button
Beitrag von: kevisback am 19.09.05 - 11:46:54
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....?
Titel: Re: Werte in Feld schreiben per Button
Beitrag von: umi am 19.09.05 - 12:37:13
Dc ist evtl. leer ?

prüfen mit dc.count > 0

Titel: Re: Werte in Feld schreiben per Button
Beitrag von: kevisback am 20.09.05 - 03:57:08
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...
Titel: Re: Werte in Feld schreiben per Button
Beitrag von: ghost am 20.09.05 - 06:56:52
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
Titel: Re: Werte in Feld schreiben per Button
Beitrag von: kevisback am 20.09.05 - 10:04:20
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?
Titel: Re: Werte in Feld schreiben per Button
Beitrag von: ghost am 20.09.05 - 10:38:49
Alle Dokumente in der Datenbank? Über die AllDocuments Eigenschaft der Klasse NotesDatabase...

Viele Grüße
ghost