Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: ossigo am 08.07.05 - 09:13:34
-
Hallo,
bin noch in den Anfängen der Notes Entwicklung...
Über die Notes Klasse "Notesview" kann ich mit Hilfe einer Ansicht und z.B. GetAllDocumentsBykey Daten selektieren.
Kann man anstatt einer Ansicht auch eine Maske verwenden?
Ich sehe bei uns im Design immer wieder, dass z.B. auch bei @DBlookup eine Maske anstatt einer View verwendet wird.
Wenn das geht, was ist dann der Key, den ich angeben muss? Das Feld?
In der View müssen die Spalten ja sortiert sein, wie ist das in der Maske?
Geht also ein
...
Set view = db.Getview("(MeineMaske)")
doc = view.GetAllDocumentsBykey("Feldname")
?
Habe hier Verständnisprobleme. Kann ich also Masken verwenden, wenn ja, wie ist das Handling?
Jens
-
Ich sehe bei uns im Design immer wieder, dass z.B. auch bei @DBlookup eine Maske anstatt einer View verwendet wird.
Das würde ich gerne auch mal sehen ;)
@Dblookup und GetDocumentByKey etc. gehen immer auf eine Ansicht/einen Ordner
(mit Ausnahme von ODBC aber das steht hier wohl nicht zur Debatte).
Andreas
-
Ich sehe bei uns im Design immer wieder, dass z.B. auch bei @DBlookup eine Maske anstatt einer View verwendet wird.
Hi,
das würde mich auch mal interessieren wie das gehen soll. Ich kann Andreas nur zustimmen.
Aber vielleicht ist das ein neues Feature in der Version 6, von dem niemand was weiß. :o
Kannst du mal so ein Beispiel posten. Vielleicht kann man ja da was aufklären:
Axel
-
hier das Beispiel:
Wir setzen u.a. den Helpdesk der CRMSuite von Intraware ein (Version 6.8) ein, in dem
ein externer Entwickler folgende Anpassungen vorgenommen hat.
Im Konfigurationsdokument der DB kann man unter dem Reiter "Benutzerspezifisch" eigene Felder definieren, einen Namen vergeben und dafür Inhalte eingeben, was getan worden ist. Den Inhalt des selbstdefinierten Feldes "Tätigkeitsschlüssel" (Typ Optionsschaltfläche) geben wir mit folgender Formel in einer Maske aus:
*
KEYLIST := "Tätigkeitsschlüssel";
Liste := "Maskenliste_"+@Text(@Member(KEYLIST;@DbLookup(""; ""; "(Konfiguration)";
"1";"ProfilListe"))); @Subset(@DbLookup(""; ""; "(Konfiguration)"; "1";Liste);1)
*
Es gibt aber in der DB keine Ansicht (Konfiguration), sondern nur eine Maske mit dem Namen!
Wie geht das also?
Jens
-
Bist Du sicher, daß es die Ansicht nicht gibgt ? Die Klammern zeigen, daß es sich um eine versteckte Ansicht handelt, d.h. sie ist im Client so nicht sichtbar. Hast Du im Design nachgesehen ?
-
Es ist definitiv eine Ansicht. @DbLookup geht IMMER auf eine Ansicht.
Ist ja auch logisch: Wie soll man aus einer Maske Daten holen?
Andreas
-
Hallo Driri,
jo, habe im Designer nachgesehen, mache nix anderes, aber soviel ich auch gucke,
es gibt einfach keine Ansicht mit dem Namen, nur eine Maske!
bin selbst ein wenig ratlos...
Jens
-
Intraware verwendet IMMER den Aliasnamen der Ansicht. Deswegen solltest du mal im Designer in die Anishcten reingehen und dann nach AliasNamen sortieren. Da solltest du diese Ansicht auch finden.
-
Habe in den Ansichten alles mehrfach überprüft, es gibt auch im Aliasnamen keine Ansicht "(Konfiguration)".
Selbst ein Entwickler unseres Supports hat mir bestätigt, dass es in der DB keine Ansicht mit diesem Namen gibt!
Wenn jetzt einer den Intraware Helpdesk 68 einsetzt, müßte derjenige das bestätigen können.
Werde mal versuchen den Entwickler, der das programmiert hat, zu kontaktieren...
Jens
-
Wenn es die View nicht gibt, liefert der @DbLookup einen Error. Vielleicht wird das ja im weiteren Code abgefangen...
Wofür steht "68" - 1968 ;D
Andreas
-
1968 erklärt alles: Revolution der Antiautoritären ..... heisst, der Programmierer hat sich nicht an die Sprachdefinition gebunden gefühlt ...... ;D
-
Vielleicht ist es ja auch keine view, sondern ein folder ...
Was mich noch interessieren würde: Was sollte man denn gewinnen, wenn man auf eine Maske zugreifen könnte ? Das ist doch eine leere Hülle ohne Daten und für Abfragen à la @dbLookup vollkommen unbrauchbar.
Bernhard
-
ne Version 6.8 ^-^
Folder ist es auch nicht...
@Bernhard
habe bei dieser Diskussion immer im Hinterkopf, dass man ja beim ODBC Zugriff auf Notes-DB (wie am Anfang von Andreas erwähnt) sowohl aus Ansichten als auch aus Masken Daten selektieren kann. Sind zwei Welten, ODBC und Datenselektion per LS, aber über ODBC liefern eben auch Masken Daten.
@Andreas:
es gibt keinen weiteren Code. Formel steht als Vorgabewert im besagten Feld, Typ Optionsschaltfläche, bearbeitbar. Gleiche Formel steht noch in den Feldeigenschaften unter "Formel für Auswahl verwenden".
Bin eher in der Webentwicklung tätig und lehne mich in Sachen Notes vielleicht etwas weit aus dem Fenster...
Mal gucken, dass ich den Entwickler kriege...
Jens
-
Hallo,
was auch noch der Grund sein KÖNNTE:
Falls die besagte Ansicht selbst bei den Eigenschaften (letztes Register, 'Who may use') eine Zugriffsbeschränkung hat (nimmt man gerne z.B. eine Rolle), wird diese auch im Designer-Client NICHT mehr angezeigt.
Wirkt aber nur, wenn die DB auf einem Server liegt oder bei lokaler Nutzung die konsistente ACL eingeschaltet ist.
Wars das?
Gruß
Manfred
-
Oder die Ansicht ist "Privat". Läuft dann technisch auf das gleiche (Lesezugriff für ein Designelement) hinaus...
Gruß
Manfred
-
Hmm, Jens: zu ODBC:
Eine - zum Bleistift - Access-Maske lässt sich nicht wirklich mit einer Notes-Maske vergleichen. Was andernorts eine Maske genannt wird, ist in Notes ein Dokument. Zudem geht ein ODBC-Zugriff normalerweise auf eine starr/stark strukturierte Datenbank los und damit sind die Grundlagen gegenüber Notes schonmal grundverschieden. Dabei ist zu beachten, dass ein ODBC-Lookup, auch wenns so aussieht, in Wahrheit auch nicht auf eine "Maske" losgeht, sondern in irgend einer Art und Weise einen Query oder Search in der Zieldatenbank durchführt und gefundene Datensätze(Dokumente) zurückliefert. Vielleicht müsstest Du mal ein wenig persönliche "Grundlagenforschung" betreiben.
-
jaja, habt ja alle Recht ;D
es gibt tatsächlich eine Ansicht mit dem Aliasnamen "Konfiguration", aber diese Ansicht hat mehrere Aliasnamen (3), und dieser Alias wird in der Übersicht nicht angezeigt! Es wird eben nur einer der drei Aliase angezeigt, sehr gemein. Das soll man mal wissen... grrr
Dank Euch für die Bemerkungen zu meinem Problem. Jetzt weiß ich auch wo ich gucken muss!
Klasse Forum!
Jens
-
jaja, habt ja alle Recht ;D
es gibt tatsächlich eine Ansicht mit dem Aliasnamen "Konfiguration", aber diese Ansicht hat mehrere Aliasnamen (3), und dieser Alias wird in der Übersicht nicht angezeigt! Es wird eben nur einer der drei Aliase angezeigt, sehr gemein. Das soll man mal wissen... grrr
Sach ich doch. Das Intraware allerdings oft mehrfach Aliasnamen drin hat hab ich total verdrängt. Das ist aus der Entwicklung bei denen hysterisch gewachsen.