PRINT+PLUS
  • Einleitung
  • Einrichtung
    • Installation
  • Aktualisierung
    • Aktualisierungseinführung
  • Lizenzierung
    • Lizenzierungseinführung
  • Funktionsweise von PRINT+PLUS
    • Einführung Funktionsweise
  • Gestalten von Vorlagen
    • Intro Vorlagen
    • Beispiel mit Rechnung
    • Formatierung
    • Spezielle Platzhalter für Datum, Ja/Nein-Felder, Bilder und HTML
    • Platzhalter für die Benutzerattribute von cobra CRM
    • Eigene Platzhalter
  • Einrichtung von Ausgabeformaten
    • Intro
    • Alle Einstellungen eines Ausgabeformats im Detail
    • Register "Allgemeine Konfiguration"
    • Register "Ausgangstabelle (Current)"
    • Register "Ausgangs-Vorlage"
    • Register "Übergeordnete Tabellen (Parent)"
    • Register "Untergeordnete Tabellen (Children)"
    • Register "Dokumente speichern"
    • Register "Filter-Dialog"
    • Register "Ergebnis-Verhalten"
    • Register "Skripte"
  • Ausgabe ausführen
    • Intro Ausgabe ausführen
  • AUSGABEN PER TASK AUSFÜHREN
    • Aufgaben dem Task zuweisen
    • Windows Aufgabenplanung für den Task einrichten
    • Besonderheiten in Skripten
  • Eingabemasken Steuerelement
  • Intro Eingabemasken Steuerelement
    • Steuerelement hinzufügen
  • Einbindung von Print+Plus in cobra Kampagnen
  • Intro Einbindung von Print+Plus in cobra Kampagnen
  • Grundlagen Skripting
    • C#
    • Skript-Events
    • Kontexte
    • Geladene Daten verwenden
    • Geladene Daten verändern
    • Datensätze anlegen
    • Eingabemaske öffnen
    • Eigene Werte ergänzen (Custom Values)
  • Beispielskripte
    • Nummer vergeben
    • PDF-Formulare füllen
    • PDF-Dokumente zusammenfügen
    • Generiertes Dokument via SMTP versenden
    • Weitere Ausgabe starten
    • Vorlage aus DMS-Feld holen
    • Felder für CRYPTO+PLUS verschlüsseln
    • Benutzerabhängige Drucker verwenden
    • Bilder in E-Mails einbinden
    • Zahlen in Worten ausschreiben
    • Datensatz-Bilder aus cobra einbetten
    • Ergebnisdokumente kopieren
    • Regionsspezifische Ausgabeformate
    • Andere Datenquelle-Objekte nutzen
    • DocuSign Integration
  • FAQs
    • Fehlermeldung Template konnte nicht geöffnet werden
    • DevExpress-Word-Exporter
      • Bilder in Vorlage
      • Bekannte Einschränkungen
      • Hinweise für Entwickler
  • Zusätzliches Tool im Zusammenhang mit PRINT+PLUS
    • Intro Zusätzliches Tool
Powered by GitBook
On this page
  • Konfiguration
  • Ideen
  • Skript
  1. Beispielskripte

Vorlage aus DMS-Feld holen

Dieses Skript zeigt, wie zur Laufzeit die Vorlage geändert werden kann.

D.h. in diesem Fall wird in einem Projektdatensatz über ein Dokumentfeld konfiguriert welche Vorlage als Ausgabe für einer zu diesem Projekt verknüpften Spende zur Bestätigung verwendet wird.

Konfiguration

  • Es handelt sich um einen Exporter der ein Dokument generiert (Word, Excel, Text).

  • Das Skript wird als AfterLoadData ausgeführt.

Ideen

  • Der Ausgangsdatensatz ist die Spende, die jedoch mit einem Projekt verknüpft wird. Es soll eine Spendenbescheinigung ausgegeben werden.

  • Die Vorlage für die Spendenbescheinigung ist bei jedem Projekt unterschiedlich, daher wird sie im referenzierten Projekt hinterlegt.

  • Das Projekt enthält ein Dokumentfeld.

  • Das Projekt selbst ist ein Übergeordneter Datensatz zur Spende.

  • Es wird der Pfad aus dem cobra-DMS abgerufen und zur Sicherheit die Datei lokal kopiert.

Skript

// Version 5
namespace Ruthardt.PrintPlus.Skripting
{
	using System;
	using System.Collections.Generic;
	using System.IO;
	using System.Linq;
	
	using Cobra.Common;
	using Cobra.Common.DocumentManagement.Interfaces;

	using Ruthardt.CobraBase.Functions.Access.Ado;
	using Ruthardt.PrintPlus.Model.Interfaces;
	
	public class VorlageWaehlen : IScriptAction
	{
		public void Execute(IPrintContext printContext, ICurrentContext currentContext, IChildContext childContext)
		{
			// den Projekt- oder Teilprojektdatensatz abfragen
			var teilprojekt = currentContext.ParentDataByPrefix["Teilprojekt"];
			
			// Den Pfad der hinterlegten Vorlage ermitteln
			IDmsController dmsController = CobraMain.Container.ResolveType<IDmsController>();
			var documentFileName = dmsController.GetDocumentFileName(teilprojekt.GetStringValue("Verdankungsvorlage"));
			
			// Vorlage lokal kopieren
			var tempPath = Path.GetTempFileName() + ".dotx";
			File.Copy(documentFileName, tempPath, true);
			
			// der Vorlage den Netzwerkpfad der Verdankungsvorlage übergeben
			printContext.Config.Current.Templates.First().File = tempPath;
		}
	}
}
PreviousWeitere Ausgabe startenNextFelder für CRYPTO+PLUS verschlüsseln

Last updated 1 year ago