Das Notes Forum

Domino 9 und frühere Versionen => ND9: Entwicklung => Thema gestartet von: manboo8000 am 12.04.19 - 09:52:04

Titel: Wert per Aktion abfragen und in mehreren Dokumenten setzen
Beitrag von: manboo8000 am 12.04.19 - 09:52:04
Ich bräuchte bitte mal zu folgender Situation Hilfe.

In einer Ansicht soll es eine Aktion "Datum setzen" geben.

Dabei soll dann das Datum abgefragt werden, was gesetzt werden soll (soll der Benutzer selbst in diesem Moment eingeben können) und dann in ein Feld in die entsprechenden Dokumente geschrieben werden.

Wie stell ich das am Besten an?
Titel: Re: Wert per Aktion abfragen und in mehreren Dokumenten setzen
Beitrag von: Tode am 12.04.19 - 11:05:20
Wenn Du eine richtige "Datumseingabe" willst und nicht ein Textfeld, das Du dann versuchst, als Datum zu "interpretieren", dann brauchst Du eine Maske mit einem Datumsfeld oder einem Date- Picker, die Du als DialogBox anzeigst. Das geht nur per LotusScript und sieht -ganz grob, kein funktionierender Code- so aus:
Code
Dim ses as New NotesSession
Dim db as NotesDatabase
Dim ws as New NotesUIWorkspace
Dim docDlg as NotesDocument
Dim varDate as Variant
Dim varOk as Variant

Dim dc as NotesDocumentCollection
Dim doc as NotesDocument

Set db = ses.CurrentDatabase
Set docDlg = New NotesDocument( db )
varoK = ws.DialogBox( "NameDeinerMaskeMitDatumsFeld", True, True, False, False, False, False "Datumswahl", docDlg, True, False, True )
If not varOk then Exit Sub

varDate = docDlg.GetitemValue( "NameDesDatumsfeldsInDerDialogMaske" )(0)
'- ab hier die selektierten Dokumente durchlaufen und die Werte reinschreiben
Set dc = db.UnprocessedDocuments
Set doc = dc.GetFirstDocument
While not doc is Nothing
  Call doc.Replaceitemvalue( "DatumsFeld" , varDate )
  Call doc.Save( True, True, True )
  Set doc = dc.GetNextDocument( doc )
Wend

'- oder anstelle der While- Schleife:
Call dc.StampAll( "DatumsFeld" , varDate )