Wiki source code of Formatkonfiguration der Tourenliste
Last modified by YellowFox_RD on 2025/04/16 12:29
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | Mithilfe einer Maske, die im Admin für einzelne Displays definiert wird, kann man den Inhalt bei jeder Tour/jedem Auftrag in der Übersichtsliste und in der Detailansicht vielfältig gestalten. Es gibt zwei frei definierbare Felder, die jeweils eine Maske bekommen können. Es ist vollkommen frei, nur ein Feld oder beide mit einer Maske zu definieren. Der Unterschied zwischen der beiden Feldern besteht darin, dass, wenn beide definiert sind, das erste ein bisschen prominenter erscheint als das zweite (mit einer größeren Schriftart). Ist dagegen nur ein Feld definiert (egal welches), erscheint es immer an der prominentesten Stelle. | ||
2 | |||
3 | [[image:1744721474413-533.png||height="303" width="400"]] | ||
4 | |||
5 | Im Bild oben ist ein Beispiel, wo das erste Feld die Ortschaften beim Tour-Start und dem Tour-Stopp zeigt und das zweite Feld die entsprechenden Kontaktdaten mit Angaben zu der Anzahl der Sendungen an jeweiligen Zielen zeigt. | ||
6 | |||
7 | [[image:1744787358395-981.png||height="330" width="500"]] | ||
8 | |||
9 | Hier im Bild oben ist ein Beispiel, das komplexer ist und auch HTML-Formatierung beinhaltet. | ||
10 | |||
11 | [[image:1744721605609-894.png||height="405" width="500"]] | ||
12 | |||
13 | Im Admin (Bild oben) definiert man diese Masken unter "Display" im Tab "Aufträge". | ||
14 | |||
15 | = Syntax = | ||
16 | |||
17 | Eine Maske besteht aus einer oder mehreren Angaben zu den gewünschten Datenfeldern aus einer Tour/einem Auftrag. Die allgemeine Syntax: | ||
18 | |||
19 | {{code language="none"}} | ||
20 | ${Datenfeld[.Suffix[Parameter][.Suffix[...]]]}[Weitere Datenfelder] | ||
21 | {{/code}} | ||
22 | |||
23 | Ein Datenfeld ist durch ein Schlüsselwort definiert. Außerdem kann fast jedes Datenfeld parametrisiert werden. Mit zusätzlichen Parametern lässt sich ein Datenfeld präzise adressieren und mit freien Texten umrahmen. Ohne Parametern versteht sich ein Datenfeld immer aus einem ersten Ziel in einer Tour (für Ziel-Felder) und aus einer ersten Sendung in einem Ziel (für Sendung-Felder). | ||
24 | |||
25 | Außerdem kann man Zahl-basierte Datenfelder mit einem Ausgabenformat versehen, um die Darstellung von Zahlen zu präzisieren. | ||
26 | |||
27 | {{code language="none"}} | ||
28 | $int{${Datenfeld};Format} | ||
29 | $float{${Datenfeld};Format} | ||
30 | $double{${Datenfeld};Format} | ||
31 | {{/code}} | ||
32 | |||
33 | Das Format versteht sich als Standardformat in einer **printf**-Funktion (C++, Java etc.). | ||
34 | |||
35 | Jedes Datenfeld (mit einigen Ausnahmen) aus einer Tour/einem Auftrag kann in einer Maske abgebildet werden. Hier ist die Liste mit allen möglichen Datenfeldern: | ||
36 | |||
37 | |**Schlüsselwort**|**Bedeutung** | ||
38 | |TourChildrenCount|Die Anzahl aller Ziele. | ||
39 | |TourNumber|Text, Tour-Nummer | ||
40 | |TourDescription|Text, Tour-Beschreibung | ||
41 | |OrderNumber|Text, Auftragsnummer | ||
42 | |OrderDescription|Text, Auftragsbeschreibung | ||
43 | |OrderName|Text, Kontaktname aus dem Auftrag | ||
44 | |OrderCity|Text, Stadt aus dem Auftrag | ||
45 | |OrderStreet|Text, Straße aus dem Auftrag | ||
46 | |OrderCountry|Text, Land aus dem Auftrag | ||
47 | |OrderZipCode|Text, PLZ aus dem Auftrag | ||
48 | |OrderHouseNumber|Text, Hausnummer aus dem Auftrag | ||
49 | |OrderContact|Text, Kontaktdaten aus dem Auftrag | ||
50 | |DestinationChildrenCount|Die Anzahl aller Sendungen im aktuellen Ziel. | ||
51 | |DestinationNumber|Text, Nummer aus dem Ziel | ||
52 | |DestinationDescription|Text, Beschreibung aus dem Ziel | ||
53 | |DestinationPosition|Zahl, Position des Ziels in der Tour: kann mit "int" formatiert werden | ||
54 | |ShipmentNumber|Text, Nummer der Sendung | ||
55 | |ShipmentDescription|Text, Beschreibung der Sendung | ||
56 | |ShipmentPosition|Zahl, Position der Sendung im Ziel: kann mit "int" formatiert werden | ||
57 | |ShipmentAction|Text, Aktion der Sendung (Beladen, Entladen oder Dienstleistung) | ||
58 | |ShipmentPackageCount|Zahl, die Anzahl der Pakete in der Sendung: kann mit "double" oder "float" formatiert werden | ||
59 | |ShipmentUnit|Text, Einheit aus der Sendung | ||
60 | |ShipmentName1|Text, Name 1 aus der Sendung | ||
61 | |ShipmentName2|Text, Name 2 aus der Sendung | ||
62 | |ShipmentContact|Text, Kontaktdaten aus der Sendung | ||
63 | |ShipmentStreet|Text, Straße aus der Sendung | ||
64 | |ShipmentHouseNumber|Text, Hausnummer aus der Sendung | ||
65 | |ShipmentZipCode|Text, PLZ aus der Sendung | ||
66 | |ShipmentCity|Text, Stadt aus der Sendung | ||
67 | |ShipmentCountry|Text, Land aus der Sendung | ||
68 | |||
69 | **Parameter für die Datenfelder.** | ||
70 | |||
71 | |**Suffix**|**Bedeutung**|**Argumente**|**Beispiel** | ||
72 | |((( | ||
73 | **first** | ||
74 | |||
75 | **last** | ||
76 | )))|((( | ||
77 | Definiert die genaue Position eines Elementes aus der Tour: | ||
78 | |||
79 | * **first** das erste Element bei der übergeordneten Stelle (Ziel oder Tour) | ||
80 | * **last **das letzte Element bei der übergeordneten Stelle (Ziel oder Tour) | ||
81 | |||
82 | Die Reihenfolge von **first **und **last **bestimmt, welches Unterelement angesprochen wird: | ||
83 | |||
84 | * ein Ziele kann nur eine Suffix beinhalten; | ||
85 | * eine Sendungen: von links nach rechts eintretende Suffixes - erst die Position der Sendung im Ziel, dann die Position des Ziels in der Tour. | ||
86 | )))|((( | ||
87 | **+/-//N//** wo //**N**// ist eine Zahl, die relative Position des Elementes bestimmt: | ||
88 | |||
89 | * **first+3** das vierte Element vom Anfang | ||
90 | * **last-2** das vor vor vorletzte Element | ||
91 | |||
92 | Wenn nicht angegeben: versteht sich immer als **first**. | ||
93 | )))|((( | ||
94 | * **${ShipmentCity.first.last-1}** Stadt aus der ersten Sendung, aus dem vorletzten Ziel. | ||
95 | * **${ShipmentPackageCount.first+1}** Anzahl von Paketen aus der zweiten Sendung, aus dem ersten Ziel. | ||
96 | * **${DestinationNumber.first+2}** Die Nummer des dritten Ziels in der Tour | ||
97 | ))) | ||
98 | |**skip**|Wenn dieses Element nicht ermittelbar ist, werden alle Ausgaben bis zum nächsten gültigen Tour-Element übersprungen.|Ein beliebiger Text. Die Zeichen '.' und '}' sind nicht erlaubt.|((( | ||
99 | * **${OrderContact.skip}** Wenn das Element kein Auftrag ist, werden keine Ausgaben generiert. | ||
100 | * **${DestinationNumber.first+1.skip keine Nummer vorhanden }** Wenn das zweite Ziel keine Nummer hat, werden keine Ausgaben generiert, stattdessen erscheint der Text '** keine Nummer vorhanden **'. | ||
101 | ))) | ||
102 | |**count**|((( | ||
103 | Kombinierbar mit zwei Feldnamen: **TourChildrenCount **oder **DestinationChildrenCount**. | ||
104 | |||
105 | Gibt die Anzahl der Kinderelemente bei der übergeordneten Stelle. | ||
106 | |||
107 | * **TourChildrenCount **die Anzahl der Ziele in der Tour | ||
108 | * **DestinationChildrenCount **die Anzahl der Sendungen im Ziel | ||
109 | |||
110 | Wenn die berechnete Zahl eine 0 oder negativ ist, erscheint keine Anzeige. | ||
111 | )))|**-//N//** wo //**N**// ist eine negative Zahl, die von der Gesamtzahl subtrahiert wird.|((( | ||
112 | * **${TourChildrenCount.count-2}** die Anzahl aller Ziele minus 2 | ||
113 | ))) | ||
114 | |**ltext**|Ein beliebiger Text links vom eigentlichen Datenfeld.|((( | ||
115 | Ohne Text macht dieses Suffix keinen Sinn. | ||
116 | |||
117 | Die Zeichen '.' und '}' sind nicht erlaubt. | ||
118 | )))|**${TourChildrenCount.count-2.ltext Dazwischen: .rtext Ziele(n)}** Zeigt eine Gesamtzahl aller Ziele minus 2 und schreibt vor und nach der Zahl die entsprechenden Texte. Die Ausgabe wäre bei einer Gesamtzahl 10 für aller Ziele so: '** Dazwischen: 8 Ziele(n)**'. | ||
119 | |**rtext**|Ein beliebiger Text rechts vom eigentlichen Datenfeld.|((( | ||
120 | Ohne Text macht dieses Suffix keinen Sinn. | ||
121 | |||
122 | Die Zeichen '.' und '}' sind nicht erlaubt. | ||
123 | )))| | ||
124 | |**range**|Das Datenfeld wird in einem angegebenen Bereich bei allen Zielen wiederholt. Die Suffix "range" ersetzt die Adressierung eines Ziels (sowohl bei Ziel- als auch bei Sendungsfeldern).|//**+N-M**// wo //**N**// ist eine positive Zahl, die den Abstand zum Anfang aller Ziele bestimmt und //**M**// ist eine negative Zahl, die den Abstand zum letzten Ziel festlegt.|**${ShipmentName1.first.range1-1}** Zeigt einen Sendungsnamen aus allen ersten Sendungen, die zwischen dem zweiten und dem vorletzten Ziel liegen. |