Domino 9 und frühere Versionen > ND7: Entwicklung

Räume und Ressourcen Vorgabewert ändern

(1/3) > >>

bikerboy:
Hallo , würde gerne den Wert für das Startdatum in der Schnellreservierung, um einen Tag zu erhöhen.

Klingt einfach, is es aber nicht. Habe schon ein bisschen probiert, sogar schon einen korrekten Wert übernommen, aber wenn ich F9 drücke wird der Wert wieder zurück gesetzt.

gossifu:
Was hast Du denn alles schon gemacht?
Sicherlich den Vorgabewert mit Adjust hochgezählt.
Dann sind die Entering/Exeting-Ereignisse der Felder interessant, die auf die ScriptLib 'CSReservation' verweisen.

Ist schon ein wenig tricky, aber mit Debuggen und probieren wirst Du das schon hinbekommen.

Kjeld

gossifu:
Also, beim Vorgabwert habe ich mit Adjust den Wert 1 Tag hochgesetzt und dann in besagter Scriptbibliothek in Declarations in der
--- Code: ---Class CSEventNotes As CSEvent
--- Ende Code ---
in der
--- Code: ---Sub Postopen
--- Ende Code ---
folgende Änderungen vorgenommen:

         Ausschnitt
--- Code: ---   ' If this is a new document, initialize our backend document         
   If(m_uidoc.IsNewDoc Or note.isnewnote) Then
      Set m_note = m_uidoc.document
      Call Me.SetOption( CS_DOC_ALARMS)
      Call Me.CSDocOpen(Nothing)


      'neu *****************
      Call m_uidoc.Refresh()
      '*********************

      Call m_uidoc.Reload()
      Call m_uidoc.Refresh()
   Else
      If (note.GetItemValue("Repeats")(0) = "1") Then SetUIFlag( UI_FLAG_REPEAT)
      If (note.GetItemValue("Alarms")(0) = "1") Then SetUIFlag( UI_FLAG_ALARM )
      If (Me.EventType <> 3) Then
         If (Me.IsOwner And m_beobject.Context <> CTX_REPEAT_MAIN) And NAMECompare(note.getitemvalue("Principal")(0), m_BEObject.CalendarProfile.OwnerName) Then m_uidoc.EditMode = True
      End If
      m_entrytype = m_BEObject.CurrentType
   End If

--- Ende Code ---
   

Ich hab noch ein Refresh reingesetzt, da das Backend-Dokument noch den aktuellen Tag drin hat und bei einem Reload der Vorgabewert von diesem überschrieben wird.
Auch ein F9 kann den Tag jetzt nicht mehr ändern.   

mfg

Kjeld   

gossifu:
Bessere Lösung:
Du kannst natürlich auch vor dem Reload den Wert aus dem Frontend auslesen und nach dem Reload wieder reinschreiben.
Das würde ich in der Sub Postopen der Maske machen, dann brauchst Du die Scriptbibliothek nicht anfassen.

So ungefähr:


--- Code: ---Sub Postopen(Source As Notesuidocument)
   If (source.InPreviewPane) Then Exit Sub

   If Source.IsNewDoc Then
      Dim currentdate As String
      currentDate = Source.FieldGetText("StartDate")
      Call uiresdoc.Postopen()
      Call Source.FieldSetText("StartDate", currentDate)
   Else
      Call uiresdoc.PostOpen()
   End If

End Sub
--- Ende Code ---

Klappt bei mir auch

bikerboy:
So habe beide Varianten mal ausprobiert, funktionieren tut bei mir leider keine.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln