Domino 9 und frühere Versionen > ND6: Entwicklung

Wo befinde ich mich

<< < (2/3) > >>

eknori:
Dokumente haben ein FORM item, views nicht ...

MartinN:
Danke eknori,
aber vielleicht sehe ich gerade den Wald vor lauter Bäumen nicht.
Das ich die Ansicht habe, ist klar. Eine Dokumenten-Id für ein Dokument wird ebenfalls geliefert, obwohl das Dokument u.U. noch gar nicht geöffnet wurde. Daher ist mir jetzt nicht klar, was Du mir sagen möchtest....

koehlerbv:
Da Du mit LS arbeitest, bietet Dir der NotesUIWorkspace doch alles, was Du benötigst: CurrentDatabase, CurrentView und CurrentDocument.
Wenn sich beispielsweise mit CurrentDocument kein Dokument instantiieren lässt, ist schon mal klar, dass aktuell kein geöffnetes Dokument im Vordergrund ist.

Bernhard

pram:
Rein interessehalber, wie startest du den Agent in der anderen DB aus dem Smarticon

ich tippe auf:
- UNID in die Notes.Ini specihern
- DB öffnen
- Agent starten
- DB schließen

Ich stand mal vor einem ähnlichen Problem und ging zuerst auch so vor.
Das Problem ist, dass currentXXX dann immer auf Dinge in der geöffneten DB gezeigt hat und ich mir nicht alle möglichen Sachen in der Notes.ini abspeichern wollte (bzw. mit Formelsprache nicht konnte)

Ich hab das dann so gelöst, dass ich den Agentcode in eine Maske verlagert habe. Die Maske wird dann über Compose geöffnet. Vorteil hierbei ist, dass ich direkt die DB angeben kann. Im "initialize" der Maske kannst du dann über workspace.currentXXX auf die entsprechenden Elemente zugreifen. Somit brauch ich auch nichts in die notes.ini speichern.
In einer Ansicht ist ws.currentDocument z.B. "nothing" in einer Maske gesetzt.

Im QueryOpen steht entweder ein "continue = false" oder im Postopen ein "Source.close" dass die Maske nie aufgeht.
(letzteres ist u.U. erforderlich, wenn man Befehle ausführen möchte, die im initialize nicht erlaubt sind, z.B. ein ws.editDocument)

Gruß
Roland

MartinN:
Danke für die Antworten!
@Pram ja so in dieser Art und Weise muß ich das machen. Es geht hier z.B. um Attachement und Mails die in einer speziellen Software abgelegt sind. Der Anwender kann dann z.B. auswählen welches Attachement in ein anderes Dokument übernommen werden soll. Die Software legt dann in einem genau definierten Verzeichnis das gewünschte Attachement ab.
Der Agent soll nun dieses Attachement entweder in ein neues Dokument (das klappt!) oder aber in ein vorhandenes Dokument bzw. ein vom Anwender gerade erstelltes Dokument einhängen.
Nun handelt es sich bei den Ziel-Dbs um Maildatenbanken in einer größeren Firma. Man möchte dort nicht, das die Mail-Templates für diesen Zweck verändert werden und zum anderen sollen auch nicht alle Anwender diese Funktionen erhalten. Daher muß der Agent in einer separaten DB abgelegt werden. Dort soll er dann gerufen werden, die Zieldb ermitteln und wie beschrieben handeln und anschließend dem Anwender das bearbeitete Dokument zur weiteren Bearbeitung übergeben.
Wie gesagt mein Problem an dieser Stelle ist, das ich dort nicht exakt herausfinden kann ob ich mich dann in einer Ansicht oder in einem Dokument befinde. Den Namen der aktuellen Ansicht bekomme ich geliefert. Und auch eine Dokumenten-Id. Letzteres eben auch, wenn gar kein Dokument geöffnet ist oder in der Ansicht keines per Haken ausgewählt wurde.
Stehe ich andererseits in einem Dokument, erhalte ich auch bei ws.CurrentDocument kein Dokument übergeben.
Da werde ich wohl noch etwas suchen müssen, bis eine Lösung vorhanden ist...

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln