Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: robertpp am 06.09.05 - 09:25:04
-
Hallo,
Wir haben bei uns das Problem das ein Kollege noch R5 verwendet und jetzt ist er auf die Frage gestossen wie man @SetViewInfo im R5 lösen könnte!
Ich konnte im auch nicht wirklich weiter helfen jetzt meine Frage wie kann man sich es ersparen im R5 für jede Division eine eigene View zu erstellen? Die View's unterscheiden sich effektiv nur durch die Division.
Jetzt ist es so gelöst das fürs R6 ein Outline gibt, die @SetViewInfo eben auf die Division beinhält.
danke Robert
-
mach es doch mit einem Ordner. Documete mit GetAllDocsByKey in eine Collection und dann mit PutInFolder in den Ordner. Vor dem nächsten Aufruf dann ein RemoveFromFolder.
-
Fuer @SetViewInfo gibt es keine Entsprechung vor der Version 6.
Bernhard
-
@Ulrich:
Und wie ruf ich das aus einer Outline auf? Mit den unterschiedlichen Divisions?
@Bernhard:
Das war mir leider klar!!
-
meine Antwort wäre auch, auf R6 wechseln. Wenn das wirklich nur EINER ist, warum sollte der dann noch mit R5 zugange sein?
Das mit den Ordnern ist wie Eknori es gesagt hat die eine Möglichkeit, eine Andere sind Embedded Views in einer Form. Allerdings müssen die Benutzer der DB dann die Möglichkeit haben diese Form zu erstellen, auch wenn man sie nicht speichert.
-
hi,
Das Gegenstück zu @SetViewInfo sind für mich SingleCategory Views.d.h. eingebettetes Ansichten, díe nur eine Kategorie anzeigen. Im Gegensatz zu Ordnern
kann die anzuzeigende Kategorie dynamisch sein.
ich hoffe es hift weiter..
husko
-
@Thomas:
Es ist leider nicht nur einer mit R5, es ist eine ganze Location mit R5 also umstellen nicht ganz möglich.
Thomas ist deine Lösung auch die die husko vorgeschlagen hat? Mit SingleCategorie oder gibt es da noch einen Weg?
-
Ich seh das genauso wie husko. Das geht dann entweder mit SingleCategorie/Embedded Views bzw. auch auf die Art wie Ulrich es vorgeschlagen hat also mit Ordnern. Ich würde aber wenn die Randbedingungen stimmen eine Form mit einem EmbeddedView vorziehen. Wie gesagt die Benutzer brauchen dann in der Datenbank mindestens Schreibrechte.
-
Aber damit hab ich wieder das Problem das ich für jede Division eine Form erstellen muss? Oder kann ich in der Outline machen?
Ich hab das jetzt im Outline-Entry versucht aber leider ohne Erfolg die Division zu setzten:
_Division:="South Africa";
@Command([Compose];"0Testprr");
@SetField("Division";_Division)
Er macht mir die Maske auf aber dann ist schluss.
Wenn ich es händisch in die Maske schreibe dann bekomme ich in der embedded view das gewünschte Ergebnis zurück.
-
Ich hab jetzt noch folgendes ausprobiert:
_Division:="South Africa";
@Command([Compose];"0Testprr");
@SetTargetFrame( "rechts" );
@Command([EditGotoField];"test");
@SetField("test"; _Division);
@Prompt([Ok];"";_Division);
Da passiert folgende es wird das die Form geöffnet in einem neuen Frame dann springt der Cursor in das Test-Feld und das Prompt geht auch aber es wird nichts ins Test-Feld geschrieben.
2 Variante:
@SetTargetFrame( "rechts" );
_Division:="South Africa";
@Command([Compose];"0Testprr");
@Command([EditGotoField];"test");
@SetField("test"; _Division);
@Prompt([Ok];"";_Division);
Hier wird die Form im rechten Frame geöffnet das Prompt ausgeführt jedoch springt der Cursor nicht ins test-Feld und der Wert wird auch nicht gesetzt.
-
Geh über Environment. Setz das in der Outline und hol es dir im Form wieder.
-
Danke Thomas das passt jetzt!
@SetTargetFrame( "rechts" );
_Division:="South Africa";
@Environment( "_SOXDivision"; _Division );
@Command([Compose];"0Testprr")
und in dem Feld Division eben wieder _SOXDivision zurückgeholt.
Jetzt ist noch meine Frage wie sieht das ganze zusätzlich im Web aus?
Das geht im Web nicht.
@SetTargetFrame( "rechts" );
_Division:="South Africa";
@Environment( "_SOXDivision"; _Division );
@Command([Compose];"0Testprr")
Ich kann zwar die Form öffnen und er holt sich immer das _SOXDivision aber setzten kann ich es irgendwie nicht.
In der Hilfe hab ich folgendes gefunden:
For Web applications, use predefined field names to gather information about the Web user's environment by requesting Common Gateway Interface (CGI) environment variables.