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 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.
|
3 | Einfügen einer offenen Textmarke in der Dokumentvorlage, an der die Tabelle ausgegeben werden soll. |
4 | Eine neue XML-Datei basierend auf obigem Beispiel erstellen. |
5 | Im Bereich 'LayoutTable' müssen zunächst alle auszugebenden Spalten aufgelistet werden.
XML
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
|
7 | Im Bereich 'ItemConfig' die Art des Dokumentes festhalten. Hier Einzelbrief.
XML
|
8 | Im Bereich 'Source' ein Sortierfeld angeben.
CODE
|
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
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
|
12 | Innerhalb von 'CellItem' den Feldnamen definieren. Die Vielzahl der Attribute wird in Attributliste 'FieldName' beschrieben.
CODE
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 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:
<?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.
|
Alternative | Im Standardfall kann das Feld entfallen.
|
Classification | Im Standardfall kann das Feld entfallen.
|
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>. |
OutputFormat | Ausgabeformat, z.B. Nachkommastellen oder Datumsformat.
|
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.
|
OutputLookup | Ausgabeform des Nachschlagefeldes
CODE
Ergebnis:
CODE
Ergebnis: 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
<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
<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
<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
<Layout Language="S_SPRACH-DE" Border="true">
Ergebnis: Das Tabellengerüst (äußerer Rahmen und innere Trennlinien) wird gezeichnet.
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.
<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.