Autor Thema: Fenster schließen im workspace  (Gelesen 4561 mal)

Offline Alexis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 534
  • Geschlecht: Männlich
  • LotusNotes macht süchtig!
Fenster schließen im workspace
« am: 10.07.06 - 12:07:43 »
Folgende Problematik:

Im PostOpen einer Maske analysiere ich einen DocLink, um aus dem verlinkten Dokument ein Attachment zu exportieren.
Das klappt so weit gut.

ABER: Beim "getDocumentByUNID" wird mir auch die Dokumentenmaske mit dem Attachment im Workspace geöffnet!

Genau dieses möchte ich vermeiden, weiss aber nicht wie.

Hat jemand einen Rat?

Alexis
« Letzte Änderung: 11.07.06 - 08:09:49 von Alexis »
wenn ich kein Problem hätte, wär' ich nicht hier ---
wenn ich im Forum eine Lösung gefunden hätte, wär' ich nicht hier ---
wenn ich nicht wüsste, dass mir hier fast immer geholfen wird, wär' ich AUCH nicht hier ---

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: Fenster schließen im workspace
« Antwort #1 am: 10.07.06 - 12:10:16 »
... hast du einen Auszug aus deinem Code...

Toni
Grüßle Toni :)

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Fenster schließen im workspace
« Antwort #2 am: 10.07.06 - 12:10:58 »
Zum öffnen musst du irgendwo noch ein wksp.editdocument drin haben. Sonst macht Script da nämlich gar nichts auf.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Fenster schließen im workspace
« Antwort #3 am: 10.07.06 - 12:11:53 »
GetDocumentByUNID ist eine Methode der NotesDocument class, also Backend, ergo wird DADURCH auch nichts im FrontEnd passieren.

Ich schliesse mich daher Toni an.

Bernhard

Offline Alexis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 534
  • Geschlecht: Männlich
  • LotusNotes macht süchtig!
Re: Fenster schließen im workspace
« Antwort #4 am: 10.07.06 - 12:18:41 »
Hallo,

hier mein Code:
Code
Sub Postopen(Source As Notesuidocument)
	Dim session As New NotesSession
	Dim rti As NotesRichTextItem
	Dim rtnav As NotesRichTextNavigator
	Dim rtlink As NotesRichTextDocLink
	Dim db As NotesDatabase
	Dim collection As NotesDocumentCollection
	Dim doc As NotesDocument
	
	Set doc = source.Document
	If doc.IsNewNote Or source.EditMode Then Exit Sub
	
	Set rti = doc.GetFirstItem("Link")
	Set rtnav = rti.CreateNavigator
	
	If Not rtnav.FindFirstElement(RTELEM_TYPE_DOCLINK) Then
		Messagebox "No doclinks in Link item",, "No doclinks"
	Else
		Set rtlink = rtnav.GetElement
	End If
	
	Call doc.Save(False,False)
	Dim doc2 As NotesDocument
	Dim db2 As New NotesDatabase( "", "" )
	If Not db2.OpenByReplicaID( "ServerName", rtlink.DbReplicaID ) Then Messagebox "Unable to open database" 
	
	Set doc2 = db2.getDocumentByUNID(rtlink.DocUNID)
	Set rtitem = doc2.GetFirstItem( "Body_1" )
	If rtitem Is Nothing Then 
		Messagebox "No attachment available"
	Else 
		Dim file As String
		Forall all In rtitem.EmbeddedObjects
			If ( all.Type = EMBED_ATTACHMENT ) Then
				file = Join(Split("c:\" & all.Name, " "), "")
				Call all.ExtractFile (File)		 		 		 		 
				taskid = Shell("cmd.exe /c start " + file , 0)
			End If		 
		End Forall
	End If
	
End Sub

Alexis
wenn ich kein Problem hätte, wär' ich nicht hier ---
wenn ich im Forum eine Lösung gefunden hätte, wär' ich nicht hier ---
wenn ich nicht wüsste, dass mir hier fast immer geholfen wird, wär' ich AUCH nicht hier ---

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Fenster schließen im workspace
« Antwort #5 am: 10.07.06 - 12:43:27 »
Das was du schilderst und der Code den du da hast passen nicht zusammen. Bist du das Teil mal mit dem Debugger durchgegangen?
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline Mandalor

  • Senior Mitglied
  • ****
  • Beiträge: 359
  • Geschlecht: Männlich
Re: Fenster schließen im workspace
« Antwort #6 am: 10.07.06 - 13:07:58 »
hat die Maske die Eigenschaft "1. Doclink öffnen"?
mit besten Grüßen

Markus Petzold

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: Fenster schließen im workspace
« Antwort #7 am: 10.07.06 - 13:08:42 »
... am Anfang hast du die Verzweigung, ob es sich um ein neues Dokument handelt, oder man bereits im Edit-Modus ist - kann es sein, daß du dich bereits im Edit-Mode befindest? Ich schliße mich Thomas an - was sagt der Debugger - ausserdem wäre eventuell das QueryOpen der bessere Platz...

Toni
Grüßle Toni :)

Offline Alexis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 534
  • Geschlecht: Männlich
  • LotusNotes macht süchtig!
Re: Fenster schließen im workspace
« Antwort #8 am: 10.07.06 - 13:35:10 »
Hallo,

mag sein, dass ich mich nicht präzise genug ausgedrückt habe, aber die Beschreibung und der Code gehören schon zusammen. Meine Aussage bezüglich "getDocumentByUNID" ist jedoch falsch.

Vielleicht ausführlicher, denn das Problem möchte ich schon gelöst haben:

Dokument 1 enthält ein RT-Feld mit einem Link zu einem Dokument einer 2. Datenbank. Dieses Dokument 2 enthält ein Attachment, dass ich direkt öffnen möchte, so als wenn ich in Dokument 1 im RT-Feld ein Attachment per "Launch First Attachment" öffne.

Dokument 1 wird geöffnet mit "First Document Link" (bewirkt das Öffnen der Maske des Zieldokuments 2, was ich eigentlich gar nicht will  >:D).

Im PostOpen der Maske 1 wird der vorstehende Code ausgeführt, was ja auch klappt.

Bleibt die Frage, wie kann das Fenster mit der Maske 2 schließen, denn ein Eintrag Auto Launch = None öffnet ja leider die Maske von Dokument 1 ???

Alexis
« Letzte Änderung: 10.07.06 - 13:51:51 von Alexis »
wenn ich kein Problem hätte, wär' ich nicht hier ---
wenn ich im Forum eine Lösung gefunden hätte, wär' ich nicht hier ---
wenn ich nicht wüsste, dass mir hier fast immer geholfen wird, wär' ich AUCH nicht hier ---

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Fenster schließen im workspace
« Antwort #9 am: 10.07.06 - 13:45:41 »
Dann nimm doch den Autostart einfach raus. Damit solltest du kein zweites Fenster mehr aufbekommen und das Thema ist vom Tisch, weil dann nur noch das erste Dokument geöffnet wird..

Entweder stehst du jetzt auf dem Schlauch oder ich.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline Alexis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 534
  • Geschlecht: Männlich
  • LotusNotes macht süchtig!
Re: Fenster schließen im workspace
« Antwort #10 am: 10.07.06 - 13:57:58 »
Hallo Thomas,

Schlauch hin, Schlauch her.

Der Eintrag Auto Launch = None bewirkt doch das Öffnen der Maske von Dokument 1, was ich natürlich auch nicht will. Ich möchte doch nur dass das Attachment 2 gestartet wird, Dokument 1 ist nur die Brücke zweck Adressierung.

Zitat
Dann nimm doch den Autostart einfach raus

Wie denn, wenn nicht über den zitierten Maskeneintrag  :-:.

Alexis Schlauch
wenn ich kein Problem hätte, wär' ich nicht hier ---
wenn ich im Forum eine Lösung gefunden hätte, wär' ich nicht hier ---
wenn ich nicht wüsste, dass mir hier fast immer geholfen wird, wär' ich AUCH nicht hier ---

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Fenster schließen im workspace
« Antwort #11 am: 10.07.06 - 15:03:43 »
Verzeihung aber irgendwie raff ich das konzeptionell nicht.

Du bist hier doch ohnehin schon im ersten bereits offenen Dokument:
Code
Sub Postopen(Source As Notesuidocument)
und du frägst hier
Code
	Set doc = source.Document
	If doc.IsNewNote Or source.EditMode Then Exit Sub
doch genau dieses Dokument das du nach deiner letzten Aussage eigentlich gar nicht öffnen willst ab.

Auto Launch = None bewirkt nur das nichts was in dem Dokument das du gerade öffnest steht automatisch irgendwas anderes (Maske Nr.2) öffnet. Du öffnest deine Maske Nr. 1 aber gerade also muss die auch angezeigt werden.
Was du jetzt tun kannst ist, am Ende des PostOpen ein source.close(true) einzubauen damit geht das Dokument halt sofort wieder zu. Ich frage mich allerdings was da für ein Konzeption dahinter steht und ob man das nicht vielleicht auch anders lösen könnte.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline Alexis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 534
  • Geschlecht: Männlich
  • LotusNotes macht süchtig!
Re: Fenster schließen im workspace
« Antwort #12 am: 10.07.06 - 15:53:22 »
Hallo Thomas, hallo Forum

Danke für Dein/Euer Bemühen, vielleicht ist tatsächlich ein anderer Ansatz zu suchen.

Leider komme ich erst morgen dazu, die Zielsetzung deutlich zu machen.

Alexis
wenn ich kein Problem hätte, wär' ich nicht hier ---
wenn ich im Forum eine Lösung gefunden hätte, wär' ich nicht hier ---
wenn ich nicht wüsste, dass mir hier fast immer geholfen wird, wär' ich AUCH nicht hier ---

Offline LN4ever

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 505
  • Geschlecht: Männlich
Re: Fenster schließen im workspace
« Antwort #13 am: 10.07.06 - 22:10:05 »
Was oben schon gesagt wurde:

POSTOPEN ist der falsche Platz für deinen Code.
Mach ihn in QUERYOPEN, häng unten ein Continue=FALSE dran und laß das doc.Save weg (das macht doch keinen Sinn). Dann wird auch nix geöffnet - außer deinem Anhang.
Situs vilate in isse tabernit.

Offline Alexis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 534
  • Geschlecht: Männlich
  • LotusNotes macht süchtig!
Re: Fenster schließen im workspace
« Antwort #14 am: 11.07.06 - 08:09:28 »
Bingo,

so einfach kann's sein.

Vielen Dank LN4ever

Alexis
wenn ich kein Problem hätte, wär' ich nicht hier ---
wenn ich im Forum eine Lösung gefunden hätte, wär' ich nicht hier ---
wenn ich nicht wüsste, dass mir hier fast immer geholfen wird, wär' ich AUCH nicht hier ---

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz