BEDINGTE Freigabe der macOS Version Sequoia für tomedo®
Alle Hinweise und Informationen finden Sie unter folgendem Link.
Ich möchte aus einem Applescript heraus eine Leistungsziffer eintragen oder aus dem AS eine neue Aktionskette auslösen. Ist das möglich?

Viele Grüße,
Marc
Gefragt von (660 Punkte)
0 Punkte

3 Antworten

Beste Antwort

Die geposteten Applescripte benutzen timer und fest vorgegebene Tastenkürzel. Sollte also ein tomedo-Programmierer da was ändern, so geht das Skript nicht mehr. Bitte beachten Sie das. Ab der Version v1.38.1.0 (hoffentlich/voraussichtlich) ist tomedo auch Applescriptbar für Aktionsketten.

Um die möglich Befehle zu erhalten, auf die tomedo reagiert, gehen Sie wie folgt vor. Rufen Sie den Apple-Skripteditor auf und gehen im Menü auf Ablage->Funktionsverzeichnis öffnen … und wählen die tomedo.app aus. Dann erscheint so ein Fenster (ab der Version v1.38.1.0):

Hier sehen Sie zB. den Befehl um eine Aktionskette per Kürzel zu starten. Dies können Sie in jedem Applescript nutzen.

 

Ein Beispiel für so ein Appleskript wäre:

tell application "/Users/admin/tomedo/tomedo.app" to call aktionskette "testAK"

Hier müssten Sie den Pfad von tomedo eingeben oder nur "tomedo". Zweiteres kann aber zum Aufruf eines weiteren tomedo's führen, was praktisch nicht funktioniert. Alternativ kann man hier auch das aktuell geöffnete tomedo heraussuchen. Das ist etwas komplizierter, werden das aber noch aufführen. Der Befehl an sich ist hier call aktionskette. Danach kommt der Kürzel für Ihre Aktionskette, den müssen Sie dann entsprechend anpassen, je nachdem wie Sie Ihre Aktionskette nennen.
 

Beantwortet von (90.6k Punkte)
Bearbeitet von
+1 Punkt
Hier noch das Applescript mit überrüfung für die aktiv laufende tomedo.app:



property nameOfTomedoProcess : "tomedo"

tell application "System Events" to set runningApps to get the name of every process whose background only is false
if (runningApps contains nameOfTomedoProcess) then
    tell application "System Events" to set theProcesses to get every process whose name is nameOfTomedoProcess
    if ((count of theProcesses) > 1) then
        return 1
    else if ((count of theProcesses) < 1) then
        return 1
    end if
   
    set theTomedoProcess to first item of theProcesses
    set theName to name of theTomedoProcess
    set theBundleID to bundle identifier of theTomedoProcess
    set theAliasPath to file of theTomedoProcess as alias
    set thePOSIXPath to (the POSIX path of theAliasPath)
   
    using terms from application "tomedo"
        tell application thePOSIXPath
            call aktionskette "testAK"
        end tell
    end using terms from
else
    display alert "tomedo ist nicht geöffnet"
    return 1
end if
Für Leistungen ist die Antwort "zur Zeit nicht". Sollten Sie KV-Leistungen meinen, so wäre die Antwort: "Nein, das dürfen wir nicht".

Für Aktionsketten ist die Antwort auch "zur Zeit nicht". Das wird aber umgesetzt werden... wenn ich Zeit habe.
Beantwortet von (90.6k Punkte)
0 Punkte

Geht bereits, per Simulation von Tastendrücken. Hier ein Beispiel-Apple-Script, das eine GOÄ-Ziffer eingibt (Annahme ist, dass eine offene Rechnung existiert) und anschließend einen Karteieintrag oder eine Aktionskette auslöst:

tell application "System Events"
    -- Cmd-K um Kartei zu öffnen bzw. wenn schon offen in die Kommandozeile zu kommen
    keystroke "k" using command down
    -- Sicherheitshalber noch eine halbe Sekunde warten
    delay 0.5
    -- GOÄ-Ziffer für Leichenschau
    keystroke "236a"
    delay 0.5
    
    -- Enter-Taste
    key code 36
    -- Jetzt noch mit einem Kürzel einen Karteieintrag oder Aktionskette starten
    keystroke "ANA"
    key code 36
end tell

 

Für EBM-Ziffern fordert die KBV eine Einzelbestätigung durch den Nutzer. Dies können Sie erreichen, indem Sie den Enter-Tastendruck nicht simulieren, so dass der Nutzer dies selbst tun muss, oder indem Sie noch einen Bestätigungsdialog zwischenschalten:

tell application "System Events"
    
    display alert "EBM-Ziffer 'Planung der Geburtsleitung' 01780 eingeben?" buttons {"Nein", "Ja"}
    set myResult to button returned of result
    
    -- tomedo-Fenster wieder in Vordergrund bringen
    tell application "tomedo" to activate
    -- Cmd-K um Kartei zu öffnen bzw. wenn schon offen in die Kommandozeile zu kommen
    keystroke "k" using command down
    -- Sicherheitshalber noch eine halbe Sekunde warten
    delay 0.5
    
    if myResult = "Ja" then
        -- EBM-Ziffer eingeben
        keystroke "01780"
        delay 0.5
        
        -- Enter-Taste
        key code 36
    end if
    
    -- Jetzt noch mit einem Kürzel einen Karteieintrag oder Aktionskette starten
    keystroke "ANA"
    key code 36
    
end tell

 

Beantwortet von (16.6k Punkte)
0 Punkte
Genau das hatte ich gesucht.
18,371 Beiträge
26,635 Antworten
47,755 Kommentare
28,981 Nutzer