Autor Thema: Räume und Ressourcen Vorgabewert ändern  (Gelesen 3306 mal)

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Räume und Ressourcen Vorgabewert ändern
« am: 05.11.08 - 09:04:15 »
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.
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

Offline gossifu

  • Senior Mitglied
  • ****
  • Beiträge: 352
  • Geschlecht: Männlich
  • Dummheit schafft Freizeit
Re: Räume und Ressourcen Vorgabewert ändern
« Antwort #1 am: 05.11.08 - 09:21:34 »
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
Immer lustig und vergnügt, bis der A.... im Sarge liegt. ;-)

Offline gossifu

  • Senior Mitglied
  • ****
  • Beiträge: 352
  • Geschlecht: Männlich
  • Dummheit schafft Freizeit
Re: Räume und Ressourcen Vorgabewert ändern
« Antwort #2 am: 05.11.08 - 10:21:12 »
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
in der
Code
Sub Postopen 
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
   

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   
Immer lustig und vergnügt, bis der A.... im Sarge liegt. ;-)

Offline gossifu

  • Senior Mitglied
  • ****
  • Beiträge: 352
  • Geschlecht: Männlich
  • Dummheit schafft Freizeit
Re: Räume und Ressourcen Vorgabewert ändern
« Antwort #3 am: 05.11.08 - 10:35:38 »
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

Klappt bei mir auch
Immer lustig und vergnügt, bis der A.... im Sarge liegt. ;-)

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: Räume und Ressourcen Vorgabewert ändern
« Antwort #4 am: 05.11.08 - 10:53:24 »
So habe beide Varianten mal ausprobiert, funktionieren tut bei mir leider keine.
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

Offline gossifu

  • Senior Mitglied
  • ****
  • Beiträge: 352
  • Geschlecht: Männlich
  • Dummheit schafft Freizeit
Re: Räume und Ressourcen Vorgabewert ändern
« Antwort #5 am: 05.11.08 - 10:55:42 »
Wie hast Du denn Deinen Wert gesetzt?

Kjeld
Immer lustig und vergnügt, bis der A.... im Sarge liegt. ;-)

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: Räume und Ressourcen Vorgabewert ändern
« Antwort #6 am: 05.11.08 - 11:04:09 »
Also habe in das Feld StartDate den Vorgabewert :

@Adjust(@Today;0;0;1;0;0;0)

gesetzt und deinen Code für das Postopen genutzt.
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

Offline gossifu

  • Senior Mitglied
  • ****
  • Beiträge: 352
  • Geschlecht: Männlich
  • Dummheit schafft Freizeit
Re: Räume und Ressourcen Vorgabewert ändern
« Antwort #7 am: 05.11.08 - 11:28:11 »
Hallo,

ich ahbe jetzt, da die Maske Quickreservation nur für das erstellen benutz wird in das Postopen folgendes reingetan:
   
Code
   
   If (source.InPreviewPane) Then Exit Sub
   Call uiresdoc.PostOpen()
	
	
   Dim currentdate As NotesDateTime
   Set Currentdate = New NotesDateTime(Source.FieldGetText("StartDate"))
   Call currentDate.AdjustDay(1)	
   Call Source.FieldSetText("StartDate", currentDate.DateOnly)
   Call Source.refresh

Ich habe zuerst nur auf das template geachtet und jetzt mit einer vollen DB probiert,
sollte klappen.

Kjeld
Immer lustig und vergnügt, bis der A.... im Sarge liegt. ;-)

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: Räume und Ressourcen Vorgabewert ändern
« Antwort #8 am: 05.11.08 - 11:42:34 »
Habe noch nen schöneren Ansatzpunkt gefunden.

Die Schaltfläche "Schnellreservierung" selbst


Code
	Dim tomorow As New NotesDateTime(Cstr(Today))
	Call tomorow.AdjustDay(1)
	
	Set db = s.CurrentDatabase
	Set siteView = db.GetView("($Sites)")
	Set rrView = db.GetView("($RLookup)")
	
	Dim newDoc As New NotesDocument(db)
	
	errMsg1= "Sie müssen einen Standort sowie einen Raum bzw. eine Ressource erstellen, bevor Reservierungen erstellt werden können"
	errMsg2 = "Sie müssen einen Raum bzw. eine Ressource erstellen, bevor Reservierungen erstellt werden können"
	
	If siteView.Entrycount = 0 Then
		Messagebox(errMsg1)
	Elseif rrView.EntryCount = 0 Then
		Messagebox(errMsg2)
	Else
		Set dbc = db.UnprocessedDocuments
		If dbc.count = 1 Then
			
			Set seldoc = dbc.GetFirstDocument
			Call newDoc.ReplaceItemValue("Form", "QuickRes")
			
			If selDoc.HasItem("ResourceName") Then Call newDoc.ReplaceItemValue("SelectedRR", selDoc.GetItemValue("ResourceName")(0))
			If selDoc.HasItem("StartDateTime") Then Call newDoc.ReplaceItemValue("SDT", tomorow.DateOnly)
			If selDoc.HasItem("EndDateTime") Then Call newDoc.ReplaceItemValue("EDT", selDoc.GetItemValue("EndDateTime")(0))
			If selDoc.HasItem("$Ref") Then Call newDoc.ReplaceItemValue("$PreR7Repeat", "1")
			If selDoc.HasItem("ResourceType") Then Call newDoc.ReplaceItemValue("ResourceType", selDoc.GetItemValue("ResourceType")(0))
			
			Call ws.EditDocument(True, newDoc)
		Else
			Call newDoc.ReplaceItemValue("Form", "QuickRes")
			Call newDoc.ReplaceItemValue("SDT",tomorow.DateOnly)
			Call ws.EditDocument(True, newDoc)
			
		End If
	End If
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

Offline gossifu

  • Senior Mitglied
  • ****
  • Beiträge: 352
  • Geschlecht: Männlich
  • Dummheit schafft Freizeit
Re: Räume und Ressourcen Vorgabewert ändern
« Antwort #9 am: 05.11.08 - 12:01:05 »
Da hast du aber das Problem, dass, wenn Du auf einer bestehenden Reservierung in der Zukunft stehst, oder im Kalender auf einem Tag, trotzdem immer der morgige Tag genommen wird.
Ich hatte das eigentlich so verstanden, das immer ein Tag weiter genommen werden soll.
Wenn das aber nur für leere Dokumente zutreffen soll, dann muss das tomorrow.DateOnly bei if dbc.Count = 1 raus.
Weil Du sonst nie eine Quickreservation in der Zukunft erstellen kannst, sondern immer das Datum eintragen mußt.

Kjeld
Immer lustig und vergnügt, bis der A.... im Sarge liegt. ;-)

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: Räume und Ressourcen Vorgabewert ändern
« Antwort #10 am: 05.11.08 - 12:10:00 »
Ja meine Anforderung war es in dem Fall, das wirklich immer für Morgen der Wert gesetzt wird.

Und das wird vollends erfüllt.

Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

Offline gossifu

  • Senior Mitglied
  • ****
  • Beiträge: 352
  • Geschlecht: Männlich
  • Dummheit schafft Freizeit
Re: Räume und Ressourcen Vorgabewert ändern
« Antwort #11 am: 05.11.08 - 13:15:12 »
Hallo bikerboy,

dann mußt Du das auch so schreiben.
Hallo , würde gerne den Wert für das Startdatum in der Schnellreservierung, um einen Tag zu erhöhen.
Das Startdatum wird nämlich von einigen Faktoren beeinflußt.
Aber hast ja trotzdem eine Lösung gefunden, obwohl ich denke, dass die Anwender früher oder später es wieder geändert haben wollen. Ich kann mir nämlich nicht vorstellen, dass sie immer das in der Zukunft liegende Datum raussuchen wollen.

Kjeld
Immer lustig und vergnügt, bis der A.... im Sarge liegt. ;-)

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: Räume und Ressourcen Vorgabewert ändern
« Antwort #12 am: 05.11.08 - 13:32:47 »
Ja das ist sicherlich richitg, seit wann wissen User was sie wollen.

BEdanke mich trotzdem für die Mitarbeit
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz