insert_variant_and_get()
Kombiniert insert_variant() und get() in einem Aufruf: Legt eine neue Variante an und gibt sofort die vollständig serverseitig gefüllte Modell-Instanz zurück. Bei abgelehntem Insert wird ECMException ausgelöst.
ECM Model Referenz — vollständige Beschreibung aller system-Properties der zurückgegebenen Instanz.
1. Signatur
-
Sync
-
Async
ecm.dms.insert_variant_and_get(
model: T, # gebunden an ECMDocumentModel
parent_document_id: int | ECMDocumentModel,
files: list[JobRequestFile] | None = None,
*,
same_level: bool | None = None,
set_active: bool | None = None,
transfer_retention: bool | None = None,
check_mandatory: bool = True,
rights: bool = False,
base_params: bool = False,
file_properties: bool = False,
variants: bool = False,
use_result_list: bool = False,
fields: list[str | ECMField] | None = None,
) -> T
await ecm.dms.insert_variant_and_get(
model: T,
parent_document_id: int | ECMDocumentModel,
files: list[JobRequestFile] | None = None,
*,
same_level: bool | None = None,
set_active: bool | None = None,
transfer_retention: bool | None = None,
check_mandatory: bool = True,
rights: bool = False,
base_params: bool = False,
file_properties: bool = False,
variants: bool = False,
use_result_list: bool = False,
fields: list[str | ECMField] | None = None,
) -> T
2. Parameter
2.1. Varianten-Parameter
Siehe insert_variant() für model, parent_document_id, files, same_level, set_active, transfer_retention und check_mandatory.
2.2. Get-Parameter
Die folgenden Parameter werden unverändert an get() weitergereicht. Details siehe dort.
| Name | Typ | Kurzbeschreibung |
|---|---|---|
|
|
Zugriffsrechte laden ( |
|
|
Administrative Metadaten laden ( |
|
|
Dateimetadaten laden ( |
|
|
W-Modul-Varianten laden ( |
|
|
Abruf-Modus wechseln (ermöglicht |
|
|
Einschränken der zurückgegebenen Felder. Nur mit |
3. Rückgabewert
Eine typisierte ECMDocumentModel-Instanz mit allen serverseitigen Feldwerten (ID, Systemfelder, Indexfelder).
4. Ausnahmen
ECMException-
Der Server hat den Insert abgelehnt (
ObjectID == -1). TypeError-
modelist keineECMDocumentModel-Instanz. ValueError-
parent_document_idhat keineid, odercheck_mandatory=Trueund ein Pflichtfeld fehlt.
5. Beispiel
-
Sync
-
Async
parent = ecm.dms.get(InvoiceDocument, parent_id)
variant = ecm.dms.insert_variant_and_get(
InvoiceDocument(Title="Revision 2"),
parent,
same_level=True,
set_active=True,
)
print(variant.system.id, variant.Title)
parent = await ecm.dms.get(InvoiceDocument, parent_id)
variant = await ecm.dms.insert_variant_and_get(
InvoiceDocument(Title="Revision 2"),
parent,
same_level=True,
set_active=True,
)
print(variant.system.id, variant.Title)
6. Siehe auch
-
insert_variant() — nur Varianten-Anlage, liefert IDs zurück
-
insert_and_get() — Nicht-Varianten-Insert