Ich denke es könnte auch für andere interessant sein. Der enaio-Client verwendet für das Verschieben von Objekten eine nicht dokumentierte Funktion. „dms.MoveObject“
result = enaio_client.execute(
Job(
jobname='dms.MoveObject',
Flags=0,
FolderID=folder_id_register, #ID des Folder-Ziels
ObjectID=objekt[SystemFields.OBJECT_ID.name], #ID des zu verschiebenden Objekts
ObjectType=int(objekt['OBJECT_TYPE_ID']), #Type des zu verschiebenden Objekts
RegisterID=ziel_id, #ID des Register-Ziels
UserIdent=0,
)
)
Der Parameter „UserIdent“ scheint egal zu sein. Ich hatte ihn bisher immer auf 0 gelassen.
Zu Beachten: Ich habe den Befehl noch nicht getestet mit Dokumenten mit mehreren Standorten. Hier scheint der Client nämlich ein UPDATE der sdrel-Tabelle durchzuführen.
Hallo @danielstraub, hast Du damit Vorteile gegenüber der Verwendung von DMS.XMLMove, z. B. beim Tempo? (Abgesehen davon, dass man sich das Aufbauen des XMLs sparen kann, was nett ist.)
Hallo @rk ,
ich habe keine Performance unterschiede wahrgenommen. Der große Vorteil ist hierbei glaube tatsächlich die einfache Handhabung.
Vielleicht hat die Funktion noch einen Vorteil - aus irgendeinem Grund wird die Funktion vermutlich vom enaio Client verwendet anstatt „DMS.XMLMove“.
Wie man hier an der Signatur der Methode sehen kann, ist die Nutzung echt mühsam, vgl. die Vermutung von @danielstraub. Weiterhin reagiert dies jetzt bisher nicht auf Dokumente, welche nicht in ein Register geschoben werden sollen.
Ich frage mich trotzdem, ob ich das mal allgemeiner in den ecmind_blue_client.Client übernehmen soll.