Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: DocNotes am 11.04.12 - 10:34:51

Titel: Alle Leser-, Autoren- und Namens-Felder einer MASKE auslesen
Beitrag von: DocNotes am 11.04.12 - 10:34:51
Hallo zusammen,

vielleicht hat ja noch jemand eine Idee.

Aufgabenstellung:
Gegeben ist eine Datenbank vom Typ NotesDatabase und der Alias-Name einer Maske.
Ich möchte die Feldnamen aller Felder ermitteln, die vom Typ "Autor, Leser, Name" sind.
Das Auslesen sollte direkt über die Maske erfolgen und nicht über ein vorhandenes Dokument mit der Maske.

Folgende Techniken habe ich schon versucht:
1. Über die Script-Bib "DBDesign" die den Zugriff auf die Design-Elemente ermöglicht.
Ich bekomme zwar die Maske als NotesDocument-Objekt. Wenn ich dann allerdings die NotesItems (enthalten die Felder) durchlaufe sind die Eigenschaften "isAuthor", "isReader", "isNames" nicht gesetzt.
2. NotesPeek
Felder enthalten leider auch hier kein Kennzeichen zu den Typen.
3. DXL
Bei einem DXL-Export werden die Infos zu den Feldern mit angezeigt. Alledigns ist für mich eine automatische Auswertung der DXL-Infos nicht so einfach zu realiseren.

Wenn keinem eine weitere Idee einfällt werde ich wohl doch über ein vorhandenes Dokument die Felder mit den Typen auslesen.

Gruß,
Markus

Titel: Re: Alle Leser-, Autoren- und Namens-Felder einer MASKE auslesen
Beitrag von: Tode am 11.04.12 - 10:39:01
Warum erstellst Du Dir nicht ein Temporäres Dokument, machst ein ComputeWithForm und liest die Werte dann aus? Du musst ja nicht speichern...
Titel: Re: Alle Leser-, Autoren- und Namens-Felder einer MASKE auslesen
Beitrag von: DocNotes am 11.04.12 - 10:49:16
Warum erstellst Du Dir nicht ein Temporäres Dokument, machst ein ComputeWithForm und liest die Werte dann aus? Du musst ja nicht speichern...

Hi Torsten,
das ist auch eine Möglichkeit.
Danke!
Titel: Re: Alle Leser-, Autoren- und Namens-Felder einer MASKE auslesen
Beitrag von: DerAndre am 11.04.12 - 10:53:00
Hi,

NoteMan (http://www.martinscott.com/Site.nsf/ID/Noteman) kann das.

Würde das reichen?
Titel: Re: Alle Leser-, Autoren- und Namens-Felder einer MASKE auslesen
Beitrag von: DocNotes am 11.04.12 - 10:55:36
Hi,

NoteMan (http://www.martinscott.com/Site.nsf/ID/Noteman) kann das.

Würde das reichen?

Stimmt, den hatte ich in meiner Liste vergessen. Ich hätte gerne "per Knopfdruck" die Feldnamen in einem Feld angezeigt daher passt für eine Automatisierung das Tool leider nicht.
Aber Danke für den Hinweis.
Titel: Re: Alle Leser-, Autoren- und Namens-Felder einer MASKE auslesen
Beitrag von: DocNotes am 11.04.12 - 10:57:14
Habe in der Zwischenzeit bei OpenNTF auch einen DXL-Transformer gefunden.
http://openntf.org/Projects/codebin/codebin.nsf/CodeByRating/D8F7910FF79445C5862570850048FF81

Für meine Automatisierung leider auch nicht das Richtige aber vielleicht kann es ja mal jemand gebrauchen.
Titel: Re: Alle Leser-, Autoren- und Namens-Felder einer MASKE auslesen
Beitrag von: koehlerbv am 11.04.12 - 10:58:10
Bist Du Dir sicher, dass Dir wirklich nur die Felder reichen? In der Regel haben Anwendungen doch immer Dokumente mit Items, die in keiner Maske zu finden sind (gerade Names-Items!).

Bernhard
Titel: Re: Alle Leser-, Autoren- und Namens-Felder einer MASKE auslesen
Beitrag von: DocNotes am 11.04.12 - 11:14:11
Bist Du Dir sicher, dass Dir wirklich nur die Felder reichen? In der Regel haben Anwendungen doch immer Dokumente mit Items, die in keiner Maske zu finden sind (gerade Names-Items!).

Bernhard

Hi Bernhard,

danke für den Hinweis. Ich wollte erstmal prüfen welche Felder von "der Maske" aus enthalten sind und danach verschiedene Dokumente prüfen ob weitere Felder enthalten sind, die z.B. durch einen Agenten oder anderen Code hinzugefügt wurden.
Titel: Re: Alle Leser-, Autoren- und Namens-Felder einer MASKE auslesen
Beitrag von: koehlerbv am 11.04.12 - 11:18:15
Items, nicht Felder ...

Bernhard
Titel: Re: Alle Leser-, Autoren- und Namens-Felder einer MASKE auslesen
Beitrag von: DocNotes am 11.04.12 - 11:21:36
Items, nicht Felder ...

Bernhard
ok, hast recht  :-[
Titel: Re: Alle Leser-, Autoren- und Namens-Felder einer MASKE auslesen
Beitrag von: Glombi am 11.04.12 - 11:22:36
Es gibt die Klasse NotesForm mit der Property "Fields", die einem alle Felder (aka Items) liefert. Mit
type% = notesForm.GetFieldType( name )
kann man dann den Typen bestimmen.

Wo ist das Problem?

Andreas
Titel: Re: Alle Leser-, Autoren- und Namens-Felder einer MASKE auslesen
Beitrag von: koehlerbv am 11.04.12 - 11:29:42
Andreas, Field <> Item (und nicht fields aka items).

Und das Problem ist, dass die Maske mit den Feldern der fromme Wunsch sind und die Dokumente mit ihren Items die manchmal harte Realität  ;)

Bernhard
Titel: Re: Alle Leser-, Autoren- und Namens-Felder einer MASKE auslesen
Beitrag von: DocNotes am 11.04.12 - 11:30:55
Es gibt die Klasse NotesForm mit der Property "Fields", die einem alle Felder (aka Items) liefert. Mit
type% = notesForm.GetFieldType( name )
kann man dann den Typen bestimmen.

Wo ist das Problem?

Andreas

Hi Andreas,

jetzt kommt der übliche Kommentar "Warum einfach wenn es auch kompliziert geht".

Danke an alle!
Titel: Re: Alle Leser-, Autoren- und Namens-Felder einer MASKE auslesen
Beitrag von: Glombi am 11.04.12 - 12:08:30
Andreas, Field <> Item (und nicht fields aka items).

Und das Problem ist, dass die Maske mit den Feldern der fromme Wunsch sind und die Dokumente mit ihren Items die manchmal harte Realität  ;)

Bernhard
DocNotes wollte ja nur die Felder (naka Items) aus der Maske haben. Sonst müsste man ja über alle Dokumente, die zu dieser Maske gehören laufen, und dort die Felder auslesen. Was allerding auch mit Script ginge...

Zu bedenken wäre jedoch, dass auch Anwender ganz einfach per Dokumenteigenschaft ein Leserfeld (müsste eigentlich Leseritem heissen, oder ? ;-) ) namens $Readers setzen können. Dazu brauchts nicht mal einen Agenten.

Zu der akademischen Diskussion "Items" oder "Felder". In diesem Fall sind es Felder, wo man der Hilfe zur Property "Fields" in NotesForm entnehmen kann:
"The names of all the fields of a form."

Items sind die Dinger, die in Notesdokumenten drin sind. Fields die Dinger in der Maske.

Andreas