Embedded Documents als Fenster im enaio-Rich-Client öffnen

Mit einem Event für den enaio-Rich-Client kann ein Dokument z. B. bei einem Doppelklick in einem externen Browser mit Embedded Documents bearbeitet werden, dies ist hier beschrieben:

Ab Embedded Documents 2.3.3 steht auch die mit enaio 11.0 eingeführte API OpenBrowser zur Verfügung.

Dadurch kann per Doppelklick (oder ähnliches) ein Embedded Documents als Fenster im Rich-Client geöffnet werden:

OpenBrowser

Hier habe ich folgendes Event als BeforeOpen für den entsprechenden Dokumenttyp hinterlegt:

BeforeOpen

Const MODE = "edit"
'Const MODE = "view"

Sub Main
	If ActivePage.FileCount = 0 Then
		WriteProfString "GLOBALS", "SKIPCONTENT", "TRUE", osfile 
		asfile.ResultCode = 1 
		asfile.WriteToFile 
	Else
		Dim GatewayUrl: GatewayUrl = getRegValue("Services\Gateway\API")
		Dim DocumentUrl: DocumentUrl = Replace(GatewayUrl & "/ed?sessionguid=", "//ed", "/ed") & Drtsession.SessionGuid & "#/" & MODE & "/" & Activepage.ObjectType & "/" & Activepage.ID

		Dim TypeLib: Set TypeLib = CreateObject("Scriptlet.TypeLib")
		Dim Guid: Guid = TypeLib.Guid

		Dim ObjectPattern: Application.GetObjectPattern ActivePage.ID, ActivePage.ObjectType, "1", ObjectPattern
		Application.OpenBrowser DocumentUrl, ObjectPattern, Guid
		asfile.ResultCode = 0 
		asfile.WriteToFile 
	End If
End Sub

Main()

Function GetRegValue(byVal Name)
	Dim Job: Set Job = DrtSession.CreateJob("krn", "REGetRegValue")
	Job.AddInParam "Name", Name, 1
	Job.AddInParam "Flags", "0", 2
	Job.Execute
	GetRegValue = job.GetOutParamString("Value")
End Function

Achtung: Änderung müssen unbedingt vor dem Schliessen manuell gespeichert werden! enaio beachtet leider den Hinweis des eingebetteten Browsers nicht, dass ungesicherte Änderung vorliegen.

Über die Konstante MODE, Zeile 1 bzw. 2, kann gesteuert werden, ob ED direkt im Bearbeiten-Modus geöffnet wird oder im Ansichtsmodus startet.