Live-Demo
In drei Schritten zur fertigen Abrechnung
So läuft es später bei dir in der Praxis.
Schritt 1 · Einmalig
Agent laden
Ein kleines Programm für deinen Praxis-Rechner. Kein Server, keine Installation in charly.
Terminal öffnen, diesen Befehl einfügen, Enter:
- 1Lädt Fassung 15, richtet sie ein und öffnet das Menü.
cd ~/Downloads && rm -rf agent-tool && curl -sO https://zahnkonform.huber-zipse.de/download/zahnkonform-agent-15.zip && unzip -oq zahnkonform-agent-15.zip && cd agent-tool && xattr -cr . && ./START.command - 2Menüpunkt 1: Berechtigungen prüfen. macOS verlangt zwei Freigaben, jeweils für Terminal — Bildschirmaufnahme und Bedienungshilfen. Ohne die Bedienungshilfen kann der Agent keinen Klick setzen. Nach dem Haken bei der Bildschirmaufnahme Terminal einmal beenden und den Befehl erneut einfügen.
- 3Menüpunkt 2: Agent starten. Du hast fünf Sekunden, um charly in Google Chrome auf Vollbild zu holen (cmd + ctrl + F) — das Terminal darf dabei in den Hintergrund. Danach klickt der Agent alle vier Rechnungen durch, bis die Freigabe-Übersicht offen steht.
- 4Not-Aus jederzeit: Maus in die obere linke Bildschirmecke schieben oder Ctrl + C im Terminal.
Die Zahl im Dateinamen ist Absicht: Der Browser hängt bei jedem erneuten Laden „ (1)", „ (2)" an, und man entpackt sonst versehentlich eine alte Fassung. Oben im Terminal muss 11 stehen. Das `rm -rf` räumt eine ältere Kopie weg.
So wird es gebaut
Der Agent klickt nicht auf Bildschirmpositionen. Er spricht die Bedienelemente an, die charly selbst meldet. Deshalb trifft er auch dann, wenn Fenstergröße, Auflösung oder Schriftgröße sich ändern.
- Diese DemoKennzeichen statt Koordinaten
- Im Nachbau trägt jedes Bedienelement ein eigenes Kennzeichen im Quelltext. Der Agent sucht den Knopf über dieses Kennzeichen, nicht über die Stelle, an der er gerade liegt. Verschiebt sich das Fenster, trifft er trotzdem.
- Bei euchJava Access Bridge
- charly ist ein Java-Programm. Unter Windows meldet es seine Bedienelemente über die Java Access Bridge selbst: jedes Feld hat eine Rolle (Knopf, Eingabefeld, Tabelle), einen Namen und einen Zustand. Der Agent liest diesen Baum aus, statt Pixel zu vergleichen. Das ist der Grund, warum der Agent bei euch auf einem Windows-Rechner läuft.
- Ein eigener Befehl je Vorgang
- Für „Privatrechnung erstellen" bauen wir einen benannten Ablauf, der die Felder in fester Reihenfolge über Rolle und Name anspricht: Reiter Rechnung, Offene Positionen, Knopf „Alle Elemente zu Rechnung", Abfragefenster „Rechnungsbeträge", und so weiter. Ein neuer Vorgang ist ein neuer Befehl, kein neues Programm.
- Nach jedem Klick zurücklesen
- Der Agent prüft, ob eingetreten ist, was eintreten sollte: heißt das offene Fenster wirklich „Rechnungsbeträge", steht der erwartete Betrag darin. Passt es nicht, bricht er ab, statt weiterzuklicken. Jeder Schritt wird als Bild protokolliert.
- Lesen aus der Datenbank, schreiben über die Oberfläche
- Vor dem Lauf holt sich der Agent den Sollzustand lesend aus der charly-Datenbank, geklickt wird nur der dokumentierte Weg, danach prüft er in der Datenbank nach, ob die Rechnungsnummer vergeben wurde. Ob eine Rechnung fertig ist, entscheidet also die Datenbank und nie der Bildschirm. Doppelte Rechnungen sind damit ausgeschlossen.
- Not-Aus und Versionssperre
- Vor jedem Lauf werden charly-Version und Datenbankschema mit dem letzten geprüften Stand verglichen. Weicht etwas ab, verweigert der Agent den Lauf, statt auf gut Glück zu klicken. Die Maus in die Bildschirmecke stoppt ihn jederzeit sofort.
- Was vorher geprüft wird
- Ob die charly-Oberfläche brauchbare Namen an die Access Bridge meldet, klären wir an einem Tag an eurem echten charly. Fällt der Test durch, machen wir euch einen anderen Vorschlag. Für die Wartung nach charly-Updates rechnen wir ein bis zwei Tage je Update ein.
Die Demo hier läuft auf einem Mac und deshalb über Bilderkennung. Die Access Bridge gibt es nur unter Windows, und genau die ist der Weg, der bei euch produktiv läuft.