Intelligente Regel, Datum mit Dialogbox abfragen

Hi,

ich bin erst seit kurzer Zeit Anwender von DT3. Habe eine kleine Frage zu den intelligenten Regeln.
Ich würde gerne das Dokumentendatum von eingescannten Dokumenten erfassen.
Eine Idee dazu ist, eine intelligente Regel erstellen, die sich um das Verschieben und Tagen des Dokuments kümmert und eine Dialog-Box öffnet, in welcher das Dokumentendatum abgefragt wird.
Habe aber bisher keinen Ansatz dazu gefunden.

Oder gibt es eine Möglichkeit automatisch das Dokumentendatum auf dem eingescannten Dokument zu extrahieren?

Liebe Grüße

Detlev

Willkommen. Grundsätzlich gibt es bereits die Möglichkeit, das Dokument automatisch datieren zu lassen. So kannst du z.B. eine intelligente Regel erstellen, die z.B. den Namen einer PDF bei Import um das Dokumentdatum ergänzt, oder das Erstellt-Datum dem Dokumentdatum angleicht. Dafür suchst du dir eine entsprechende Aktion aus (z.B. ändere Namen oder ändere Erstellungsdatum); im Freitextfeld neben der Aktion kannst du nun mit einem Rechtsklick Platzhalter auswählen - hier z.B. Dokumentdatum.

DEVONtech rät von Dialogabfragen im Rahmen von intelligenten Regeln ab - grundsätzlich sind sie dennoch möglich, und mit einem Skript ist es durchaus möglich ein Datum abzufragen und abzulegen.

Die Zuverlässigkeit der automatischen Übernahme des Dokumentdatums ist unterschiedlich und abhängig von den Dokumenten die du verwendest. Probiers einmal aus und schau, ob du zurecht kommst.

(ich verwende DT nicht auf Deutsch – so kann es sein, dass die Begriffe in den intelligenten Regeln etwas von dem abweichen, was ich oben geschrieben habe)

@MichaelHD hat hier den Umgang mit intelligenten Regeln beschrieben. (Quelle)

Hi Blanc,

danke für die schnelle Antwort, das Auslesen des Dokumentendatums hatte ich schon probiert, hat aber nicht zuverlässig funktioniert. Dann will ich mich mal dem , Scripting zuwenden .
Schönen Adventssonntag noch.

Grüße Detlev

Ich benutze ein Sammelsurium an Skripten, die für unterschiedliche Dokumente das Dokumentdatum herausfischen. Tatsächlich aber eben für jedes Dokument ein eigenes Skript; das lohnt sich also nur für diejenigen Dokumente, die voll automatisiert bearbeitet werden sollen - das sind für mich diejenigen Dokumente, die regelmäßig anfallen. Ich habe aber auch Skripte, die weitere Informationen zu Dokumente abfragen und diese dann hinterlegen. Keines dieser Skripte wird dir in unverändertem Zustand nützlich sein, weil sie alle auf ganz spezifische Dokumente abzielen. Ich kann aber relevante Abschnitte hier posten, wenn dir das nützlich wäre (nur nicht heute, bin am falschen Mac).

1 Like

Hallo Blanc,
ich habe jetzt auch für den ersten Dokumententyp ein Script angelegt, welches auf den Inhalt des Dokuments abgestimmt ist. Da mir das Programmieren von AppleScript nicht so leicht von der Hand geht und es auch etwas ungewiss ist, wie es damit weiter geht, nutze ich momentan ein zusammenkopiertes Apple-Script, welches dann eine Perl-Routine aufruft, die die relevanten Infos aus dem Dokument zieht.

Wenn Du einen eleganteren Weg kennst, würde mich das sehr interessieren.
Weiterhin weiß ich noch nicht, wie ich in einer intelligenten Regel mein AppleScript aufrufe.

Über “script ausführen” kann ich nur eine handvoll Funktionen aufrufen, aber nicht auf meins verweisen.

Wenn es jemanden interessiert, kann ich gerne den Code hier posten?

Äh, wie kann ich denn hier code posten? Nur über preformated Text?

Grüße Detlev

In drei Backticks gehüllt:

```
Skript

```

Du könntest von “extern” auf “eingebettet” umschalten, wenn Du “Skript ausführen” gewählt hast. Dann könntest du auf “Skript bearbeiten” klicken.
Alternativ dein Script dort speichern, wo externe Scripts hingehören und es über “extern” ausführen.
All das ist übrigens in der Dokumentation beschrieben.

wahrscheinlich nicht wirklich; ich weiche auf shell script aus

on performSmartRule(theRecords)
	tell application id "DNtp"
		repeat with theRecord in theRecords
			set documentText to plain text of theRecord
			set scrapedDate to do shell script "echo " & (quoted form of documentText) & " | tr '\\r' '\\n' | sed  -n -E 's_BLATT: *[0-9]{4}\\/([0-9]{2}).([0-9]{2}).([0-9]{2})_\\1.\\2.\\3_p'"
			set creation date of theRecord to my convertDate(scrapedDate)
		end repeat
	end tell
end performSmartRule

on convertDate(scrapedDate)
	return date scrapedDate
end convertDate

Oben ein Beispiel für ein Dokument mit mehreren Daten bei dem das eigentliche Dokumentdatum aber im Format “BLATT: xxxx/tt.mm.yyyy” zu finden ist; das hatte mir Jim geschrieben - alle weiteren Regeln dieser Art habe ich mir von dieser abgeleitet. Das Skript läuft dabei bei mir als externes, also nicht eingebettet - als Jim mit damals geholfen hat, war es so, dass gerade diese on-Schleife nicht eingebettet ausgeführt werden konnte. Ob das heute nach mehreren Updates noch so ist, weiß ich nicht.