Lol_query um Rückgabewert PAGE_COUNT erweitern

Falls ich einen kleinen Wunsch zur lol_query äussern dürft: Es wäre schön, wenn ich die PAGE_COUNT in der lol_query als Teil der result_fields zurückgegeben werden könnte. In der server api bin ich auf das Systemfeld OBJECT_DOCPAGECOUNT gestossen. Im Artikel Welche Daten stehen bei DMS getrsultlist ebenenabhängig zur Verfügung wird das Feld DOCUMENT_PAGE_COUNT genannt. Liesse sich hier etwas machen?

Die Liste der SystemFields kommt aus dem API-Handbuch, kann aber unvollständig sein/wird unvollständig sein. Ich erinnere mich auch, dass wir das schon erfolgreich angefragt, haben, aber nicht so:

Rückgabewert: -1031 == 0xFFFFFBF9

=== 12 Eingabeparameter ===
DateFormat (1) = %Y-%m-%d
Encoding (1) = UTF-8
FileInfo (2) = 0
Flags (2) = 0
FollowDocLink (2) = 0
GarbageMode (2) = 0
MaxHits (1) = None
Offset (2) = 0
PageSize (2) = 1000
RequestType (1) = LOL
Status (2) = 0
XML (6, xml) = 
<DMSQuery>
	<Archive>
		<ObjectType internal_name="WTest">
			<Fields field_schema="DEF">
				<Field internal_name="DOCUMENT_PAGE_COUNT" system="1"/>
			</Fields>
			<Conditions/>
		</ObjectType>
	</Archive>
</DMSQuery>

=== 4 Fehler ===

(oxjobdms) : 3252355235 = 0xc1db00a3 = 163
The DMS field >DOCUMENT_PAGE_COUNT< could not be found.
Rückgabewert: -1031 == 0xFFFFFBF9

=== 12 Eingabeparameter ===
DateFormat (1) = %Y-%m-%d
Encoding (1) = UTF-8
FileInfo (2) = 0
Flags (2) = 0
FollowDocLink (2) = 0
GarbageMode (2) = 0
MaxHits (1) = None
Offset (2) = 0
PageSize (2) = 1000
RequestType (1) = LOL
Status (2) = 0
XML (6, xml) = 
<DMSQuery>
	<Archive>
		<ObjectType internal_name="WTest">
			<Fields field_schema="DEF">
				<Field internal_name="OBJECT_DOCPAGECOUNT"/>
			</Fields>
			<Conditions/>
		</ObjectType>
	</Archive>
</DMSQuery>

=== 4 Fehler ===

(oxjobdms) : 3252355235 = 0xc1db00a3 = 163
The DMS field >OBJECT_DOCPAGECOUNT< could not be found.

Anfragen lässt es sich scheinbar nicht (über die beiden Namen), aber es ist bereits Teil der FileInfos, also include_file_info=True:

from ecmind_blue_client.tcp_client import TcpClient

client = TcpClient("enaio", 4000, __file__, "root", "optimal")
for doc in client.lol_query(
    object_name="WTest",
    include_file_info=True
):
    print(f"OSID {doc['OBJECT_ID']} hat laut Rendition Service {doc['OBJECT_DOCPAGECOUNT']} Seiten.")


Rückgabewert: 0 == 0x0

=== 12 Eingabeparameter ===
DateFormat (1) = %Y-%m-%d
Encoding (1) = UTF-8
FileInfo (2) = 1
Flags (2) = 0
FollowDocLink (2) = 0
GarbageMode (2) = 0
MaxHits (1) = None
Offset (2) = 0
PageSize (2) = 1000
RequestType (1) = LOL
Status (2) = 0
XML (6, xml) = 
<DMSQuery>
	<Archive>
		<ObjectType internal_name="WTest">
			<Fields field_schema="ALL"/>
			<Conditions/>
		</ObjectType>
	</Archive>
</DMSQuery>

=== 3 Ausgabeparameter ===
Count (2) = 7
TotalHits (2) = 7
XML (6, xml) = 
<DMSContent format="LOL" output_language="0" version="10.0.769.21141" timestamp="2023-02-17T07:27:03" user="ROOT" station="ecm1" instance="...page_count.py">
	<Archive name="Test" id="1" osguid="7A9637E3CE344C2299C89F9F88E430C1">
		<ObjectType name="WTest" id="262145" maintype="4" cotype="1" osguid="27914497BB1148F8A175419856B57466" internal_name="WTest" type="DOCUMENT" modul="WINDOWS" table="object4">
			<Rowset>
				<Columns>
1 „Gefällt mir“

Das ist doch auch schon mal was, danke fürs raussuchen und probieren!