Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung - XPages => Thema gestartet von: Sutpen am 21.05.13 - 14:18:18

Titel: Ansicht - Nur Hauptdokument sichtbar falls bestimmtes Antwortdokument vorhanden
Beitrag von: Sutpen am 21.05.13 - 14:18:18
Hallo zusammen,

einer von euch hat doch bestimmt einen guten Hinweis.

Ich habe eine XPage, wo z.B. ein Benutzer A ein Hauptdokument erzeugt. Benutzer B kann dann über einen Button ein Antwortdokument erzeugen. Das Haupt- und Antwortdokument sind jeweils verschiedene Masken im Hintergrund. Jetzt würde ich gerne ein Ansicht bauen, in der Benutzer B nur alle Hauptdokumente sieht, wo er ein Antwortdokument erzeugt hat, im besten Fall wären die Antwortdokumente nicht mit in dieser Ansicht aufgelistet.

Vielen Dank

René
Titel: Re: Ansicht - Nur Hauptdokument sichtbar falls bestimmtes Antwortdokument vorhanden
Beitrag von: dnotes am 21.05.13 - 15:31:26
Dann schreibe beim Erzeugen eines Antwortdokumentes den Namen des Erstellers ins Hauptdokument. Nach diesem Inhalt kannst Du die Ansicht aufbauen.
Titel: Re: Ansicht - Nur Hauptdokument sichtbar falls bestimmtes Antwortdokument vorhanden
Beitrag von: Sutpen am 21.05.13 - 15:40:48
Einen Punkt hatte ich noch vergessen. Es ist auch möglich, dass mehrere Personen ein Antwortdokument zu dem selben Hauptdokument erzeugen.
Titel: Re: Ansicht - Nur Hauptdokument sichtbar falls bestimmtes Antwortdokument vorhanden
Beitrag von: dnotes am 21.05.13 - 18:24:49
Ändert aber nichts an meinem Vorschlag.
Titel: Re: Ansicht - Nur Hauptdokument sichtbar falls bestimmtes Antwortdokument vorhanden
Beitrag von: DAU-in am 21.05.13 - 22:23:03
Dann bau einen Array auf, in dem du alle Ersteller sammelst.
Titel: Re: Ansicht - Nur Hauptdokument sichtbar falls bestimmtes Antwortdokument vorhanden
Beitrag von: Sven Hasselbach am 22.05.13 - 10:44:10
Alternative 1:
Bau ne Ansicht, die nur die Antwortdokumente anzeigt, gefiltert nach dem Benutzernamen. Ändere die Links / Spaltenwerte, das die Werte aus dem Hauptdokument angezeigt werden anstelle des Antwortdokuments.

Alternative 2:
Bau mit Hilfe eines Repeat Controls eine echte Übersicht auf und zeige nur die Hauptdokumente an
Titel: Re: Ansicht - Nur Hauptdokument sichtbar falls bestimmtes Antwortdokument vorhanden
Beitrag von: Peter Klett am 22.05.13 - 11:37:20
Danke, ich verfolge immer sehr gerne die Antworten zu den XPages. Obwohl ich sie jetzt noch nicht aktiv nutze, lerne ich dabei immer mal wieder etwas darüber, was geht (bzw. gehen könnte), ohne dass ich es selbst aktuell anwenden könnte.

Deine Alternative 1 wird aber nur funktionieren, wenn es von jedem Benutzer maximal ein Antwortdokument zu dem Hauptdokument geben kann, sonst erscheinen die Informationen aus dem Hauptdokument mehrfach (da liegt ja eine "normale" Ansicht dahinter).

Könnte man eventuell mit einer Kategorie arbeiten, die nicht geöffnet werden kann, und in diese Spalte die Informationen aus dem Hauptdokument anzeigen lassen? Vermutlich fehlt einem dann die schicke Gestaltung der einzelnen Spalten
Titel: Re: Ansicht - Nur Hauptdokument sichtbar falls bestimmtes Antwortdokument vorhanden
Beitrag von: Sven Hasselbach am 22.05.13 - 12:40:33
Zitat
Deine Alternative 1 wird aber nur funktionieren, wenn es von jedem Benutzer maximal ein Antwortdokument zu dem Hauptdokument geben kann, sonst erscheinen die Informationen aus dem Hauptdokument mehrfach (da liegt ja eine "normale" Ansicht dahinter).
Doch, das geht.

Die Ansicht nach $REF bzw. oder Key des Hauptdokumentes kategorisieren.  In der Datenquelle im ViewPanel ExpandLevel auf 1 setzen. Dem ViewEntry einen Variablennamen zuordnen und die Spalten nach belieben selbts zusammen bauen.

Hier ein kleines Beispiel:
Code
<?xml version="1.0" encoding="UTF-8"?>
<xp:view
	xmlns:xp="http://www.ibm.com/xsp/core">
	
	<xp:viewPanel
		rows="1"
		id="viewPanelResponses"
		var="row">
		<xp:this.data>
			<xp:dominoView
				var="viewResponses"
				viewName="AllResponsesCat"
				expandLevel="1">
			</xp:dominoView>
		</xp:this.data>
		
		<xp:viewColumn
			id="viewColumnParentForm">
			<xp:this.value>
				<![CDATA[#{javascript:
				var entry:NotesXspViewEntry = row;
				var doc:NotesDocument = database.getDocumentByUNID( entry.getColumnValues().get(0) );
				doc.getItemValueString("Form")
				}]]>
			</xp:this.value>
		</xp:viewColumn>
		
	</xp:viewPanel>
	
</xp:view>

P.S. Was dann ungefähr die Lösung mit der nicht aufmachbaren Kategorie wäre ;-)

Man verliert natürlich ein paar Features wie z.B. die Sortierbarkeit u.ä.
Titel: Re: Ansicht - Nur Hauptdokument sichtbar falls bestimmtes Antwortdokument vorhanden
Beitrag von: Sutpen am 23.05.13 - 08:32:30
Ich danke euch für eure Antworten. Werde dann mal die verschiedenen Möglichkeiten durchgehen.

Gruß René
Titel: Re: Ansicht - Nur Hauptdokument sichtbar falls bestimmtes Antwortdokument vorhanden
Beitrag von: dnotes am 23.05.13 - 11:46:48
Da hatte Peter schon Recht. Wenn es 2 Antworten gibt werden dafür auch 2mal die Inhalte des Hauptdocs angezeigt.
Da muss dann nachgebessert werden.
Ausserdem, sollte jemand auf die dreiste Idee kommen das Hauptdoc zu öffnen, muss auch noch die PageUrl angepasst werden.
Titel: Re: Ansicht - Nur Hauptdokument sichtbar falls bestimmtes Antwortdokument vorhanden
Beitrag von: Sven Hasselbach am 23.05.13 - 14:27:22
Zitat
Wenn es 2 Antworten gibt werden dafür auch 2mal die Inhalte des Hauptdocs angezeigt.
Nein. Mit dem Expandlevel und der Kategorie geht das auch so.

Zitat
Ausserdem, sollte jemand auf die dreiste Idee kommen das Hauptdoc zu öffnen, muss auch noch die PageUrl angepasst werden.
Was ist daran dreist? Und wo ist das Problem, einen Link einzubauen?
Titel: Re: Ansicht - Nur Hauptdokument sichtbar falls bestimmtes Antwortdokument vorhanden
Beitrag von: dnotes am 23.05.13 - 15:08:50
Kategorisierte Ansicht klappt; bis auf ein paar Schönheitsfehler die ich noch nicht weg bekomme.

Mit dem Anpassen der PageUrl hatte ich auch nicht gemeint, dass es ein Problem ist.
Ich wollte SutPen nur darauf hinweisen. Nicht das er/sie oder es einen Schreck bekommt, sollte versucht werden ein Hauptdoc zur Anzeige zu bringen.