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

rights

bool

Zugriffsrechte laden (obj.system.rights). Standard: False.

base_params

bool

Administrative Metadaten laden (obj.system.base_params). Standard: False.

file_properties

bool

Dateimetadaten laden (obj.system.file_properties). Standard: False.

variants

bool

W-Modul-Varianten laden (obj.system.variants). Standard: False.

use_result_list

bool

Abruf-Modus wechseln (ermöglicht folder_id/register_id im Ergebnis). Standard: False.

fields

list[str | ECMField] | None

Einschränken der zurückgegebenen Felder. Nur mit use_result_list=True wirksam. Standard: None.

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

model ist keine ECMDocumentModel-Instanz.

ValueError

parent_document_id hat keine id, oder check_mandatory=True und 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