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:
Hier habe ich folgendes Event als BeforeOpen
für den entsprechenden Dokumenttyp hinterlegt:
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.