Hallo @fb, ja, leider kann der Job DMS.XmlDelete
das ja nicht so richtig gut:
xml = XmlElement.from_object("DMSData", {
"Archive": {
"@internal_name": "Test",
"ObjectType": {
"@internal_name": "WTest",
"Object": {
"@object_id": 751,
"@variantparent_id": 753
}
}
}
})
result = client.execute(Job(Jobs.DMS_XMLDELETE, Flags=0, Options=Options(), XML=xml))
print(result)
Ergebnis:
Unable to delete inactive original
[...]
A general error occurred while calling the job to delete the specified object.oxjobdms
Aber der std.DeleteObject
sollte es können, d. h. wenn man eine Schleife über die Variantendokumente macht, sollte es IMHO gehen:
from ecmind_blue_client import Job, Jobs
from ecmind_blue_client.tcp_client import TcpClient
client = TcpClient(
hostname="enaio",
port=4000,
appname=__file__,
username="root",
password="optimal",
)
result = client.execute(
Job(
Jobs.STD_DELETEOBJECT,
sDeleteMethod="Recycle",
dwObjectID=755,
dwObjectType=262145,
dwParentID=0,
dwParentType=0,
)
)
print(result)
Vorher

Nachher

Bleibt noch die Frage, woher man die IDs kennt, das könnte brav per API oder aber auch weniger brav per SQL etc. bestimmt werden.
Wie viele Dokumente sind denn zu untersuchen/im Schrank vorhanden?