Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Andreas Huhn am 15.09.05 - 10:18:00

Titel: Erstellte Dokumente anzeigen
Beitrag von: Andreas Huhn am 15.09.05 - 10:18:00
Hi alle,

übe gerde das erstellen von ein paar Testmasken und deren Einstellungen. Nun habe ich testweise mit meiner Maske ein paar Dokumente abgespeichert.

Nun meine Frage:

1. Kann ich mir die mit dieser Maske erstellen Dokumente in einer Liste anzeigen lassen?

2. Kann ich gezielt ein bestimmtes von den erstellten Dokumenten im Notes Client wieder öffnen?

Viele Grüße

Andreas
Titel: Re: Erstellte Dokumente anzeigen
Beitrag von: Glombi am 15.09.05 - 10:22:19
Du solltest Dich mit dem Thema "Ansichten" auseinandersetzen. Das ist in der Hilfe beschrieben.
Ausserdem wäre es hilfreich, wenn Du Dir ein gutes Buch über Notes kaufst.

Andreas
Titel: Re: Erstellte Dokumente anzeigen
Beitrag von: klaussal am 15.09.05 - 10:22:34
Das geht über eine Ansicht (engl.: View). Dort dann Doppelklick auf ein Doc + es öffnet sich  ;D
Titel: Re: Erstellte Dokumente anzeigen
Beitrag von: Andreas Huhn am 15.09.05 - 10:26:50
Ich habe 6 Bücher hier. Lese gerade das "Anwendungsentwicklung unter Lotus Notes 6.5" von Addison-Wesley. Dort wurde zur Übung eine Maske aufgebaut mit verschiednenen Elementen, unter anderem einem RichTextBox-Feld das beim starten den Anhang starten soll.

Im Buch heißt es nun:
"Erstellen Sie mit der Maske ein Dokument und platzieren Sie in das Feld "Anhang" eine beliebige Datei. Wenn Sie das Dokument anschließend öffnen, startet Notes automatisch die entsprechende Anwendung".

Nur wie ich dieses "... wenn Sie das Dokument anschließend öffnen..." bewerkstelligen soll wird nicht beschrieben.

Darum die Frage danach.
Titel: Re: Erstellte Dokumente anzeigen
Beitrag von: Glombi am 15.09.05 - 10:34:52
Dann blättere doch mal ein paar Seiten weiter.

Ausserdem siehst Du das Dokument bereits, denn es gibt immer die Vorgabeansicht Umbenannt, wenn Du eine neue Datenbank erstellst.

Andreas
Titel: Re: Erstellte Dokumente anzeigen
Beitrag von: max.power am 15.09.05 - 10:40:26
Autsch, da wird nicht zeitgleich auch beschrieben, wie man Dokumente anzeigen kann? ???
Pfff, sowas.... dann scheint das aber IMHO kein echtes Einsteigerbuch zu sein.

Drück doch mal im Designer F1 - (u.a.) im Abschnitt Anwendungsgestaltung\Einführung in Domino Designer wird eigtl. ganz fein erklärt, welche Elemente es in Notes gibt (Masken, Seiten, Ansichten etc.) und wie man damit umgeht.

Good luck!
Titel: Re: Erstellte Dokumente anzeigen
Beitrag von: Andreas Huhn am 15.09.05 - 13:53:09
Okay, danke soweit. Habe es jetzt so versucht, vielleicht könnt ihr mir helfen:


@SubSet(@DbName;-1) gibt folgendes zurück:

K:\SDS.nsf




@Text(@DocumentUniqueID) gibt das zurück

31E4B10AAD18295CC125707D004092FB



Nun versuche ich eine Art 'Link' zu genau diesem Dokument zu erzeugen. Das muß laut dem Buch funktionieren. Wie muß der aussehen? Ich habe es bisher so versucht:

K:\SDS.nsf\mskKonfiguration?OpenForm&ParentUNID=31E4B10AAD18295CC125707D004092FB

stimmt die Syntax so??

Ich möchte das für einen Notes-Client verwenden, aber muß ich vielleicht trotzdem die Slashes umdrehen?

Das klappt nicht wenn ich es in Notes als Adresse eingebe und auch nicht wenn ich eine Verknüpfung des Typs URL im Domino-Designer machen will (keine gültige URL, eigentlich auch logisch)

Bin ich auf dem ganz falschen Weg?


Mit Ansichten versuche ich es dann, aber so ein Link muß doch auch möglich sein.
Titel: Re: Erstellte Dokumente anzeigen
Beitrag von: Glombi am 15.09.05 - 13:55:54
Willst Du eine Web-Anwendung oder eine reine Notes-Anwendung machen?
Titel: Re: Erstellte Dokumente anzeigen
Beitrag von: Andreas Huhn am 15.09.05 - 13:57:16
Eigentlich eine reine Notes Anwendung. Aber ich wär schon froh wenn ich das auf irgendeine Art hinbekommen würde.
Titel: Re: Erstellte Dokumente anzeigen
Beitrag von: klaussal am 15.09.05 - 14:41:51
So, jetzt sprechen wir erst einmal in eine Tüte, sortieren das Ganze, und dann :

was willst du eigentlich genau ? Bis jetzt sehe ich nur ein Hin- und Hergespringe zwischen Masken, Ansichten, Web, dann-wieder-nicht-web, usw.
Vielleicht solltest du dir mal ein Konzept machen. Oder wirst du nach der Anzahl der Mouseclicks bezahlt ?
Titel: Re: Erstellte Dokumente anzeigen
Beitrag von: Andreas Huhn am 15.09.05 - 15:16:55
Ich will wahrscheinlich zu viele Dinge auf einmal. Aber wenn ich mit etwas nicht weiter komme versuche ich eben deswegen erstmal eine andere Ecke.

Ich hab es jetzt einigermassen hinbekommen. Habe das Dokument ausfindig gemacht und spreche es jetzt als URL mit dem Wert Notes:///C12570730045300A/E57F97588335DDC3C125707D0046D1DE/F757B08EF0C4F60AC125707A004BC636 an.

Nun kann ich den Inhalt des Dokuments anzeigen, bearbeiten und wieder speichern, so wie ich es wollte.

Nun wäre es erforderlich den Inhalt eines Feldes auf dieser Maske global den Agenten zur Verfügung zu stellen. So als wäre es eine globale Variable. Funktioniert das wenn ich aus diesem Feld eine gemeinsame Ressource mache? Oder gibt es andere Möglichkeiten den dort gespeicherten Wert zu beziehen.

P.S.: Ich mache das nicht in erster Linie für Geld. Bei einem Verdienst von 1,50 EUR pro Stunde wäre das sonst schlimm.
Titel: Re: Erstellte Dokumente anzeigen
Beitrag von: eknori am 15.09.05 - 15:25:13
*KopfKratz*
und von wo rufst du
Zitat
Notes:///C12570730045300A/E57F97588335DDC3C125707D0046D1DE/F757B08EF0C4F60AC125707A004BC636
auf ??

Willst du dir jetzt für jedes Dokument in der Datenbank eine URL zusammenbauen ?

Ich lasse mir die Dokumente immer mit @Command([EDITDocument]) anzeigen ...
*KopfSchüttel*
Titel: Re: Erstellte Dokumente anzeigen
Beitrag von: klaussal am 15.09.05 - 15:28:17
So, jetzt fange ich mal gaaaanz unten an.
1) Man erstellt sich eine Maske.
2) Jetzt eine passende Ansicht, die alle Docs darstellt.
3) Doppelklick auf ein Doc, es öffnet sich, zeigt die Werte an. Noch ein Doppelklick und man kann das Doc bearbeiten (und wieder speichern).

Was der Quatsch mit der URL soll, hab ich nicht so richtig begriffen.
Ebensowenig verstehe ich die Frage mit "den Agenten" ?
Du kannst noch nicht einmal die Basics von LoNo, also stell die Sache mit den Agenten gaaanz hintenan. Das wird sonst nix oder du wirst ein LoNo-Programmierer mit einem rudimentären Halbwissen.
Titel: Re: Erstellte Dokumente anzeigen
Beitrag von: Andreas Huhn am 15.09.05 - 15:28:31
Habe einen Punkt in der Gliederung hinzugefügt der Managern als Konfigurationsdialog dienen soll. Es bleibt also die einzige Maske dieser Art und die so aufgerufen wird. Habe keinen anderen Weg gefunden.

Mit @Command([EDITDocument]) kann ich nur ein bereits angezeigtes Dokument in den bearbeiten Status versetzt !?

Viele Grüße

Andreas
Titel: Re: Erstellte Dokumente anzeigen
Beitrag von: eknori am 15.09.05 - 15:30:46
Zitat
einen Punk
  ;D wie putzig
Titel: Re: Erstellte Dokumente anzeigen
Beitrag von: Andreas Huhn am 15.09.05 - 15:31:59
Ebensowenig verstehe ich die Frage mit "den Agenten" ?

Bisher war in einem der Agenten eine hard-codierte Email-Adresse enthalten. Diese soll in Zukunft über einen Konfigurationsdialog variabel gemacht werden. Damit bei personellen Änderungen nicht jedes Mal im Domino-Designer gearbeitet werden muß.

Deshalb müßte man doch jetzt den Inhalt des Feldes irgendwie dem Agenten als Email-Adresse übergeben können, oder nicht?

Das erschien mir von all den zu bewältigenden Aufgaben noch am einsteiger-freundlichsten.
Titel: Re: Erstellte Dokumente anzeigen
Beitrag von: klaussal am 15.09.05 - 15:32:42
Zitat
Habe keinen anderen Weg gefunden.

Heisser Tipp: Verknüpfung.

Aber ehrlich gesagt, ich habe keinen Bock mehr, hier noch weiter zu antworten.
Titel: Re: Erstellte Dokumente anzeigen
Beitrag von: Andreas Huhn am 15.09.05 - 15:38:59
Zitat
einen Punk
  ;D wie putzig

Tippfehler... kann doch mal passieren. Ist auch schon ausgebessert.




Zitat
Heisser Tipp: Verknüpfung.

Aber ehrlich gesagt, ich habe keinen Bock mehr, hier noch weiter zu antworten.

Tut mir leid ich glaube ich habe nicht das Denken eines typischen Notes-Programmierers. Bin ja schon froh wenn ich mal ne Zeile Code tippen darf. Und glaub mir bitte, ich versuche nicht euch zu ärgern  ;)
Titel: Re: Erstellte Dokumente anzeigen
Beitrag von: FC am 15.09.05 - 15:47:30
Kleiner Tip, besorg Dir mal ein Script aus dem Herdt Verlag, die sind nicht teuer und die Übungen kann man gut durcharbeiten (wenn man Zeit hat).

Deine Fragen sind leider viel zu unspezifisch, um Dir vernünftig helfen zu können.
Titel: Re: Erstellte Dokumente anzeigen
Beitrag von: Axel am 15.09.05 - 19:03:27
Deshalb müßte man doch jetzt den Inhalt des Feldes irgendwie dem Agenten als Email-Adresse übergeben können, oder nicht?

Prinzipiell kannst du einem Agenten keinen Parameter übergeben (von einer Ausnahme abgesehen). Du musst in deinem Fall innerhalb des Agenten auf das Dokument mit dem Feld zugreifen. Schau dir dazu mal die Methode GetDocumentByKey aus der Klasse NotesView in der Designer-Hilfe an. Dort sind auch genügend Beispiele vorhanden.


Axel
Titel: Re: Erstellte Dokumente anzeigen
Beitrag von: eknori am 15.09.05 - 19:06:41
Da das fragliche Document ja mehr oder minder ein Profil ist, würde ich mit Profildokumenten arbeiten ... Lese mal das entsprechende Kapitel in deinen Büchern ...
Titel: Re: Erstellte Dokumente anzeigen
Beitrag von: Michael84 am 16.09.05 - 15:07:13
Hallo Andreas

Ich kann dir auch nur Empfehlen dir Fachliteratur zubesorgen.
Das Buch "Anwedungsentwicklung unter Lotus Notes und Domini" ist wie ich finde nicht so außergewöhnlich toll.
Die Lernscripte des Herdt Verlages kann ich dir da nur wärmstens weiter empfehlen. Bin selber erst seit ein paar Tagen dran Domino zulernen.
Masken und Ansichten sind gar nicht mal so schwer wie es auf den ersten Blick aussieht :)

Titel: Re: Erstellte Dokumente anzeigen
Beitrag von: Andreas Huhn am 20.09.05 - 09:02:47
Hallo,

danke erstmal für eure Antworten!

Ich werde mir auch die Lernscripte noch besorgen.


Zitat
Prinzipiell kannst du einem Agenten keinen Parameter übergeben (von einer Ausnahme abgesehen). Du musst in deinem Fall innerhalb des Agenten auf das Dokument mit dem Feld zugreifen. Schau dir dazu mal die Methode GetDocumentByKey aus der Klasse NotesView in der Designer-Hilfe an. Dort sind auch genügend Beispiele vorhanden.

Also.. ich habe für das Dokument eine Maske mskKonfiguration erstellt. Es existiert ein Dokument das mit dieser Maske erstellt wurde. Wenn ich eine Ansicht AnsKonfiguration erstelle und als Bedingung die Dokumente angebe die damit erstellt wurden kann bekomm ich eine Liste mit einem Eintrag,

[1] aber wie kann ich gleich dieses eine zurückgegebene Dokument anzeigen lassen und nicht die Liste?


Wegen der Wertübergabe an den Agenten...

Habe in der Hilfe folgenden Code gefunden:

Code
Sub Initialize
	Dim session As New NotesSession
	Dim db As NotesDatabase
	Dim view As NotesView
	Dim doc As NotesDocument
	
	key =  "Leather"
	
	Set db = session.CurrentDatabase
	Set view = db.GetView ("By Category" )
	Set doc = view.GetDocumentByKey (key )
	
	If Not (doc Is Nothing) Then
		Messagebox "$" & doc.GetItemValue ("Price")(0),, _
		"Price"
	Else
		Messagebox "By Category " + key,, "Not found"
	End If
End Sub


In meiner Ansicht gibt es nur eine Spalte, Spalte1 und die zeigt als Spaltenwert die einfache Funktion "Nummer in Ansicht" an, so daß der tatsächlich angezeigte Wert "1" ist.

Müsste dann der benötigte Code bei mir ungefähr so aussehen, oder?

Code
Sub Initialize
	Dim session As New NotesSession
	Dim db As NotesDatabase
	Dim view As NotesView
	Dim doc As NotesDocument
	
	key =  "1"
	
	Set db = session.CurrentDatabase
	Set view = db.GetView ("AnsKonfiguration" )
	Set doc = view.GetDocumentByKey (key )
	
	If Not (doc Is Nothing) Then
		Messagebox "$" & doc.GetItemValue ("txtCoordinatorErinnerung")(0),, _
		"Titel der Messagebox"
	Else
		Messagebox "By Category " + key,, "Not found"
	End If
End Sub

Wenn ich auf meiner Maske mskKonfiguration einfach testweise mal einen Hotspot-button einfüge und ihm den Code auf das Clickereignis lege dann kommt die Fehlermeldung:


Object variable not set


(Ab dem zweiten Click auf den Button passiert einfach gar nichts mehr !?  :-: )

Vielen Dank für eure Hilfe!

Andreas
Titel: Re: Erstellte Dokumente anzeigen
Beitrag von: klaussal am 20.09.05 - 09:11:06
Wie heisst die View denn jetzt tatsächlich ? "AnsKategorie" oder "AnsKategorie" ?
Ansonsten Debugger einschalten und nachsehen, wo der Fehler kommt !
Titel: Re: Erstellte Dokumente anzeigen
Beitrag von: Axel am 20.09.05 - 09:30:57
Hi,

ich habe vor einiger Zeit mal eine Demo zusammengestellt, wie man Konfigurationsdokumente nutzen kann. Schau sie dir mal an, dann sollte einiges klarer werden.

Der Zugriff auf das Konfig.-Dokument erfolgt über eine versteckte Ansicht. So kann man das Design der Ansicht mit dem/den Konfigurationsdokument(en), welche(s) im Client angezeigt wird, beliebig ändern, ohne dass man durch die gesamte Gestaltung toben und seine Lookups anpassen muss.


Axel

Titel: Re: Erstellte Dokumente anzeigen
Beitrag von: Andreas Huhn am 20.09.05 - 09:41:12
Du meinst AnsKonfiguration und AnsKategorie. War ein Fehler. Nun funktioniert das Script zumindest syntaktisch. Semantisch scheints jedoch noch fehlerhaft zu sein, da ich jetzt ein "$" also den If-Zweig zurückbekomme aber noch nicht den Inhalt meines Text-Feldes "txtCoordinator".

hier nochmal der Code:

Code
Sub Click(Source As Button)
	Dim session As New NotesSession
	Dim db As NotesDatabase
	Dim view As NotesView
	Dim doc As NotesDocument
	
	key =  "1"
	
	Set db = session.CurrentDatabase
	Set view = db.GetView ("AnsKonfiguration" )
	Set doc = view.GetDocumentByKey (key )
	
	If Not (doc Is Nothing) Then
		Messagebox "$" & doc.GetItemValue ("txtCoordinatorErinnerung")(0),, _
		"Titel der Messagebox"
	Else
		Messagebox "By Category " + key,, "Not found"
	End If
	
End Sub
Titel: Re: Erstellte Dokumente anzeigen
Beitrag von: Axel am 20.09.05 - 09:46:53
Ist dein Feld gefüllt? Ist der Feldname richtig geschrieben?


Axel
 
Titel: Re: Erstellte Dokumente anzeigen
Beitrag von: Andreas Huhn am 20.09.05 - 09:53:31
Okay, nun klappt es. Aber jetzt mal ne sehr wichtige Frage:

Manche der Änderungen werden nach speichern sofort an die in Notes geöffnete DB weitergegeben und können gleich begutachtet / getestet werden. Manche Änderungen wiederum zum Beispiel wenn man etwas im Script ändert werden anscheinend erst übernommen wenn man die DB schließt und wieder öffnet.

Genau darüber bin ich hier auch gestolpert. Der Code war schon lange richtig und ich hab noch daran geschraubt.

Gibt es dafür irgendeine Regel? Oder sollte ich nachdem ich etwas verändert habe sicherheitshalber immer die DB neu öffnen?

Die Konfigurations-DB werde ich mir gleich ansehen, vielen Dank dafür!

und danke auch für die Unterstützung. Jetzt klappts zumindest mal, werds wahrscheinlich noch auf Konfig-Dokument umstellen.

Viele Grüße,

Andreas
Titel: Re: Erstellte Dokumente anzeigen
Beitrag von: Axel am 20.09.05 - 10:04:47
Hi,

sicherheitshalber solltest du nach Gestaltungsänderungen immer die DB schließen und wieder öffnen. Dann bist du einigermaßen auf der sicheren Seite. Ich habe mir angewöhnt, bei Gestaltungsänderungen, die DB immer vorher zu schließen.

Im schlimmsten Fall kann es sogar vorkommen, dass du den Client neu starten musst. Manchmal musst du auch die cache.ndk löschen.


Axel
Titel: Re: Erstellte Dokumente anzeigen
Beitrag von: Andreas Huhn am 20.09.05 - 10:12:21
 ???  :-\

So langsam verstehe ich den Spruch unter deinem Avatar...