logologo
Start
Handbuch
Entwickler
Plugins
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
Start
Handbuch
Entwickler
Plugins
API
logologo
Überblick
Konfigurationshinweise

Vorlagensyntax

Grundlagen
Schleifen

Formatierungswerkzeuge

Überblick
Textformatierung
Zahlenformatierung
Währungsformatierung
Datumsformatierung
Zeitintervall-Formatierung
Array-Formatierung

Erweiterte Funktionen

Bedingungen
Erweiterte Features
FAQ
Anwendungsfälle
Previous PageFAQ

#Die Funktion „Vorlagendruck“ zur Erstellung von Liefer- und Kaufverträgen nutzen

In Lieferketten- oder Handelsszenarien ist es oft notwendig, schnell einen standardisierten „Liefer- und Kaufvertrag“ zu erstellen und dessen Inhalt dynamisch mit Informationen aus Datenquellen wie Käufern, Verkäufern und Produktdetails zu füllen. Im Folgenden zeigen wir Ihnen anhand eines vereinfachten „Vertrags“-Anwendungsfalls, wie Sie die Funktion „Vorlagendruck“ konfigurieren und verwenden, um Dateninformationen auf Platzhalter in Vertrags-Vorlagen abzubilden und so automatisch das endgültige Vertragsdokument zu generieren.


#1. Hintergrund und Überblick über die Datenstruktur

In unserem Beispiel gibt es grob die folgenden Haupt-Sammlungen (andere irrelevante Felder werden weggelassen):

  • Parteien: Speichert Informationen über die Einheiten oder Personen von Partei A/Partei B, einschließlich Name, Adresse, Ansprechpartner, Telefon usw.
  • Verträge: Speichert spezifische Vertragsdatensätze, einschließlich Vertragsnummer, Fremdschlüssel für Käufer/Verkäufer, Unterzeichnerinformationen, Start-/Enddaten, Bankkonto usw.
  • Vertragspositionen: Speichert mehrere Positionen unter dem Vertrag (Produktname, Spezifikation, Menge, Einzelpreis, Lieferdatum usw.)

template_print-2025-11-01-16-34-04

Da das aktuelle System nur das Drucken einzelner Datensätze unterstützt, klicken wir auf der Seite „Vertragsdetails“ auf „Drucken“. Das System ruft dann automatisch den entsprechenden Vertragsdatensatz sowie die zugehörigen Parteien und andere Informationen ab und füllt diese in Word- oder PDF-Dokumente ein.


KI-Übersetzungshinweis

Diese Dokumentation wurde automatisch von KI übersetzt.

#2. Vorbereitung

#2.1 Plugin-Vorbereitung

Beachten Sie, dass unser „Vorlagendruck“ ein kommerzielles Plugin ist, das vor dem Drucken erworben und aktiviert werden muss.

template_print-2025-11-01-17-31-51

Plugin-Aktivierung bestätigen:

Erstellen Sie auf einer beliebigen Seite einen Detailblock (z. B. für Benutzer) und prüfen Sie, ob in der Aktionskonfiguration eine entsprechende Option für die Vorlagenkonfiguration vorhanden ist:

template_print-2025-11-01-17-32-09

template_print-2025-11-01-17-32-30

#2.2 Sammlung-Erstellung

Erstellen Sie die oben entworfenen Haupt-Sammlung, Vertrags-Sammlung und Produktpositions-Sammlung (wählen Sie die Kernfelder aus).

#Vertrags-Sammlung (Contracts)

FeldkategorieAnzeigename des FeldesFeldnameFeldoberfläche
Primär- & Fremdschlüsselfelder
IDidInteger
Käufer-IDbuyer_idInteger
Verkäufer-IDseller_idInteger
Assoziationsfelder
Vertragspositionencontract_itemsOne to many
Käufer (Partei A)buyerMany to one
Verkäufer (Partei B)sellerMany to one
Allgemeine Felder
Vertragsnummercontract_noSingle line text
Lieferstartdatumstart_dateDatetime (with time zone)
Lieferenddatumend_dateDatetime (with time zone)
Anzahlungsquote (%)deposit_ratioPercent
Zahlungstage nach Lieferungpayment_days_afterInteger
Bankkontoname (Begünstigter)bank_account_nameSingle line text
Banknamebank_nameSingle line text
Bankkontonummer (Begünstigter)bank_account_numberSingle line text
Gesamtbetragtotal_amountNumber
Währungscodescurrency_codesSingle select
Restbetragsquote (%)balance_ratioPercent
Restzahlungstage nach Lieferungbalance_days_afterInteger
Lieferortdelivery_placeLong text
Name des Unterzeichners Partei Aparty_a_signatory_nameSingle line text
Titel des Unterzeichners Partei Aparty_a_signatory_titleSingle line text
Name des Unterzeichners Partei Bparty_b_signatory_nameSingle line text
Titel des Unterzeichners Partei Bparty_b_signatory_titleSingle line text
Systemfelder
Erstellt amcreatedAtCreated at
Erstellt voncreatedByCreated by
Zuletzt aktualisiert amupdatedAtLast updated at
Zuletzt aktualisiert vonupdatedByLast updated by

#Parteien-Sammlung (Parties)

FeldkategorieAnzeigename des FeldesFeldnameFeldoberfläche
Primär- & Fremdschlüsselfelder
IDidInteger
Allgemeine Felder
Parteinameparty_nameSingle line text
AdresseaddressSingle line text
Ansprechpartnercontact_personSingle line text
Telefonnummercontact_phonePhone
PositionpositionSingle line text
E-MailemailEmail
WebseitewebsiteURL
Systemfelder
Erstellt amcreatedAtCreated at
Erstellt voncreatedByCreated by
Zuletzt aktualisiert amupdatedAtLast updated at
Zuletzt aktualisiert vonupdatedByLast updated by

#Vertragspositionen-Sammlung (Contract Line Items)

FeldkategorieAnzeigename des FeldesFeldnameFeldoberfläche
Primär- & Fremdschlüsselfelder
IDidInteger
Vertrags-IDcontract_idInteger
Assoziationsfelder
VertragcontractMany to one
Allgemeine Felder
Produktnameproduct_nameSingle line text
Spezifikation / ModellspecSingle line text
MengequantityInteger
Einzelpreisunit_priceNumber
Gesamtbetragtotal_amountNumber
Lieferdatumdelivery_dateDatetime (with time zone)
AnmerkungremarkLong text
Systemfelder
Erstellt amcreatedAtCreated at
Erstellt voncreatedByCreated by
Zuletzt aktualisiert amupdatedAtLast updated at
Zuletzt aktualisiert vonupdatedByLast updated by

#2.3 Oberfläche-Konfiguration

Beispieldaten eingeben:

template_print-2025-11-01-17-32-59

template_print-2025-11-01-17-33-11

Konfigurieren Sie Verknüpfungsregeln, um den Gesamtpreis und die Restzahlung automatisch zu berechnen:

template_print-2025-11-01-17-33-21

Erstellen Sie einen Ansichtsblock, bestätigen Sie die Daten und aktivieren Sie die Aktion „Vorlagendruck“:

template_print-2025-11-01-17-33-33

#2.4 Vorlagendruck-Plugin-Konfiguration

template_print-2025-11-01-17-33-45

Fügen Sie eine Vorlagenkonfiguration hinzu, z. B. „Liefer- und Kaufvertrag“:

template_print-2025-11-01-17-33-57

template_print-2025-11-01-17-34-08

Als Nächstes wechseln wir zum Tab „Feldliste“, wo wir alle Felder des aktuellen Objekts sehen können. Nachdem wir auf „Kopieren“ geklickt haben, können wir mit dem Ausfüllen der Vorlage beginnen.

template_print-2025-11-01-17-35-19

#2.5 Vertragsdatei-Vorbereitung

Word-Vertragsvorlagendatei

Bereiten Sie die Vertragsvorlage (.docx-Datei) im Voraus vor, zum Beispiel: SUPPLY AND PURCHASE CONTRACT.docx

In diesem Beispiel stellen wir eine vereinfachte Version des „Liefer- und Kaufvertrags“ zur Verfügung, die Beispiel-Platzhalter enthält:

  • {d.contract_no}: Vertragsnummer
  • {d.buyer.party_name}, {d.seller.party_name}: Namen von Käufer und Verkäufer
  • {d.total_amount}: Gesamtvertragssumme
  • Und weitere Platzhalter wie „Ansprechpartner“, „Adresse“, „Telefon“ usw.

Als Nächstes können Sie die Felder aus Ihrer Sammlung kopieren und in Word einfügen.


#3. Vorlagenvariablen-Tutorial

#3.1 Füllen von Basisvariablen und Eigenschaften assoziierter Objekte

Füllen von Basisfeldern:

Zum Beispiel die Vertragsnummer oben oder das Objekt der vertragsunterzeichnenden Einheit. Wir klicken auf „Kopieren“ und fügen es direkt in den entsprechenden leeren Bereich im Vertrag ein.

template_print-2025-11-01-17-31-11

template_print-2025-11-01-17-30-51

#3.2 Datenformatierung

#Datumsformatierung

In Vorlagen müssen wir Felder oft formatieren, insbesondere Datumsfelder. Das direkt kopierte Datumsformat ist normalerweise lang (z. B. Wed Jan 01 2025 00:00:00 GMT) und muss formatiert werden, um den gewünschten Stil anzuzeigen.

Für Datumsfelder können Sie die Funktion formatD() verwenden, um das Ausgabeformat anzugeben:

{Feldname:formatD(Formatierungsstil)}

Beispiel:

Wenn zum Beispiel das von uns kopierte Originalfeld {d.created_at} ist und wir das Datum in das Format 2025-01-01 formatieren müssen, dann ändern Sie dieses Feld wie folgt:

{d.created_at:formatD(YYYY-MM-DD)}  // Ausgabe: 2025-01-01

Gängige Datumsformatierungsstile:

  • YYYY - Jahr (vierstellig)
  • MM - Monat (zweistellig)
  • DD - Tag (zweistellig)
  • HH - Stunde (24-Stunden-Format)
  • mm - Minuten
  • ss - Sekunden

Beispiel 2:

{d.created_at:formatD(YYYY-MM-DD HH:mm:ss)}  // Ausgabe: 2025-01-01 14:30:00

#Zahlenformatierung

Angenommen, es gibt ein Betragsfeld, wie z. B. {d.total_amount} im Vertrag. Wir können die Funktion formatN() verwenden, um Zahlen zu formatieren, indem wir Dezimalstellen und Tausendertrennzeichen angeben.

Syntax:

{Feldname:formatN(Dezimalstellen, Tausendertrennzeichen)}
  • Dezimalstellen: Sie können angeben, wie viele Dezimalstellen beibehalten werden sollen. Zum Beispiel bedeutet 2 zwei Dezimalstellen.
  • Tausendertrennzeichen: Geben Sie an, ob ein Tausendertrennzeichen verwendet werden soll, normalerweise true oder false.

Beispiel 1: Betrag mit Tausendertrennzeichen und zwei Dezimalstellen formatieren

{d.amount:formatN(2, true)}  // Ausgabe: 1.234,56

Dies formatiert d.amount auf zwei Dezimalstellen und fügt ein Tausendertrennzeichen hinzu.

Beispiel 2: Betrag als Ganzzahl ohne Dezimalstellen formatieren

{d.amount:formatN(0, true)}  // Ausgabe: 1.235

Dies formatiert d.amount als Ganzzahl und fügt ein Tausendertrennzeichen hinzu.

Beispiel 3: Betrag mit zwei Dezimalstellen, aber ohne Tausendertrennzeichen formatieren

{d.amount:formatN(2, false)}  // Ausgabe: 1234,56

Hier wird das Tausendertrennzeichen deaktiviert und nur zwei Dezimalstellen beibehalten.

Weitere Anforderungen an die Betragsformatierung:

  • Währungssymbol: Carbone selbst bietet keine direkten Funktionen zur Formatierung von Währungssymbolen, aber Sie können Währungssymbole direkt in Daten oder Vorlagen hinzufügen. Zum Beispiel:
    {d.amount:formatN(2, true)} EUR  // Ausgabe: 1.234,56 EUR

#Zeichenkettenformatierung

Für Zeichenkettenfelder können Sie :upperCase verwenden, um das Textformat, wie z. B. die Groß-/Kleinschreibung, anzugeben.

Syntax:

{Feldname:upperCase:andere_Befehle}

Gängige Konvertierungsmethoden:

  • upperCase - In Großbuchstaben konvertieren
  • lowerCase - In Kleinbuchstaben konvertieren
  • upperCase:ucFirst - Ersten Buchstaben großschreiben

Beispiel:

{d.party_a_signatory_name:upperCase}  // Ausgabe: JOHN DOE

#3.3 Schleifendruck

#Wie man Listen von untergeordneten Objekten (z. B. Produktdetails) druckt

Wenn wir eine Tabelle mit mehreren Unterpositionen (z. B. Produktdetails) drucken müssen, verwenden wir in der Regel den Schleifendruck. Auf diese Weise generiert das System für jede Position in der Liste eine Zeile Inhalt, bis alle Positionen durchlaufen wurden.

Angenommen, wir haben eine Produktliste (z. B. contract_items), die mehrere Produktobjekte enthält. Jedes Produktobjekt hat mehrere Attribute, wie Produktname, Spezifikation, Menge, Einzelpreis, Gesamtbetrag und Anmerkungen.

Schritt 1: Felder in der ersten Tabellenzeile ausfüllen

Zuerst kopieren und füllen wir in der ersten Zeile der Tabelle (nicht im Header) direkt die Vorlagenvariablen aus. Diese Variablen werden durch die entsprechenden Daten ersetzt und in der Ausgabe angezeigt.

Zum Beispiel sieht die erste Zeile der Tabelle wie folgt aus:

ProduktnameSpezifikation / ModellMengeEinzelpreisGesamtbetragAnmerkung
{d.contract_items[i].product_name}{d.contract_items[i].spec}{d.contract_items[i].quantity}{d.contract_items[i].unit_price}{d.contract_items[i].total_amount}{d.contract_items[i].remark}

Hier stellt d.contract_items[i] die i-te Position in der Produktliste dar, und i ist ein Index, der die Reihenfolge des aktuellen Produkts angibt.

Schritt 2: Index in der zweiten Zeile ändern

Als Nächstes ändern wir in der zweiten Zeile der Tabelle den Feldindex auf i+1 und füllen nur das erste Attribut aus. Dies liegt daran, dass wir beim Schleifendruck die nächste Datenposition aus der Liste abrufen und in der nächsten Zeile anzeigen müssen.

Zum Beispiel wird die zweite Zeile wie folgt ausgefüllt:

ProduktnameSpezifikation / ModellMengeEinzelpreisGesamtbetragAnmerkung
{d.contract_items[i+1].product_name}

In diesem Beispiel haben wir [i] in [i+1] geändert, sodass wir die nächsten Produktdaten in der Liste abrufen können.

Schritt 3: Automatischer Schleifendruck während der Vorlagenwiedergabe

Wenn das System diese Vorlage verarbeitet, wird es nach folgender Logik vorgehen:

  1. Die erste Zeile wird entsprechend den von Ihnen in der Vorlage festgelegten Feldern ausgefüllt.
  2. Anschließend löscht das System automatisch die zweite Zeile und beginnt, Daten aus d.contract_items zu extrahieren, wobei jede Zeile im Tabellenformat zyklisch gefüllt wird, bis alle Produktdetails gedruckt sind.

Das i in jeder Zeile wird inkrementiert, um sicherzustellen, dass jede Zeile unterschiedliche Produktinformationen anzeigt.


#4. Vertrags-Vorlage hochladen und konfigurieren

#4.1 Vorlage hochladen

  1. Klicken Sie auf die Schaltfläche „Vorlage hinzufügen“ und geben Sie den Vorlagennamen ein, z. B. „Liefer- und Kaufvertragsvorlage“.
  2. Laden Sie die vorbereitete Word-Vertragsdatei (.docx) hoch, die bereits alle Platzhalter enthält.

template_print-2025-11-01-17-36-06

  1. Nach Abschluss listet das System die Vorlage in der Liste der optionalen Vorlagen zur späteren Verwendung auf.
  2. Wir klicken auf „Verwenden“, um diese Vorlage zu aktivieren.

template_print-2025-11-01-17-36-13

Verlassen Sie an dieser Stelle das aktuelle Pop-up und klicken Sie auf „Vorlage herunterladen“, um die generierte vollständige Vorlage zu erhalten.

Tipps:

  • Wenn die Vorlage .doc oder andere Formate verwendet, muss sie möglicherweise in .docx konvertiert werden, abhängig von der Plugin-Unterstützung.
  • Achten Sie in Word-Dateien darauf, Platzhalter nicht in mehrere Absätze oder Textfelder aufzuteilen, um Rendering-Fehler zu vermeiden.

Viel Erfolg bei der Nutzung! Mit der Funktion „Vorlagendruck“ können Sie im Vertragsmanagement erheblich repetitive Arbeit sparen, manuelle Kopier- und Einfügefehler vermeiden und eine standardisierte sowie automatisierte Vertragsausgabe erreichen.