Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: Bruce Willis am 22.08.12 - 19:00:04

Titel: CalendarDateTime als einzelne Einträge in Ansicht
Beitrag von: Bruce Willis am 22.08.12 - 19:00:04
Hallo,

ich habe eine Ansicht ("Standardgliederung") mit Appointments.
Die erste sortierte Spalte zeigt CalendarDateTime ("Mehrfachwerte getrennt anzeigen").

Wenn ich diese Ansicht aufrufe, wird jedes Appointment wie gewünscht mehrfach angezeigt. D.h. von StartDate bis EndDate.

Wenn ich aber die Ansicht per Agenten auslese, geht er zwar richtig über alle Einträge in der Ansicht, nimmt aber bei jedem Eintrag immer dasselbe. Scheinbar immer StartDate.

Was müsste ich ändern?

Gruß
Leo

Code
		'Schleife über alle Abwesenheit-Entries in pers. Mail-DB
		n = 0
		Set entryM = vecM.GetFirstEntry()
		While Not entryM Is Nothing
			
			'Datum der Abwesenheit ermitteln					
			'szAusnahme-Dok erstellen
			Set doc = db.CreateDocument		'ein neues Dokument erstellen
			doc.Erstellt = Now
			
			If  IsArray (entryM.ColumnValues(0)) Then
				Print Join( entryM.ColumnValues(0))	
				doc.StartDate = CDat(Join(entryM.ColumnValues(0)))
				doc.EndDate = CDat(Join(entryM.ColumnValues(0)))
			Else
				Print  entryM.ColumnValues(0)		
				doc.StartDate = CDat(entryM.ColumnValues(0))
				doc.EndDate = CDat(entryM.ColumnValues(0))
			End If
			
			doc.szMA = dbM.Title
			doc.erstellerEcht = "Server"
			doc.wahl = "DORMA-Abwesenheit"
			doc.form = "szAusnahme"
			Call doc.Save(True,True)
			
			Set entryM = vecM.GetNextEntry(entryM)
			n = n + 1
			Print "n: " & n
		Wend
Titel: Re: CalendarDateTime als einzelne Einträge in Ansicht
Beitrag von: marschul am 23.08.12 - 08:47:07
Mmmh, das Problem hatte ich auch schon  :(
War der gleiche Effekt: Auch wenn ein Eintrag aus dem selben Dokument viel weiter unten in der View auftaucht und über die ViewEntries auch entsprechend später zurückgegeben wird, erscheint immer der erste Wert.
Was gibt denn Deine Zeile
Code
Print Join( entryM.ColumnValues(0))
aus? Sind das mehrere Werte? Wenn ja, sind es alle Starttermine des jeweiligen Dokuments? Dann könnte man eine Liste mit Zählern & den DocUNIDs aufbauen, um zu damit zu ermitteln, den wievielten Wert man jetzt nehmen müsste - nur so als nicht zu Ende gedachte Idee...
Titel: Re: CalendarDateTime als einzelne Einträge in Ansicht
Beitrag von: Bruce Willis am 23.08.12 - 09:38:40
Mmmh, das Problem hatte ich auch schon  :(
War der gleiche Effekt: Auch wenn ein Eintrag aus dem selben Dokument viel weiter unten in der View auftaucht und über die ViewEntries auch entsprechend später zurückgegeben wird, erscheint immer der erste Wert.
Danke fürs Feedback. Gut zu wissen, dass ich nicht alleine bin... ;)
(Wie) hast Du damals das Problem gelöst?


Was gibt denn Deine Zeile
Code
Print Join( entryM.ColumnValues(0))
aus? Sind das mehrere Werte? Wenn ja, sind es alle Starttermine des jeweiligen Dokuments? Dann könnte man ...
Die Zeile gibt in dem Beispiel nur den einzelnen Wert. Wie im 2. Screenshot.
Ohne Join - nur die Fehlermeldung. Daher musste ich Join verwenden...  :-[
Titel: Re: CalendarDateTime als einzelne Einträge in Ansicht
Beitrag von: marschul am 23.08.12 - 12:01:17
 
(Wie) hast Du damals das Problem gelöst?

Ich glaube gar nicht :(

Dennoch könnte man das meines Erachtens mit der Liste so machen. D.h. man merkt sich pro Dokument die Häufigkeit des Aufrufs und holt sich den entsprechenden Wert aus der Datumsliste direkt im Dokument. Geht halt etwas Performance bei drauf, weil man sich nicht mehr nur im View-Index bewegt...