Der Abschnitt Ctv
in der Basisimplementierung bietet Unterstützung zum Umgang mit CTV-Objekten und -Funktionen. Diese Unterstützung wird geboten von der Klasse TeamWiSE.Runtime.CTVSupport.Engine
.
Die CTV-Unterstützung wird in die Basis-Assembly generiert, wenn bei deren Generierung entweder ein CTV-Modul enthalten ist, oder das entsprechende Setting übergeben wurde.
Wenn für den aktuellen Baustein im aktuellen Prozess keine CTV-Funktionalitäten geboten werden können, ist der Abschnitt Ctv
nicht gesetzt, also null
.
public Documents Documents { get; }
Liefert eine Auflistung bekannter Schriftgut-Instanzen vom Typ Document
auf oberster Ebene.
public Documents DocumentsFlattened { get; }
Liefert eine Auflistung aller bekannter Schriftgut-Instanzen vom Typ Document
.
public Documents DocumentLeaves { get; }
Liefert eine Auflistung aller bekannter Schriftgut-Instanzen vom Typ Document
auf unterster Ebene.
Beispiel:
public bool CheckDocument(string docName) { var doc = this.Ctv?.DocumentsFlattened.FirstOrDefault(d => d.Name == docName); return doc != null && DocumentPlausi(doc); }
Der Abschnitt Ctv
bietet die Möglichkeit, ein neues Dokument anzulegen und auf oberster Ebene hinzuzufügen.1)
Hier für muss zuerst ein Dokument-Aufruf angelegt werden (vergleichbar einem Modulaufruf). Dieser Dokument-Aufruf kann dann ggf. mit Daten versorgt werden und danach verwendet werden um ein Document
zu erzeugen.
public T Create<T>();
Für jede Operation, die für ein Dokument definiert ist, enthält die Basis-Assembly einen Dokument-Aufruf mit den entsprechenden Argumenten. Beispiel:
var sstzAufruf = this.Ctv.Create<GkSstzArchiv.Udef>(); sstzAufruf.Kunden = this.Data.NewList(Kunden.Type);
Nachdem die Daten für das Document
beim Dokument-Aufruf versorgt wurden, kann anhand des erstellten Dokumentaufrufs mit der Methode AddDocument
ein entsprechendes Document
erzeugt und hinzugefügt werden:
public Document AddDocument(DocumentCallOperation documentAufruf);
AddDocument
liefert ein neu erzeugtes Document
auf oberster Ebene.
Beispiel für das Erstellen eines in die Basis-Assembly generierten Schriftsatzes:
var sstzAufruf = this.Ctv.Create<GkSstzArchiv.Udef>(); sstzAufruf.Kunden = this.Data.NewList(Kunden.Type); this.Ctv.AddDocument(sstzAufruf);
Hierbei wird das neue Document
auf oberster Ebene in der CTV-Engine erstellt.
Es ist auch möglich, ein Dokument unterhalb eines bestehenden Dokuments zu erzeugen. Siehe dazu die Seite für Document
.
public T GetDocumentsResult<T>() where T : Result, new() public T GetDocumentsResult<T>(params Document[] docs) where T : Result, new() public T GetDocumentsResult<T>(IEnumerable<Document> docs) where T : Result, new()
Die Methode GetDocumentsResult<T>
liefert ein Ergebnis des gewünschten Typs für die übergebenen, aufgezählten oder für alle derzeit bekannten Schriftgut-Instanzen 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.
public bool RemoveDocuments() public bool RemoveDocuments(params Document[] docs) public bool RemoveDocuments(IEnumerable<Document> docs)
Verwirft entweder alle Dokumente, oder die explizit übergebenen oder aufgezählten Dokumente.