Formatkonfiguration der Tourenliste

Version 10.2 von YellowFox_RD am 2025/04/15 14:54

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.

1744721474413-533.png

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.

1744721605609-894.png

Im Admin (Bild oben) definiert man diese Masken unter "Display" im Tab "Aufträge".

Syntax

Eine Maske besteht aus einer oder mehreren Angaben zu den gewünschten Datenfeldern aus einer Tour/einem Auftrag. Die allgemeine Syntax:

${Datenfeld[.Suffix[Parameter][.Suffix[...]]]}[Weitere Datenfelder]

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).

Außerdem kann man Zahl-basierte Datenfelder mit einem Ausgabenformat versehen, um die Darstellung von Zahlen zu präzisieren.

$int{${Datenfeld};Format}

$float{${Datenfeld};Format}

$double{${Datenfeld};Format}

Das Format versteht sich als Standardformat in einer printf-Funktion (C++, Java etc.).

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:

SchlüsselwortBedeutung
TourChildrenCountDie Anzahl aller Ziele.
TourNumberText, Tour-Nummer
TourDescriptionText, Tour-Beschreibung
OrderNumberText, Auftragsnummer
OrderDescriptionText, Auftragsbeschreibung
OrderNameText, Kontaktname aus dem Auftrag
OrderCityText, Stadt aus dem Auftrag
OrderStreetText, Straße aus dem Auftrag
OrderCountryText, Land aus dem Auftrag
OrderZipCodeText, PLZ aus dem Auftrag
OrderHouseNumberText, Hausnummer aus dem Auftrag
OrderContactText, Kontaktdaten aus dem Auftrag
DestinationChildrenCountDie Anzahl aller Sendungen im aktuellen Ziel.
DestinationNumberText, Nummer aus dem Ziel
DestinationDescriptionText, Beschreibung aus dem Ziel
DestinationPositionZahl, Position des Ziels in der Tour: kann mit "int" formatiert werden
ShipmentNumberText, Nummer der Sendung
ShipmentDescriptionText, Beschreibung der Sendung
ShipmentPositionZahl, Position der Sendung im Ziel: kann mit "int" formatiert werden
ShipmentActionText, Aktion der Sendung (Beladen, Entladen oder Dienstleistung)
ShipmentPackageCountZahl, die Anzahl der Pakete in der Sendung: kann mit "double" oder "float" formatiert werden
ShipmentUnitText, Einheit aus der Sendung
ShipmentName1Text, Name 1 aus der Sendung
ShipmentName2Text, Name 2 aus der Sendung
ShipmentContactText, Kontaktdaten aus der Sendung
ShipmentStreetText, Straße aus der Sendung
ShipmentHouseNumberText, Hausnummer aus der Sendung
ShipmentZipCodeText, PLZ aus der Sendung
ShipmentCityText, Stadt aus der Sendung
ShipmentCountryText, Land aus der Sendung

Parameter für die Datenfelder.

SuffixBedeutungArgumenteBeispiel

first

last

Definiert die genaue Position eines Elementes aus der Tour:

  • first das erste Element bei der übergeordneten Stelle (Ziel oder Tour)
  • last das letzte Element bei der übergeordneten Stelle (Ziel oder Tour)

Die Reihenfolge von first und last bestimmt, welches Unterelement angesprochen wird:

  • ein Ziele kann nur eine Suffix beinhalten;
  • eine Sendungen: von links nach rechts eintretende Suffixes - erst die Position der Sendung im Ziel, dann die Position des Ziels in der Tour.

+/-N wo N ist eine Zahl, die relative Position des Elementes bestimmt:

  • first+3 das vierte Element vom Anfang
  • last-2 das vor vor vorletzte Element

Wenn nicht angegeben: versteht sich immer als first.

  • ${ShipmentCity.first.last-1} Stadt aus der ersten Sendung, aus dem vorletzten Ziel.
  • ${ShipmentPackageCount.first+1} Anzahl von Paketen aus der zweiten Sendung, aus dem ersten Ziel.
  • ${DestinationNumber.first+2} Die Nummer des dritten Ziels in der Tour
skipWenn 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.
  • ${OrderContact.skip} Wenn das Element kein Auftrag ist, werden keine Ausgaben generiert.
  • ${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 '.
count

Kombinierbar mit zwei Feldnamen: TourChildrenCount oder DestinationChildrenCount.

Gibt die Anzahl der Kinderelemente bei der übergeordneten Stelle.

  • TourChildrenCount die Anzahl der Ziele in der Tour
  • DestinationChildrenCount die Anzahl der Sendungen im Ziel

Wenn die berechnete Zahl eine 0 oder negativ ist, erscheint keine Anzeige.

-N wo N ist eine negative Zahl, die von der Gesamtzahl subtrahiert wird.
  • ${TourChildrenCount.count-2} die Anzahl aller Ziele minus 2
ltextEin beliebiger Text links vom eigentlichen Datenfeldes.

Ohne Text macht dieses Suffix keinen Sinn.

Die Zeichen '.' und '}' sind nicht erlaubt.

${TourChildrenCount.count-2.ltext Dazwischen: .rtext Zielethumb_down} 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 Zielethumb_down'.
rtextEin beliebiger Text rechts vom eigentlichen Datenfeldes.

Ohne Text macht dieses Suffix keinen Sinn.

Die Zeichen '.' und '}' sind nicht erlaubt.

 
rangeDas 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.