Vorgangsnummer

Vorgangsnummern dienen in GREYHOUND dazu, verschiedene inhaltlich zusammengehörende Elemente zu einem Vorgang zusammenzufassen. So gehören beispielsweise eine eingegangene E-Mail und die darauf ebenfalls per E-Mail versandte Antwort zu einem Vorgang, obwohl es zwei verschiedene E-Mail-Elemente sind. Da GREYHOUND aber der Antwort auf eine E-Mail standardmäßig dieselbe Vorgangsnummer wie der Ursprungsnachricht zuordnet, entsteht automatisch ein Bezug zwischen beiden Elementen. Dadurch können beide als ein Vorgang behandelt und in GREYHOUND entsprechend dargestellt werden.

Vorgänge in GREYHOUND erkennen und nutzen

GREYHOUND erkennt zusammengehörende Elemente soweit wie möglich automatisch und stellt sie in diesem Fall ähnlich wie ein Diskussionsfaden (“Thread”) in chronologischer Reihenfolge dar. Wann immer man in der Listenansicht ein Element auswählt, das Teil eines Vorgangs ist, wird ganz links in der Spalte ein +-Symbol angezeigt. Mit einem Mausklick darauf öffnet sich der gesamte Vorgang, sodass alle Elemente mit derselben Vorgangsnummer untereinander in der richtigen zeitlichen Reihenfolge dargestellt werden. In dieser Liste kann man schnell ältere Elemente oder eben beispielsweise auch das allererste Elemente des Vorgangs auswählen und anzeigen lassen. So erfährt man schnell, worum es bei einem Vorgang geht bzw. was der ursprüngliche Anlass für eine inzwischen womöglich schon längere Diskussion war.

Elementtyp übergreifende Vorgänge

Bei einem Vorgang denkt man vielleicht als erstes an aufeinander aufbauende E-Mails mit Anfrage, Antwort, Rückfrage usw. In der Praxis ist dies auch ein ganz typisches Beispiel für Vorgänge. GREYHOUND kann aber beliebige Arten von Elementen zu einem Vorgang zusammenfassen. Ein Vorgang kann also ebenso mit einem Fax beginnen, das zu Rückfragen per Telefon und zwischenzeitlichen Notizen und E-Mail-Erkundigungen führt, um dann schließlich mit einem Brief abschließend beantwortet zu werden. Alle diese Elemente werden unabhängig von ihrem Typ in der Vorgangsliste chronologisch angezeigt.

Elemente manuell zu Vorgängen zusammenfassen

In vielen Fällen kann GREYHOUND die Zuordnung von zusammengehörenden Elementen automatisch vornehmen. Das gilt beispielsweise immer, wenn man die Antworten– oder Weiterleiten-Funktion verwendet. Dann wird die Vorgangsnummer des ursprünglichen Elements für das neu erzeugte übernommen. Das gilt auch, wenn das neue Element einen anderen Typ hat als das ursprüngliche. Schwieriger wird es, wenn externe Kommunikationspartner auf eine Nachricht antworten. Bei E-Mails klappt die Zuordnung selbst dann meistens, weil GREYHOUND die Vorgangsnummer in versendeten E-Mails mit übermittelt (im E-Mail-Header In-Reply-To sowie ggf. angehängt an die Betreffzeile). Antwortet der Empfänger direkt darauf, enthält auch seine Antwort diese Vorgangsnummer, sodass die eingehende Antwort-Mail der zuvor verschickten Nachricht zugeordnet werden kann, selbst wenn beispielsweise der Betreff verändert wurde. Bei anderen Kommunikationsarten wie Briefen oder Faxen klappt das nicht ohne weiteres. In solchen Fällen kann man die Zuordnung des neuen Elements manuell durchführen.

Vorgangsnummer per Drag & Drop zuweisen

  1. Dazu “ergreift” man das Element, dem man eine andere Vorgangsnummer zuweisen möchte, mit gedrückter Maustaste.
  2. Nun zieht man dieses auf das Element, dessen Vorgangsnummer das gezogene Element erhalten soll.
  3. Lässt man das gezogene Element darauf los, fragt GREYHOUND nach, ob dieses Element wirklich die Vorgangsnummer des anderen zugewiesen bekommen soll. Dies soll vorschnelle Änderungen durch versehentliches Drag & Drop verhindern.

  4. Bestätigt man die Rückfrage mit Vorgangsnummer ändern, wird dem gezogenen Element die andere Vorgangsnummer zugewiesen und es gehört ab sofort zum Vorgang des anderen Elements.

In vielen Situationen geht das ganz schnell und einfach per Drag&Drop:

Mit Elementen in anderen Listenansichten vereinen

Das Zielelement bei diesem Vorgang muss sich nicht zwangsläufig in derselben Listenansicht befinden. Man kann mit gezogenem Element die Listenansicht wechseln, indem man das Element auf die Registerkarte der gewünschten Ansicht zieht und dort kurz verharrt. Dann wechselt GREYHOUND in diese Ansicht und man kann das Element dort auf das beabsichtigte Ziel ziehen.

Vorgangsnummer direkt bearbeiten

In den Elementeigenschaften kann man die Vorgangsnummern direkt bearbeiten. So lässt sich die Vorgangsnummer von einem Element kopieren und im Eigenschaften-Dialog eines anderen bei Vorgangsnummer eingeben.

Die Vorgangsnummer aus dem Inhalt von Elementen extrahieren

GREYHOUND kann Vorgangsnummern in eingehenden Elementen automatisch erkennen, wenn sie im E-Mail-Header In-Reply-To oder in der Betreffzeile enthalten sind. Wenn Elemente Vorgangsnummern an anderen Stelle wie etwa dem eigentlichen Inhalt enthalten, kann man diese mit Unterstützung von Regeln automatisch erkennen und übernehmen. Zuständig hierfür ist der Regelknoten Vorgangsnummer extrahieren. Er durchsucht den Inhalt – genauer gesagt Item.TextViewData – nach einem Muster, das einer GREYHOUND Vorgangsnummer entspricht (“X-YYYYYYYYYY-ZZ”). Wird er fündig, weist er dem Element diesen Wert als neue Vorgangsnummer zu. Andernfalls behält das Element seine vom System automatisch vergebene neue Vorgangsnummer bei.

Diese Regel kann als ergänzende Maßnahme für eingehende Nachrichten eingesetzt werden. Ein anderer Verwendungszweck können auch selbst erstellte Elemente sein. So könnte man beispielsweise beim Erstellen einer Telefonnotiz eine Vorgangsnummer eines anderen Elements in den Text der Notiz kopieren. Anschließend könnte eine Regel dafür sorgen, dass beim Speichern der Telefonnotiz eine eventuell enthaltene Vorgangsnummer extrahiert und zugewiesen wird. So lässt sich die Telefonnotiz automatisch dem anderen Vorgang zuordnen.

Vorgangsnummern in anderen Bereichen suchen lassen

Man kann Vorgangsnummern auch in anderen Bereich eines Elements suchen lassen. Der Regelknoten Vorgangsnummer extrahieren wird in den Code

Item.TaskNumber.TryParseFromText(Item.TextViewData);

umgesetzt. Anstelle von Item.TextViewData könnte hier auch etwas anderes stehen, etwa

Item.TaskNumber.TryParseFromText(Item.Remarks[Item.Remarks.Count - 1].Text);

Dann würde die Regel in der neuesten Anmerkung eines Elements nach einer Vorgangsnummer suchen. Dies übersteigt allerdings die Möglichkeiten des Regel-Assistenten, sodass hier direkt im Quelltext oder mit einem Regelknoten vom Typ Quelltext einfügen gearbeitet werden muss.

Eigene IDs als Vorgangsnummer verwenden

Die von GREYHOUND automatisch vergebenen Zeichenkombinationen sind nur eine Möglichkeit, Vorgangsnummern zu nutzen. Ebenso ist es möglich, Bestellnummern etwa aus dem Warenwirtschaftssystem oder von eBay als Vorgangsnummern zu verwenden. Dazu müssen lediglich die GREYHOUND-Vorgangsnummern durch eigene IDs ersetzt werden. Die Logik, nach der verschiedene Elemente mit derselben Vorgangsnummer zu einem Vorgang zusammengefasst werden, funktioniert dann genauso. Allerdings ist es wohl kaum praktikabel, bei allen Elementen die Vorgangsnummer manuell in den Elementeigenschaften zu bearbeiten. Stattdessen bieten sich das GREYHOUND Regelsystem an, mit dem dieser Vorgang für alle fraglichen Elemente automatisiert werden kann.

Der Aufbau der GREYHOUND Vorgangsnummer

Die von GREYHOUND automatisch vergebenen Vorgangsnummern sind nach einem bestimmten Schema aufgebaut. Zwar kann man auch komplett eigene Vorgangsnummern vergeben, die diesem Schema nicht zu folgen brauchen. Wenn man aber mit den GREYHOUND Vorgangsnummern arbeiten und ggf. Eingriffe vornehmen möchten, sollte das Aufbauprinzip bekannt sein:

  • Der erste Buchstabe ist frei wählbar. Standardmäßig erzeugt GREYHOUND Vorgangsnummern, die mit dem Buchstaben T beginnen. Man könnte hier aber zum Beispiel auch ein R für “Rechnungen” verwenden.
  • Im zweiten Block müssen immer exakt zehn Zeichen stehen. Und zwar aus den Bereichen 0-9 und A-Z. Kleinbuchstaben sind nicht erlaubt. Hier sollte bei manuellen Eingriffen nur beachtet werden, dass eine neu erstellte Zeichenkombination noch nicht im System vergeben ist. Das wäre zwar kein Fehler, aber Elemente mit gleicher Vorgangsnummer werden eben zu einem Vorgang zusammengeführt.
  • Die nicht editierbaren Zeichen im dritten Block sind eine Prüfsumme. So kann beispielsweise bei einer Vorgangsnummer, welche per OCR erkannt wurde, sichergestellt werden, dass diese auch tatsächlich korrekt ist. Die Prüfsumme wird berechnet, indem für jedes der zehn Zeichen im zweiten Block ein Zahlenwert aufaddiert wird, wobei 0-9 entsprechend ihrem Zahlwert zählen und die Zeichen A-Z mit den Werten 10-36 gezählt werden. Der so addierte Gesamtwert wird mit einem Modulo von 100 geteilt. Für Nicht-Mathematiker bzw. -Programmierer: Solange jeweils 100 abziehen, bis der verbleibende Rest kleiner als 100 ist. Dieser Rest ist dann die zweistellige Prüfsumme.

Bestellnummern usw. in benutzerdefinierte Felder auslesen

Wenn Mails, Briefe oder Faxe eindeutige IDs wie Kundennummern, Bestellnummer oder Transaktionsnummern von Online-Plattformen wie Amazon oder eBay enthalten, können diese automatisch ausgewertet und als Vorgangsnummern verwendet werden. Hierzu ist ein benutzerdefiniertes Feld für diese Elemente erforderlich. Hierbei ist wichtig, dass sich diese IDs mittels eines Regulären Ausdrucks (–> Wikipedia-Artikel zu Regular Expression bzw. RegEx) eindeutig beschreiben lässt. Dann erkennt GREYHOUND diese ID bei neuen Elementen automatisch, liest sie aus und weist sie dem benutzerdefinierten Feld zu. Anschließend kann man per Regel den Wert dieses benutzerdefinierten Feldes als Vorgangsnummer des Elements festlegen.

Vorgangsnummern per Regelknoten festlegen

Das folgende Regelbeispiel setzt die Vorgangsnummer eines Elements auf den Wert seines benutzerdefinierten Feldes “Bestellnummer”. Da das schon eine komplexere Aufgabe ist, lässt es sich nicht komplett per Regel-Experte “zusammenklicken”. Stattdessen muss ein Regelknoten Quelltext einfügen verwendet werden. Dort wird der nachfolgende Code eingefügt. Wichtig: Ergänzend sollte vorher geprüft werden, ob es sich um ein passendes Element handelt und ob das benutzerdefinierte Feld auch tatsächlich einen sinnvollen Wert enthält. Da dies vom Schema der verwendeten IDs abhängt, muss diese Prüfung jeweils individuell angepasst werden.

Regel-Quelltext: Vorgangsnummer aus benutzerdefiniertem Feld übernehmen:

var
 Token: string;
 Hash: string;
 ShortHash: string;

begin
 // Bestellnummer aus dem benutzerdefinierten Feld lesen:
 Token := Item.UserFields.ItemsByName['Bestellnummer'].AsString;

 // Einen Hash bilden:
 Hash := FbmMd5Str(Token);

 // Für die Vorgangsnummer nur die ersten 10 Zeichen (verändert die Eindeutigkeit)*:
 ShortHash := Copy(Hash, 0, 10);

 // Zur Kontrolle in das Systemprotokoll einfügen:
 Item.AddToProtocol(
  'Token: ' + Token + #13#10 +
  'Hash: ' + Hash + #13#10 +
  'ShortHash: ' + ShortHash
 );

 // Neue Vorgangsnummer anhand der Bestellnummer setzen:
 try
  Item.TaskNumber.Prefix := 'A';
  Item.TaskNumber.Number := ShortHash;
 except 
 end;
end.

Diese Regel “geht auf Nummer sicher” und erzeugt in jeder Situation eine zulässige Vorgangsnummer. Dafür verwendet sie anstelle der Original-Bestellnummer aber einen Hash-Wert, was die Lesbarkeit für den Benutzer erschwert. Außerdem kann dadurch die Eindeutigkeit der Zuordnung in einigen Fällen verloren gehen. Wenn die verwendete Bestellnummer den formalen Kriterien an eine GREYHOUND Vorgangsnummer genügt, kann man die Bestellnummer auch direkt als Vorgangsnummer verwenden. Die GREYHOUND Skriptsprache stellt verschiedene Möglichkeiten für kleinere Anpassungen zur Verfügung, etwa um Klein- in Großbuchstaben umzuwandeln oder um bei einer Länge von weniger als zehn Zeichen die Nummer mit führenden Nullen aufzufüllen.

Vorgangsnummer im Betreff

GREYHOUND versieht alle ausgehenden Nachrichten mit einer Vorgangsnummer, um Antworten darauf zuordnen zu können und entsprechende Nachrichtenverläufe darzustellen. Standardmäßig wird diese Vorgangsnummer an die Betreffzeile angehängt, z. B. so: 

AW: Liefertermin [T-TAKUA6GTN8-81]

Das fällt einem selbst womöglich gar nicht auf, da GREYHOUND solche Vorgangsnummern in der Betreffzeile nicht anzeigt. Man selbst als Nutzer sieht diese nur, wenn man sich die Subject-Angabe bei den Kopfzeilen ansieht. Andere E-Mail-Programme zeigen die Betreffzeilen aber mitsamt der Vorgangsnummer an.

Die Vorgangsnummer im Betreff entfernen

Wenn man dies nicht möchte, kann man das Anhängen dieses Codes an die Betreffzeile unterdrücken. Dies geht allerdings nur im GREYHOUND Admin und gilt somit also immer für den gesamten Server. Die Einstellung dafür findet man in der Rubrik Konfiguration im Bereich Einstellungen Kommunikationsserver. Dort ist der Haken bei Vorgangsnummer bei ausgehenden Nachrichten im Betreff einfügenzu entfernen. Nicht vergessen, den Server danach neu zu starten, damit die Änderung der Einstellungen aktiv wird :-).

Hosting- und Appliance-Kunden wenden sich bitte an unseren Kundenservice, damit dieser die Änderung vornimmt.

Die Vorgangsnummer geht dabei übrigens nicht verloren, denn zusätzlich zur Betreffzeile speichert GREYHOUND diese Angabe auch im E-Mail-Header als “Message-ID”. Es gibt zwar keine Garantie dafür, dass diese Angabe z. B. bei einer Antwort eines Kunden erhalten bleibt, aber die gäbe es bei der Betreffzeile ja auch nicht, da diese noch leichter geändert werden kann. In den meisten Fällen klappt die Zuordnung auch auf diese Weise, sodass man durchaus auf Vorgangsnummern im Betreff verzichten kann, wenn man sich daran stört.