Examples: query, "exact match", wildcard*, wild?ard, wild*rd
Fuzzy search: cake~ (finds cakes, bake)
Term boost: "red velvet"^4, chocolate^2
Field grouping: tags:(+work -"fun-stuff")
Escaping: Escape characters +-&|!(){}[]^"~*?:\ with \, e.g. \+
Range search: properties.timestamp:[1587729413488 TO *] (inclusive), properties.title:{A TO Z}(excluding A and Z)
Combinations: chocolate AND vanilla, chocolate OR vanilla, (chocolate OR vanilla) NOT "vanilla pudding"
Field search: properties.title:"The Title" AND text
Beantwortet
Tutorial: Email-Import im Jobrouter - wie schaffe ich es, nur Dateien eines bestimmten Typs zu importieren?

Nehmen wir an, ich möchte meine Rechnungen nur als PDF haben, kein .zip oder Bilddateien. Außerdem möchte ich verhindern, dass Logos oder Header, die von Mailprogrammen manchmal als Bilddatei mitgesendet werden, mit in den Import gelangen und in meinem Prozess Fehler verursachen. Zuerst ist es wichtig, den Email-Import so zu konfigurieren, dass Anhänge in einer Untertabelle (hier ATTACHMENTS) abgespeichert werden:

file

Anschließend kann ich als Startschritt eine Entscheidung mit einer Ausführungsregel und zwei Weiterleitungsregeln anlegen.

file

Die Ausführungsregel führt ein einfaches PHP-Skript aus, das alle importierten Anhänge auf ihren Dateityp untersucht und nur einen PDF-Anhang in der Prozesstabelle speichert:

<?php

class className extends JobRouter\Engine\Runtime\PhpFunction\RuleExecutionFunction
{
	public function execute($rowId = null) {
	    $field = 'attachment';
        $tableVal = 'INVOICE_FILE';
        $type = '.pdf';
        $subtableName = 'ATTACHMENTS';
        $subtableRowIds = $this->getSubtableRowIds($subtableName);
        foreach ($subtableRowIds as $rowId) {
        $val = $this->getSubtableValue($subtableName, $rowId, $field);
        if(strpos($val, $type) !== false){
            $this->setTableValue($tableVal, $val);
            }
        }

	}
}
?>

Die Funktion strpos() untersucht hier bei allen Einträgen der ATTACHMENTS Untertabelle den Eingabewert $val auf den Dateinamen $type, hier .pdf. Nur der PDF-Anhang wird in die Prozesstabelle übertragen - Bilder, Textdateien, Zip-Dateien nicht.

Anschließend kann mit den beiden Weiterleitungsregeln auf einen gefüllten Prozesstabellenwert INVOICE_FILE selektiert werden - entweder es wird in die Hauptfunktionalität des Prozesses weitergeleitet, oder der Absender erhälteine automatische Email, die ihn darauf hinweist, dass er kein PDF als Rechnung gesendet hat.

Es ist auch möglich, auf diese Art noch feiner zu sieben und z.B. Dateien wie "Rechnung.pdf.zip" herauszufiltern.

Stimmen Neuste

Antworten


Antwort oben ;-)

  
  
Gepostet vor 3 Jahren
6K Ansichten
1 Antwort
vor 3 Jahren
vor 3 Jahren
Stichwörter