Document

Abgeleitet von: Schriftgut

Eigenschaften und Methoden eines Dokuments

Documents Auflistungen

public Documents Documents { get; }

Liefert eine Auflistung bekannter Schriftgut Instanzen vom Typ Document in diesem Document.

public Documents DocumentsFlattened  { get; }

Liefert eine Auflistung aller bekannter Schriftgut Instanzen vom Typ Document innerhalb von diesem Document.

public Documents DocumentLeaves  { get; }

Liefert eine Auflistung aller bekannter Schriftgut Instanzen vom Typ Document innerhalb von diesem Document auf unterster Ebene.

Hinzufügen eines Dokuments

Es ist möglich, unterhalb eines Dokuments ein neues Dokument hinzuzufügen.1)

Diese Funktionalität ist zur Zeit nur für Schriftsätze unterstützt.

Hierfür muss zuerst ein Dokument-Aufruf angelegt werden. Dieser Dokument-Aufruf kann danach verwendet werden, um ein neues Document zu einem bestehenden Dokument hinzuzufügen.

public Document AddDocument(DocumentCallOperation documentAufruf);

Es steht auch eine generische Methode AddDocument<> zur Verfügung, mit der ein Document erzeugt werden kann, für welches keine Definitionen festgehalten werden. Dies ist zur Zeit nur für Dokumente vom Typ ArchivDokument möglich.

public T AddDocument<T>();

Beide AddDocument Methoden liefern ein neu erzeugtes Document unterhalb dieses Dokuments.

Im folgenden Beispiel wird ein Schriftsatz anhand seines Namens ermittelt und ein in der Basis-Assembly bekanntes Schriftstück sowie ein Archivdokument als neues Dokument im Schriftsatz erzeugt:

var sstz = this.Ctv.Documents.OfType<GkSstzArchiv>().FirstOrDefault();
if (sstz != null) {
	var sstkAppendixAufruf = this.Ctv.Create<GkSstkAppendix.Udef>();
	sstkAppendixAufruf.Ctarout = localerstellterliste;
	var sstk = sstz.AddDocument(sstkAppendixAufruf);
	var ssta = sstz.AddDocument<ArchivDocument>();
	if (ssta != null) {
		ssta.DisplayName = "Dokument aus dem Archiv";
		ssta.ExposedVariables.Archiveid.Value = $"{Services.Timestamp.Now}{index:N6}";
	}
}

DependentDocuments

Dokumente aus dem Archiv werden immer zu einem bestehenden Schriftstück angelegt. Um diese Abhängigkeit zu setzen und dadurch auch die Vererbung von Eigenschaften am Dokument zu ermöglichen, gibt es an der Schriftstück-Klasse zwei Methoden, um diese Abhängigkeit zu setzen2):

public void AddDependentDocuments(IEnumerable<Document> docs);
public void AddDependentDocuments(params Document[] docs);

Mit folgender Methode kann die Abhängigkeit aller von dem Schriftstück abhängigen Dokumente wieder entfernt werden. Es wird nur die Abhängigkeit entfernt, die Dokumente bleiben dabei erhalten:

public void RemoveDependentDocuments();

Hier ein Beispiel:

var sstz = this.Ctv.Documents.OfType<GkSstzArchiv>().FirstOrDefault();
var briefdocument = sstz?.DocumentLeaves.OfType<GkSstkBriefarchiv>().FirstOrDefault();
if (briefdocument != null) {
	var ssta = sstz.AddDocument<ArchivDokument>();
	if (ssta != null) {
		ssta.DisplayName = "Archiv Dokument Hugo";
		ssta.ExposedVariables.Dokid.Value = "1234";
		ssta.ExposedVariables.Archiveid.Value = Services.Timestamp.Now;
 
		briefdocument.AddDependentDocuments(ssta);
	}
}

Im Beispiel wird ein bekannter Schriftsatz mit einem Schriftstück gesucht. Falls diese vorhanden sind, wird ein Archiv-Dokument angelegt und werden zum Dokument bestimmte Angaben gemacht, wie das Setzen von DokId und ArchiveId. Mittels der Methode AddDependentDocuments wird dann das neu erzeugte Dokument mit dem ermittelten Schriftstück verknüpft.

Ergebnisdokument erzeugen

public T GetResult<T>() where T : Result, new()

Die Methode GetResult<T> liefert ein Ergebnis des gewünschten Typs für die zugrunde liegende Schriftgut-Instanz der Klasse Document.

Das gelieferte Ergebnis ist eine Instanz der Klasse Result. Der genaue, von Result abgeleitete Typ, wird als generic Type Template T angegeben. Derzeit werden nur die Typen PdfResult und OpenXmlResult unterstützt.

Open-XML Unterstützung prüfen

public bool CanDeliverOpenXml { get; }

Gibt an, ob ein Dokument das Open-XML Format unterstützt.

Prüfen ob Dokument kein Inhalt hat

public bool IsEmpty { get; }

Gibt an, ob ein Dokument leer ist. Dies ist zum Beispiel der Fall bei Dokumenten, in denen kein einziger Baustein selektiert ist.3)

1) , 2) , 3)
ab v9.12 Update 16
dotnet:native:ctv:document · Zuletzt geändert: 10.05.2022 11:21

Copyright © 1992-2024 TeamWiSE Gesellschaft für Softwaretechnik mbH         Adressen |  Kontakt |  AGB |  Datenschutzerklärung |  Impressum