Skip to main content
Skip table of contents

Tabellenlayout für Dokumente

Tabellenlayout für Dokumente

Mit Hilfe von Tabellensuchen können mehrere Datensätze an die Textverarbeitung übergeben werden. Hierbei werden die Daten in Form einer Tabelle ausgegeben. Die Struktur und Formatierung der Tabelle im Dokument wird durch ein XML-Schema beschrieben, welches in der komplexen Suche hinterlegt wird.

Die Struktur und Formatierung der Tabelle im Dokument wird in Form eines XML-Schemas beschrieben, welches bei der Tabellensuche in der zugehörigen komplexen Suche der Dokumentvorlage hinterlegt wird.

Folgende Kenntnisse werden vorausgesetzt. Ohne diese ist eine Bearbeitung nicht möglich!

  • Bearbeitung einer XML-Datei

  • Verwaltung von komplexe Suchen

  • Verwaltung von Dokumentvorlagen

  • Generierung von Dokumenten in der Anwendung

Layout Tabellengerüst:

  • Anzahl der Spalten

  • Breite der Spalten

  • Spaltenüberschrift

  • Formatvorlage der Spaltenüberschrift

  • Layout des Tabellenrahmens 

  • Ein- /Ausblenden der Titelzeile

Inhalt Tabelle:

  • Sortierung der einzelnen Positionen

  • Inhalt einer Zelle (mehrere Felder pro Zelle möglich)

  • Formatvorlage pro Feld

  • Trennzeichen zwischen den einzelnen Feldern einer Zelle

  • Ausgabeformat pro Feld (z.B: Nachkommastellen)

  • Internationalisierung pro Feld (z.B. zur Einbettung von Werten in einen Text)

Angebotsspezifische Merkmale:

  • Unterschiedliche Konfigurationen je nach Attribut ‚Positionstyp‘, ‚Gliederung‘ und ‚Alternative‘

  • Tabellenüberschriften (ebenfalls Ausgabe mehrere Felder möglich)

Die XML-Struktur kann sowohl für den einfachen Export von beliebigen Daten (z.B. Anfragen zu einer Aktivität) als auch für den Sonderfall Positionen (wie z.B. Angebotspositionen zu Angebot oder Vertragspositionen zu Vertrag o.ä.) verwendet werden. In der Variante einfacher Export (im Folgenden genannt 'Standardfall') kann auf eine Vielzahl der Attribute verzichtet werden, da diese ausschließlich im Sonderfall 'Positionen' Verwendung finden.

Die XML-Struktur besteht aus zwei Bereichen.

Der Bereich Layouts beschreibt die grundsätzliche Struktur der Tabelle, also Anzahl der Spalten, Breite der Spalten, Spaltenüberschrift, Formatvorlage der Spaltenüberschrift, Layout des Tabellenrahmens. Diese befindet sich im unteren Teil der XML-Struktur.

Der Bereich Contents beschreibt, mit welchen Werten und in welcher Form die Tabelle gefüllt wird.

In der folgenden Beispielstruktur sind die konfigurierbaren Elemente farblich hervorgehoben. Hier können Änderungen erfolgen. Der restliche Bereich ist vorgegeben und sollte nicht geändert werden.

XML
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE MainItemConfig PUBLIC "MainItemConfig" "MainItemConfig.dtd">
<MainItemConfig>
<ItemConfig ComputerGroup="STANDARD" DocumentType="LETTER">
<Source Alternative="" Classification="" ItemNoDisplayed="" ItemTypeKey="" SortField="Projectno.Opportunity"/>
<Contents>
<Content ItemType="NONE" Alternative="false" Classification="false">
<ContentTable>
<ContentColumn ColumnNo="1">
<CellItem CellOrder="1">
<FieldName Name="Matchcode.Opportunity" Style="Bezeichnung" PrePosition="n"/>
</CellItem>
</ContentColumn>
<ContentColumn ColumnNo="2">
<CellItem CellOrder="1">
<FieldName Name="Projectvalue.Opportunity" Style="GPreis" PrePosition="n" OutputFormat="###,###.##"/>
</CellItem>
<CellItem CellOrder="2">
<FieldName Name="CurrencyKey.Opportunity" Style="GPreis" PrePosition="b" OutputLookup="desc"/>
</CellItem>
</ContentColumn>
</ContentTable>
</Content>
</Contents>
<Layouts>
<Layout Language="S_SPRACH-DE" Border="false" Header="true" Style="">
<LayoutTable>
<LayoutColumn ColumnNo="1" ColumnWidth="9" ColumnHeader="Anfrage / Bezeichnung" Style="TabellenKopf"/>
<LayoutColumn ColumnNo="2" ColumnWidth="3" ColumnHeader="Anfragewert" Style="TabellenKopf1"/>
</LayoutTable>
</Layout>
</Layouts>
</ItemConfig>
</MainItemConfig>

Erstellen eines Tabellenlayouts

In der XML-Struktur müssen nicht sämtliche verfügbaren Attribute angegeben werden. In der Regel ist ein Vorgabewert vorgesehen. Entspricht der gewünschte Wert des Attributs dem Vorgabewert, so kann das komplette Attribut aus der XML-Struktur entfallen. Aufgrund dessen sind auch in den folgenden Beispielen nur jene Attribute aufgeführt, die auch tatsächlich notwendig sind. Die Beschreibung der einzelnen Attribute ist dem Kapitel Beschreibung der XML-Struktur zu entnehmen.

Ziel:

Alle Anfragen zu einer Aktivität in einem Einzelbrief ausgeben.

Ablauf:

1

Die komplexen Suche um eine Tabellensuche erweitern, in der alle Anfragen zu einer Aktivität selektiert werden.

Die Suche muss alle Felder beinhalten, die später in dem Dokument ausgegeben werden sollen.

2

Das Mapping der Vorlage um eine weitere Textmarke erweitern.

  • Textmarkentyp TABELLE

  • Textmarkenname beliebig, z.B: Anfragen

  • Suchfeld [Aliasname der Tabellensuche].TABLEDATA (TABLEDATA)

3

Einfügen einer offenen Textmarke in der Dokumentvorlage, an der die Tabelle ausgegeben werden soll.
Aktionsfolge in Word: Einfügen/ Textmarke

4

Eine neue XML-Datei basierend auf obigem Beispiel erstellen.

5

Im Bereich 'LayoutTable' müssen zunächst alle auszugebenden Spalten aufgelistet werden.

XML
<LayoutColumn ColumnNo="1" ColumnWidth="9" ColumnHeader="Anfrage / Bezeichnung" Style="TabellenKopf"/>
<LayoutColumn ColumnNo="2" ColumnWidth="3" ColumnHeader="Anfragewert" Style="TabellenKopf1"/>

Die Spaltennummern müssen fortlaufend sein und mit der Ziffer 1 beginnen.

6

Sofern gewünscht kann in dem Bereich 'Layout' die Darstellung des Tabellengerüsts konfiguriert werden.

XML
<Layout Border="true" TableStyle=""> oder
<Layout Border="false" TableStyle="meinTabellenformat">

7

Im Bereich 'ItemConfig' die Art des Dokumentes festhalten.

Hier Einzelbrief.

XML
<ItemConfig DocumentType="LETTER">

8

Im Bereich 'Source' ein Sortierfeld angeben.

CODE
<Source SortField="Projectno.Opportunity"/>

9

Die Attribute aus dem Bereich 'Content' komplett leeren.

Diese werden nur für den Sonderfall Positionen verwendet.

<Content>

10

Innerhalb von 'ContentTable' für jede Spalte (aus dem Bereich 'LayoutTable') jeweils ein eigenes Element 'ContentColumn' anlegen.

Dieses Element beschreibt den Inhalt der Zelle.

XML
<ContentColumn ColumnNo="1">

Die Spaltennummer muss mit der Spaltennummer aus 'LayoutTable' übereinstimmen.

11

Innerhalb von 'ContentColumn' für jedes Feld (welches in dieser Zelle ausgegeben werden soll) ein Element 'CellItem' anlegen.

XML
<CellItem CellOrder="1">
<FieldName Name="...>
</CellItem>
<CellItem CellOrder="2">
<FieldName Name="...>>
</CellItem>

12

Innerhalb von 'CellItem' den Feldnamen definieren. Die Vielzahl der Attribute wird in Attributliste 'FieldName' beschrieben.

CODE
<FieldName Name="Matchcode.Opportunity" Style="Bezeichnung" PrePosition="n"/>

Die angegebenen Feldnamen müssen in der Tabellensuche enthalten sein. Auf korrekte Schreibweise ist zu achten (Potentielle Fehlerquelle!). Zu empfehlen ist Copy&Paste des Feldnamens aus der Anwendung per STRG+<Maus>.

13

Die restlichen Felder füllen und die XML-Struktur fertigstellen.

14

Die XML-Struktur in die Tabellendefinition der komplexen Suche kopieren.

So könnte die XML-Struktur für die Ausgabe von Anfragen zu einer Aktivität aussehen:

XML
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE MainItemConfig PUBLIC "MainItemConfig" "MainItemConfig.dtd">
<MainItemConfig>
<ItemConfig DocumentType="LETTER">
<Source SortField="Projectno.Opportunity"/>
<Contents>
<Content>
<ContentTable>
<ContentColumn ColumnNo="1">
<CellItem CellOrder="1">
<FieldName Name="Projectno.Opportunity" Style="Bezeichnung"/>
</CellItem>
</ContentColumn>
<ContentColumn ColumnNo="2">
<CellItem CellOrder="1">
<FieldName Name="Matchcode.Opportunity" Style="Bezeichnung"/>
</CellItem>
<CellItem CellOrder="2">
<FieldName Name="OpName.Opportunity" Style="Beschreibung" PrePosition="cr"/>
</CellItem>
</ContentColumn>
<ContentColumn ColumnNo="3">
<CellItem CellOrder="1">
<FieldName Name="ProjectmanagerKey.Opportunity" Style="Bezeichnung"/>
</CellItem>
</ContentColumn>
<ContentColumn ColumnNo="4">
<CellItem CellOrder="1">
<FieldName Name="Projectvalue.Opportunity" Style="GPreis" OutputFormat="###,###.##"/>
</CellItem>
<CellItem CellOrder="2">
<FieldName Name="CurrencyKey.Opportunity" Style="GPreis" PrePosition="b"/>
</CellItem>
</ContentColumn>
</ContentTable>
</Content>
</Contents>
<Layouts>
<Layout>
<LayoutTable>
<LayoutColumn ColumnNo="1" ColumnWidth="3" ColumnHeader="AnfrageNr" Style="TabellenKopf"/>
<LayoutColumn ColumnNo="2" ColumnWidth="9" ColumnHeader="Anfrage / Bezeichnung" Style="TabellenKopf"/>
<LayoutColumn ColumnNo="3" ColumnWidth="2" ColumnHeader="Leiter" Style="TabellenKopf1"/>
<LayoutColumn ColumnNo="4" ColumnWidth="3" ColumnHeader="Anfragewert" Style="TabellenKopf1"/>
</LayoutTable>
</Layout>
</Layouts>
</ItemConfig>
</MainItemConfig>

Ausgabe im Dokument

Sonderfall 'Positionen'

Erläuterung
Der Sonderfall Positionen beschreibt die erweiterten Konfigurationsmöglichkeiten, welche im Rahmen der Verwendung von Angebots- oder Vertragspositionen zur Verfügung stehen. Hierzu gehören im Wesentlichen folgende Besonderheiten bei den Positionen.

  • Positionstyp (Normal, Text, Zwischensumme)

  • Gliederungsposition (nur für Positionstyp Text und Zwischensumme verfügbar!)

  • Alternativposition (für alle Positionstypen)

Hieraus ergeben sich die folgenden möglichen Kombinationen, die innerhalb der XML-Struktur abgedeckt werden müssen.

Positionstyp

alternativ

Gliederung

Content in der XML-Struktur

Normal

Nein

Nein

<Content ItemType="S_POSTYP-N" Alternative="false" Classification="false">

Normal

Ja

Nein

<Content ItemType="S_POSTYP-N" Alternative="true" Classification="false">

Zwischensumme

Nein

Ja

<Content ItemType="S_POSTYP-Z" Alternative="false" Classification="true">

Zwischensumme

Ja

Ja

<Content ItemType="S_POSTYP-Z" Alternative="true" Classification="true">

Zwischensumme

Nein

Nein

<Content ItemType="S_POSTYP-Z" Alternative="false" Classification="false">

Zwischensumme

Ja

Nein

<Content ItemType="S_POSTYP-Z" Alternative="true" Classification="false">

Text

Nein

Ja

<Content ItemType="S_POSTYP-T" Alternative="false" Classification="true">

Text

Ja

Ja

<Content ItemType="S_POSTYP-T" Alternative="true" Classification="true">

Text

Nein

Nein

<Content ItemType="S_POSTYP-T" Alternative="false" Classification="false">

Text

Ja

Nein

<Content ItemType="S_POSTYP-T" Alternative="true" Classification="false">

Ist bei der komplexen Suche einer Angebotsvorlage keine XML-Struktur hinterlegt, so wird eine seitens CURSOR-CRM vordefinierte XML-Struktur verwendet.

Ziel:

Alle Angebotspositionen zu einem Angebot in einem Angebotsdokument ausgeben.

Ablauf:

Der Ablauf ist nahezu identisch mit dem Standardfall. Im Folgenden werden nur die Unterschiede benannt

Sofern zusätzliche Felder im Angebot ausgegeben werden sollen, sind folgende Schritte bzgl. der komplexen Suche notwendig.

  • Kopieren der komplexen Suche 'Standard_Quote'.

  • Erweiterung der Tabellensuche 'Angpos' (= Aliasname) um zusätzliche Felder.

  • Ggfs. Erweiterung der von der Tabellensuche abhängigen Detailsuche 'ProdDesc' (= Aliasname) um zusätzliche Felder.

  • Die Dokumentvorlage wird der kopierten komplexen Suche zugeordnet.

  • Im Bereich ItemConfig wird die Art des Dokumentes festgehalten, hier Angebot.
    <ItemConfig DocumentType="QUOTE">

  • Im Bereich Source müssen die Felder für Positionstyp, Alternative, Gliederung und ggfs. Sortierfeld angegeben werden.
    <Source Alternative="Alternative.QuoteItem" Classification="ClassificationL.QuoteItem" ItemNoDisplayed="ItemnoDisplayed.QuoteItem" ItemTypeKey="ItemtypeKey.QuoteItem" SortField="Itemno.QuoteItem"/>

  • Für jede der oben genannten Kombinationsvariante wird ein Bereich Content angelegt, z.B.:
    <Content ItemType="S_POSTYP-N" Alternative="false" Classification="false">
    …..
    </Content>

So könnte die XML-Struktur für die Ausgabe von Angebotspositionen zu einem Angebot aussehen:

JAVA
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE MainItemConfig PUBLIC "MainItemConfig" "MainItemConfig.dtd">
<MainItemConfig>
<ItemConfig ComputerGroup="STANDARD" DocumentType="QUOTE">
<Source Alternative="Alternative.QuoteItem" Classification="ClassificationL.QuoteItem" ItemNoDisplayed="ItemnoDisplayed.QuoteItem" ItemTypeKey="ItemtypeKey.QuoteItem" SortField="Itemno.QuoteItem"/>
<Contents>
<Content ItemType="S_POSTYP-N" Alternative="false" Classification="false">
<ContentTable>
<ContentColumn ColumnNo="1">
<CellItem CellOrder="1">
<FieldName Name="ItemnoDisplayed.QuoteItem" Style="Pos" PrePosition="n"/>
</CellItem>
</ContentColumn>
<ContentColumn ColumnNo="2">
<CellItem CellOrder="1">
<FieldName Name="ProductKey.QuoteItem" Style="ProduktNr" PrePosition="n" />
</CellItem>
<CellItem CellOrder="2">
<FieldName Name="ItemText.QuoteItem" Style="Bezeichnung" PrePosition="cr"/>
</CellItem>
<CellItem CellOrder="3">
<FieldName Name="Description.ProdDesc" Style="Beschreibung" PrePosition="cr"/>
</CellItem>
<CellItem CellOrder="4">
<FieldName Name="Discount.QuoteItem" Style="Rabatte" PrePosition="cr" RessourceBundle="de.cursor.jevi.client.common.resource.i18n.DocumentManagement" I18nKey="Discount.Text"/>
</CellItem>
</ContentColumn>
<ContentColumn ColumnNo="3">
<CellItem CellOrder="1">
<FieldName Name="Quantity.QuoteItem" Style="Menge" PrePosition="n" OutputFormat="###,###.##"/>
</CellItem>
</ContentColumn>
<ContentColumn ColumnNo="4">
<CellItem CellOrder="1">
<FieldName Name="UnitpriceFC.QuoteItem" Style="EPreis" PrePosition="n"/>
</CellItem>
</ContentColumn>
<ContentColumn ColumnNo="5">
<CellItem CellOrder="1">
<FieldName Name="TotalpriceFC.QuoteItem" Style="GPreis" PrePosition="n"/>
</CellItem>
</ContentColumn>
</ContentTable>
</Content>
<Content ItemType="S_POSTYP-N" Alternative="true" Classification="false">
<ContentTable>
<ContentColumn ColumnNo="1">
<CellItem CellOrder="1">
<FieldName Name="ItemnoDisplayed.QuoteItem" Style="PosA" PrePosition="n"/>
</CellItem>
</ContentColumn>
<ContentColumn ColumnNo="2">
<CellItem CellOrder="1">
<FieldName Name="ProductKey.QuoteItem" Style="ProduktNrA" PrePosition="n" />
</CellItem>
<CellItem CellOrder="3">
<FieldName Name="ItemText.QuoteItem" Style="BezeichnungA" PrePosition="cr"/>
</CellItem>
<CellItem CellOrder="4">
<FieldName Name="Description.ProdDesc" Style="BeschreibungA" PrePosition="cr"/>
</CellItem>
<CellItem CellOrder="5">
<FieldName Name="Discount.QuoteItem" Style="RabatteA" PrePosition="cr" RessourceBundle="de.cursor.jevi.client.common.resource.i18n.DocumentManagement" I18nKey="Discount.Text"/>
</CellItem>
</ContentColumn>
<ContentColumn ColumnNo="3">
<CellItem CellOrder="1">
<FieldName Name="Quantity.QuoteItem" Style="MengeA" PrePosition="n" OutputFormat="###,###.##"/>
</CellItem>
</ContentColumn>
<ContentColumn ColumnNo="4">
<CellItem CellOrder="1">
<FieldName Name="UnitpriceFC.QuoteItem" Style="EPreisA" PrePosition="n"/>
</CellItem>
</ContentColumn>
</ContentTable>
</Content>
<Content ItemType="S_POSTYP-Z" Alternative="false" Classification="true">
<ContentTable>
<ContentColumn ColumnNo="1">
<CellItem CellOrder="1">
<FieldName Name="ItemnoDisplayed.QuoteItem" Style="Gliederung 1" PrePosition="cr"/>
</CellItem>
</ContentColumn>
<ContentColumn ColumnNo="2">
<CellItem CellOrder="1">
<FieldName Name="Itemtext.QuoteItem" Style="Gliederung 1" PrePosition="tab"/>
</CellItem>
</ContentColumn>
<ContentColumn ColumnNo="3">
<CellItem CellOrder="1">
<FieldName Name="TotalpriceFC.QuoteItem" Style="Gliederung 1" PrePosition="tab"/>
</CellItem>
</ContentColumn>
</ContentTable>
</Content>
<Content ItemType="S_POSTYP-Z" Alternative="true" Classification="true">
<ContentTable>
<ContentColumn ColumnNo="1">
<CellItem CellOrder="1">
<FieldName Name="ItemnoDisplayed.QuoteItem" Style="Gliederung 1" PrePosition="cr"/>
</CellItem>
</ContentColumn>
<ContentColumn ColumnNo="2">
<CellItem CellOrder="1">
<FieldName Name="Itemtext.QuoteItem" Style="Gliederung 1" PrePosition="tab"/>
</CellItem>
</ContentColumn>
<ContentColumn ColumnNo="3">
<CellItem CellOrder="1">
<FieldName Name="TotalpriceFC.QuoteItem" Style="Gliederung 1" PrePosition="tab"/>
</CellItem>
</ContentColumn>
</ContentTable>
</Content>
<Content ItemType="S_POSTYP-Z" Alternative="false" Classification="false">
<ContentTable>
<ContentColumn ColumnNo="2">
<CellItem CellOrder="1">
<FieldName Name="Itemtext.QuoteItem" Style="PosTextZ" PrePosition="n"/>
</CellItem>
<CellItem CellOrder="2">
<FieldName Name="SubtotalDescription.SpecialField" Style="PosTextZ" PrePosition="cr"/>
</CellItem>
</ContentColumn>
<ContentColumn ColumnNo="5">
<CellItem CellOrder="1">
<FieldName Name="TotalpriceFC.QuoteItem" Style="GPreisZ" PrePosition="n"/>
</CellItem>
</ContentColumn>
</ContentTable>
</Content>
<Content ItemType="S_POSTYP-Z" Alternative="true" Classification="false">
<ContentTable>
<ContentColumn ColumnNo="2">
<CellItem CellOrder="1">
<FieldName Name="Itemtext.QuoteItem" Style="PosTextAZ" PrePosition="n"/>
</CellItem>
<CellItem CellOrder="2">
<FieldName Name="SubtotalDescription.SpecialField" Style="PosTextAZ" PrePosition="cr"/>
</CellItem>
</ContentColumn>
<ContentColumn ColumnNo="5">
<CellItem CellOrder="1">
<FieldName Name="TotalpriceFC.QuoteItem" Style="GPreisAZ" PrePosition="n"/>
</CellItem>
</ContentColumn>
</ContentTable>
</Content>
<Content ItemType="S_POSTYP-T" Alternative="false" Classification="true">
<ContentTable>
<ContentColumn ColumnNo="1">
<CellItem CellOrder="1">
<FieldName Name="ItemnoDisplayed.QuoteItem" Style="Gliederung 1" PrePosition="cr"/>
</CellItem>
</ContentColumn>
<ContentColumn ColumnNo="2">
<CellItem CellOrder="1">
<FieldName Name="Itemtext.QuoteItem" Style="Gliederung 1" PrePosition="tab"/>
</CellItem>
</ContentColumn>
</ContentTable>
</Content>
<Content ItemType="S_POSTYP-T" Alternative="true" Classification="true">
<ContentTable>
<ContentColumn ColumnNo="1">
<CellItem CellOrder="1">
<FieldName Name="ItemnoDisplayed.QuoteItem" Style="Gliederung 1" PrePosition="cr"/>
</CellItem>
</ContentColumn>
<ContentColumn ColumnNo="2">
<CellItem CellOrder="1">
<FieldName Name="Itemtext.QuoteItem" Style="Gliederung 1" PrePosition="tab"/>
</CellItem>
</ContentColumn>
</ContentTable>
</Content>
<Content ItemType="S_POSTYP-T" Alternative="false" Classification="false">
<ContentTable>
<ContentColumn ColumnNo="2">
<CellItem CellOrder="1">
<FieldName Name="Description.ProdDesc" Style="PosText" PrePosition="n"/>
</CellItem>
<CellItem CellOrder="2">
<FieldName Name="Itemtext.QuoteItem" Style="PosText" PrePosition="cr"/>
</CellItem>
</ContentColumn>
</ContentTable>
</Content>
<Content ItemType="S_POSTYP-T" Alternative="true" Classification="false">
<ContentTable>
<ContentColumn ColumnNo="2">
<CellItem CellOrder="1">
<FieldName Name="Itemtext.QuoteItem" Style="PosText" PrePosition="n"/>
</CellItem>
</ContentColumn>
</ContentTable>
</Content>
</Contents>
<Layouts>
<Layout Language="S_SPRACH-DE">
<LayoutTable>
<LayoutColumn ColumnNo="1" ColumnWidth="1" ColumnHeader="Pos" Style="TabellenKopf"/>
<LayoutColumn ColumnNo="2" ColumnWidth="9" ColumnHeader="ProduktNr / Bezeichnung" Style="TabellenKopf"/>
<LayoutColumn ColumnNo="3" ColumnWidth="1.7" ColumnHeader="Menge" Style="TabellenKopf1"/>
<LayoutColumn ColumnNo="4" ColumnWidth="2.7" ColumnHeader="Einzelpreis" Style="TabellenKopf1"/>
<LayoutColumn ColumnNo="5" ColumnWidth="2.7" ColumnHeader="Gesamtpreis" Style="TabellenKopf1"/>
</LayoutTable>
</Layout>
</Layouts>
</ItemConfig>
</MainItemConfig>

Ausgabe im Dokument

Einfügen eines Tabellenlayouts

Ausgabe aller Angebotspositionen in einem Angebot.


In der Dokumentvorlage ist die zugehörige komplexe Suche definiert.

Die komplexe Suche wird in der Administrationskonsole geöffnet. Zum Öffnen der Tabellendefinition in die Zeile mit der gewünschten Tabellensuche wechseln und diese per Doppelklick öffnen. Das vorbereitete Tabellenlayout kann nun per Copy&Paste eingefügt werden. Nach Schließen des Dialogs muss die komplexe Suche gespeichert werden, damit die Änderungen wirksam werden.

  • Für die Ausgabe der Daten der Tabellensuche ist eine gültige Tabellendefinition Voraussetzung. Dazu ist im Standard ein Vorgabelayout für eine Tabellendefinition hinterlegt.

  • Der Inhalt der Zelle "Tabellendefinition" ist in der Maske 'Verwaltung Suchbehälter' zunächst ausgeblendet und wird per Doppelklick auf diese Zelle in einem Editor geöffnet.

  • Wurde noch keine Tabellendefinition hinterlegt, öffnet sich das Vorgabelayout, welches angepasst werden muss. Wurde bereits eine Tabellendefinition hinterlegt, öffnet sich die festgelegte Tabellendefinition.

Beschreibung der XML-Struktur

Die im Folgenden beschriebenen Attribute können in der XML-Struktur verwendet werden. Ein Attribut muss nicht angegeben werden, wenn hierfür ein Vorgabewert existiert. Aufgrund dessen sind auch im obigen Beispiel nicht alle Attribute aufgeführt.

Bereich Layouts

Attributliste Layout

Allgemein anwendbare Attribute:

Language = "S_SPRACH-DE" (Vorgabewert – nicht änderbar)
(Keine Eingabe erforderlich.)

Header
Ein- oder Ausblenden der obersten Titelzeile (enthält die Spaltentitel) einer Tabelle 

  • true 
    Die Titelzeile der Tabelle wird angezeigt (Vorgabewert)

  • false
    Die Titelzeile der Tabelle wird nicht angezeigt


Border
Einfaches Aktivieren und Deaktivieren der Anzeige des Tabellengerüsts.
(siehe Einfaches Aktivieren und Deaktivieren von Rahmen)

  • true
    Tabellengerüst (äußerer Rahmen und innere Trennlinien) wird gezeichnet.

  • false
    Tabellengerüst (äußerer Rahmen und innere Trennlinien) wird nicht gezeichnet. (Vorgabewert)
    (Keine Eingabe erforderlich.)


TableStyle
Mit Hilfe des Attributes TableStyle (für das Element Layout) in der XML-Tabellenbeschreibung kann nun gesteuert werden, ob das Tabellengerüst mit der angegebenen Formatvorlage angezeigt werden soll.
(siehe Formatierung Tabellengerüst per Formatvorlage)
(Keine Eingabe erforderlich.)

Attributliste LayoutColumn

Allgemein anwendbare Attribute:


ColumnNo
Nummer der Spalte.
 WICHTIG 
Hier ist eine fortlaufende Nummerierung beginnend von 1 notwendig.
(Eingabe erforderlich)


ColumnWidth
Breite der Spalte in der Einheit 'cm', z.B:'2' oder '1.7'
(Eingabe erforderlich)


ColumnHeader
Spaltentitel, z.B. 'Gesamtpreis'
(Eingabe erforderlich)


Style
Mit dieser Formatvorlage wird der Spaltentitel formatiert. Vorgabewert ist die Formatvorlage "Standard".
(Keine Eingabe erforderlich.)

Die angegebene Formatvorlage sollte in der Dokumentvorlage (oder in der zentralen Styles.doc) definiert sein. Ist dies nicht der Fall wird die Basisformatvorlage 'Standard' verwendet.

Bereich Contents

Attributliste ItemConfig

Allgemein anwendbare Attribute:

ComputerGroup = 'STANDARD' (Vorgabewert – nicht änderbar)

Keine Eingabe erforderlich

DocumentType = 'QUOTE' bei Angeboten bzw. 'LETTER' bei Einzelbriefen

Eingabe erforderlich

Attributliste Source

Allgemein anwendbare Attribute:

SortField = [Feldname, z.B: 'Itemno.QuoteItem']

Nach diesem Feld wird die Suchergebnismenge sortiert.

Keine Eingabe erforderlich.

Sonderfall 'Positionen' (im Standardfall können die folgenden Attribute weggelassen werden)

ItemTypeKey = [Feldname, z.B: 'ItemTypeKey.QuoteItem']

Enthält den Positionstyp, z.B: N, T, S

Eingabe erforderlich

Alternative = [Feldname, z.B: 'Alternative.QuoteItem']

Enthält die Information, ob dies eine Alternativposition ist.

Eingabe erforderlich.

Classification = [Feldname, z.B: 'ClassificationL.QuoteItem']

Enthält die Information, ob dies eine Gliederungsposition ist.

Eingabe erforderlich.

ItemNoDisplayed = [Feldname, z.B: 'ItemnoDisplayed.QuoteItem']

Enthält die in der Anwendung angezeigte Positionsnummer, wird verwendet für die Ausgabe von Zwischensummentexten, z.B: 'Zwischensumme Positionen 1-3'

Eingabe erforderlich.

Attributliste Content

ItemType - Inhalt des Positionstyps

Im Standardfall kann das Feld entfallen.
Beim Sonderfall 'Positionen' sind folgende Werte möglich:
(Eingabe erforderlich)

  • S_POSTYP-N Normalposition

  • S_POSTYP-S Seitenumbruch

  • S_POSTYP-T Ausgabe eines Text oder Titels

  • S_POSTYP-Z Zwischenposition

Alternative

Im Standardfall kann das Feld entfallen.
Beim Sonderfall 'Positionen' sind folgende Werte möglich:
(Eingabe erforderlich)

  • false ist keine Alternativposition

  • true ist Alternativposition

Classification

Im Standardfall kann das Feld entfallen.
Beim Sonderfall 'Positionen' sind folgende Werte möglich:
(Eingabe erforderlich)

  • false ist Normalposition

  • true ist Gliederungsposition

Attributliste ContentColumn

Allgemein anwendbare Attribute:

ColumnNo = [Nummer der Spalte, in der die Ausgabe der Feldinhalte erfolgt]

Die angegebene Spaltennummer muss im Bereich Layout definiert sein.

Eingabe erforderlich

Attributliste CellItem

Allgemein anwendbare Attribute:

CellOrder = [Sortiernummer]

In dieser Reihenfolge werden die Felder in der Zelle ausgegeben.

Die Liste der verwendeten Sortiernummern muss nicht fortlaufend sein, da diese ausschließlich der Sortierung der Zellinhalte dienen.

Eingabe erforderlich.

Attributliste FieldName

Allgemein anwendbare Attribute:

Name = [Feldname, z.B. 'ProductKey.QuoteItem']

Das genannte Feld muss in der Tabellensuche oder in einer von der Tabellensuche abhängigen Detailsuche enthalten sein. Auf korrekte Schreibweise ist zu achten (Potentielle Fehlerquelle!). Zu empfehlen ist Copy&Paste des Feldnamens aus der Anwendung per STRG+<Maus>.
(Eingabe erforderlich)

OutputFormat

Ausgabeformat, z.B. Nachkommastellen oder Datumsformat.
Detaillierte Erläuterung in Ausgabeformat.

  • OutputFormat="###,###.####" 1.123,1234

  • OutputFormat="###,###.## \u20AC" 1.123,12 €

  • OutputFormat="dd.MM.yyyy 'um' HH:mm" 06.03.2008 um 13.15

  • OutputFormat="EEEEE’, den’ dd.MM.yy" Mittwoch, den 06.03.08

  • OutputFormat=" " 06.02.08 13:12
    (Keine Eingabe erforderlich.

Style = [Name der Formatvorlage]

Mit dieser Formatvorlage wird der Feldwert formatiert.

Default ist die Formatvorlage 'Standard"'

Keine Eingabe erforderlich.

Die angegebene Formatvorlage sollte in der Dokumentvorlage (oder in der zentralen Styles.doc) definiert sein. Ist dies nicht der Fall wird die Basisformatvorlage 'Standard' verwendet.

PrePosition

Zeichen, welches vor dem Feldwert eingefügt wird. Dient als Trennzeichen von mehren Feldinhalten innerhalb einer Zelle.
(Keine Eingabe erforderlich.)
Mögliche Werte für 'PrePosition':

  • n nichts, kein vorangestelltes Zeichen (Vorgabewert)

  • j oder ctab Komma mit anschließendem Tabulator

  • k oder cb Komma mit anschließendem Leerzeichen

  • l oder b Leerzeichen

  • r oder sctab Semikolon mit anschließendem Tabulator

  • t oder tab Tabulator

  • z oder cr Zeilenwechsel mit Absatzwechsel

  • zt oder crtab Zeilen- bzw. Absatzwechsel mit anschließendem Tabulator

  • lf Zeilenwechsel ohne Absatzwechsel

OutputLookup

Ausgabeform des Nachschlagefeldes
(Keine Eingabe erforderlich.)
Mögliche Werte für OutputLookup:

  • key Schlüsselwert des Nachschlagefeldes (Standardwert)

  • desc Beschreibung des Nachschlagefeldes

CODE
<FieldName Name="ProductKey.QuoteItem" Style="ProduktNr" PrePosition="n" OutputLookup="key"/>

Ergebnis:
Das Nachschlagefeld ProduktNr der Angebotsposition wird im Dokument mit dessen Schlüsselwert ausgegeben.

CODE
<FieldName Name="ProductKey.QuoteItem" Style="ProduktNr" PrePosition="n" OutputLookup="desc"/>

Ergebnis:
Das Nachschlagefeld ProduktNr der Angebotsposition wird im Dokument mit dessen Beschreibung ausgegeben.

Bei normalen Feldern (keine Nachschlagefelder) wird das Attribut OutputLookup nicht berücksichtigt.

RessourceBundle

Name der Propertydatei für die Internationalisierung z.B. de.cursor.jevi.client.common.resource.i18n.DocumentManagement

Keine Eingabe erforderlich.

I18nKey

Zu verwendender Schlüssel aus der Propertydatei für die Internationalisierung

Keine Eingabe erforderlich.

Internationalisierung

CODE
<FieldName Name="Discount.QuoteItem" Style="Rabatte" PrePosition="cr"
 
RessourceBundle="de.cursor.jevi.client.common.resource.i18n.DocumentManagement"
 I18nKey="Discount.Text"/>

In der Propertydatei de.cursor.jevi.client.common.resource.i18n.DocumentManagement_DE_de.properties befindet sich u.a. folgende Zeile:
Discount.Text = Auf diese Position gewähren wir {0}% Nachlass.

Ergebnis:
Auf diese Position gewähren wir 15% Nachlass.

Ausgabeformat

Das Ausgabeformat von numerischen und Datumsfeldern kann mit Hilfe des Attributes OutputFormat in der XML-Tabellenbeschreibung beeinflusst werden.

Numerische Formatbeschreibungen

CODE
<FieldName Name="Quantity.QuoteItem" Style="Menge" PrePosition="n" OutputFormat="###,###.##"/>

Ergebnis
Das Feld Menge der Angebotspositionen wird im Dokument wie folgt ausgegeben: 12.000,34

OutputFormat="#.###" 23,123

Symbol

Location

Localized?

Meaning

0

Number

Yes

Digit


#

Number

Yes

Digit, zero shows as absent

.

Number

Yes

Decimal separator or monetary decimal separator

-

Number

Yes

Minus sign

,

Number

Yes

Grouping separator

E

Number

Yes

Separates mantissa and exponent in scientific notation. Need not be quoted in prefix or suffix.

 ;

Subpattern boundary

Yes

Separates positive and negative subpatterns

 %

Prefix or suffix

Yes

Multiply by 100 and show as percentage

\u2030

Prefix or suffix

Yes

Multiply by 1000 and show as per mille

(\u00A4)

Prefix or suffix

No

Currency sign, replaced by currency symbol. If doubled, replaced by international currency symbol. If present in a pattern, the monetary decimal separator is used instead of the decimal separator.

'

Prefix or suffix

No

Used to quote special characters in a prefix or suffix, for example, "'#'#" formats 123 to "#123". To create a single quote itself, use two in a row: "# o"clock".


Beispiel: Formatbeschreibungen von Datumsfeldern

CODE
<FieldName Name="Quotedate.Quote" Style="GPreis" PrePosition="n" OutputFormat="dd.MM.yyyy" />

Ergebnis:
Das Angebotsdatum wird im Dokument wie folgt ausgegeben: 06.03.2008

OutputFormat="dd.MM.yyyy 'um' HH:mm" 06.03.2008 um 13.15
OutputFormat="EEEEE', den' dd.MM.yy" Mittwoch, den 06.03.08
OutputFormat=" " 06.02.08 13:12

Letter

Date or Time Component

Presentation

Examples

G

Era designator

Text

AD

y

Year

Year

1996; 96

M

Month in year

Month

July; Jul; 07

w

Week in year

Number

27

W

Week in month

Number

2

D

Day in year

Number

189

d

Day in month

Number

10

F

Day of week in month

Number

2

E

Day in week

Text

Tuesday; Tue

a

Am/pm marker

Text

PM

H

Hour in day (0-23)

Number

0

k

Hour in day (1-24)

Number

24

K

Hour in am/pm (0-11)

Number

0

h

Hour in am/pm (1-12)

Number

12

m

Minute in hour

Number

30

s

Second in minute

Number

55

S

Millisecond

Number

978

z

Time zone

General time zone Pacific Standard Time; PST; GMT-08:00


Z

Time zone

RFC 822 time zone -0800


Date and Time Pattern

Result

"yyyy.MM.dd G 'at' HH:mm:ss z"

2001.07.04 AD at 12:08:56 PDT

"EEE, MMM d, "yy"

Wed, Jul 4, '01

"h:mm a"

12:08 PM

"hh 'o"clock'a,zzzz"

12 o'clock PM, Pacific Daylight Time

"K:mm a, z"

0:08 PM, PDT

"yyyyy.MMMMM.dd GGG hh:mm aaa"

02001.July.04 AD 12:08 PM

"EEE, d MMM yyyy HH:mm:ss Z"

Wed, 4 Jul 2001 12:08:56 -0700

"yyMMddHHmmssZ"

010704120856-0700

"yyyy-MM-dd'T'HH:mm:ss.SSSZ"

2001-07-04T12:08:56.235-0700

Rahmen und Formatvorlagen für Tabellen

Für das Zeichnen von Rahmen in erzeugten Tabellengerüsten stehen zwei Alternativen zur Verfügung.

Einfaches Aktivieren und Deaktivieren von Rahmen

Mit Hilfe des Attributes Border (für das Element Layout) in der XML-Tabellenbeschreibung kann nun gesteuert werden, ob das Tabellengerüst (äußerer Rahmen und innere Trennlinien) gezeichnet werden soll oder nicht. Der Standardwert ist false – es wird also wie bisher kein Tabellengerüst gezeichnet.

Attributsname: Border für das Element Layout Mögliche Werte:

  • true Tabellengerüst (äußerer Rahmen und innere Trennlinien) wird gezeichnet.

  • false Tabellengerüst (äußerer Rahmen und innere Trennlinien) wird nicht gezeichnet. (Default)

Beispiel

CODE
<Layout Language="S_SPRACH-DE" Border="true">

Ergebnis: Das Tabellengerüst (äußerer Rahmen und innere Trennlinien) wird gezeichnet.


CODE
Layout Language="S_SPRACH-DE">

Ergebnis:
Das Tabellengerüst (äußerer Rahmen und innere Trennlinien) wird nicht gezeichnet.


Anwendung einer Formatvorlage

Mit Hilfe des Attributes TableStyle (für das Element Layout) in der XML-Tabellenbeschreibung kann nun gesteuert werden, ob das Tabellengerüst mit der angegebenen Formatvorlage angezeigt werden soll.

CODE
<Layout Language="S_SPRACH-DE" TableStyle="MeineFormatvorlage">

Ergebnis:
Die Tabelle wird mit der Formatvorlage MeineFormatvorlage formatiert.

  • Der Formatvorlagentyp der angegebenen Formatvorlage muss Tabelle sein.

  • Wie lege ich ein tabellenbasierte Formatvorlage an?
    Word 2010 – Einfügen - Tabelle - Tabellenformatvorlagen - Neue Tabellenformatvorlage

  • Die Formatvorlage muss in der Dokumentvorlage vorhanden sein. Ist dies nicht der Fall, so wird keine Formatierung der Tabelle durchgeführt.

  • Die in der Formatvorlage definierten Sonderformate werden nicht für Überschriften, Erste Spalte, Letzte Zeile und Letzte Spalte übernommen.

  • Die in der Formatvorlage hinterlegten Zeichenformatierungen können sich auch auf die Zelleninhalte auswirken. Es ist zu empfehlen, eine Zeichen-neutrale Tabellenformatvorlage anzulegen, um die für die Zellen definierten Formatierungen nicht zu beeinflussen.

  • Beide Attribute (Border und TableStyle) werden immer nur alternativ angewandt – also entweder Border oder TableStyle. Werden beide Attribute (Border und TableStyle) gleichzeitig in der XML-Datei verwendet, so wird das Attribute TableStyle bevorzugt verwendet.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.