Verknüpfung von Elementen mit Regeln

  • Hallo zusammen,


    aktuell baue ich meine erste Greyhound-Regel zusammen und bräuchte bei einer "Abfrage" einen kleinen Hilfeschubser.
    Die Regel soll folgendes machen:


    1. Eingangsregel auf eine Verdachts-Mail mit Bestellnummer
    2. Aus der Verdachtsmail soll die Bestellnummer gezogen werden
    3. Mit der Bestellnummer soll die eigentliche Bestellmail gefunden werden. (Bestellnummer im Betreff)
    4. Die Verdachtsmail soll mit dem Vorgang der Bestellmail verknüpft werden



    Wie kann ich denn nun per Skript die Elemente durchsuchen und per regex die Bestellmail mit dem passenden Betreff finden?


    Würde mich über einen Hinweis freuen.
    Danke!


    Gruß

  • Servus Ibrahim,


    Elementvergleiche in GREYHOUND, beliebtes Thema, kurz zusammengefasst:


    Über das Regelsystem lassen sich Elemente nur begrenzt durchsuchen, das hat logische als auch performancetechnische Gründe, mit ein paar Tricks lassen sich Vergleiche trotzdem herstellen, nämlich über die Anpassung/Manipulation der Vorgangsnummer. Du willst ja quasi zwei Elemente über die gleiche Referenz vergleichen, deiner Bestellnummer:


    Erster Schritt: Die Bestellnummer in deinen eingehenden Mails "extrahieren", hierzu bietet sich ein benutzerdefiniertes Feld und ein regulärer Ausdruck an, welchen wir in das Userfield reinpacken:




    Ein paar hilfreiche reguläre Ausdrücke findest du hier: [Build 1642] Reguläre Ausdrücke für die Praxis: Reg-(H)exen für Dummies, hier kommen eure funktionierenden Ausdrücke rein


    In einer passenden Regel können wir nun dafür sorgen, dass die Bestellnummer ermittelt und in das entsprechende benutzerdefinierte Feld geschrieben wird. Anschließend können wir anhand der Bestellnummer einfach die Vorgangsnummer mittels MD5-Hash als Vorgangsnummer verwenden:




    Wird nun die Bestellnummer in beiden Elementen gefunden, haben beide entsprechend die gleiche Vorgangsnummer. Innerhalb eines Vorgangs lässt sich wiederrum "suchen" bzw. direkt referenzieren, somit könnte man auch mit einem Regeldurchlauf ein anderes Element des gleiches Vorgangs verändern. Die entsprechende Funktion heisst "PrevTaskItem": http://greyhound-software.com/….TFbmItem.GetPrevTaskItem


    Die passende Regel zum ändern der Vorgangsnummer habe ich dir hier angehängt.


    Sollte es nicht klappen, ruf einfach mal kurz bei uns an, via Remote sollte deine Problemstellung in 5 Minuten gelöst sein. :)


    Gruß vom Ammersee,