Arbeitszeiterfassung per BMAS-App – Auswertung und Archivierung

Das Bundesministerium für Arbeit (BMAS) bietet eine kosten­lose App („einfach erfasst“) zur Er­fassung und Über­mittlung von Arbeitszeiten.
Mit der App erfasst der Arbeit­nehmer seine Arbeits­zeiten. Die Daten werden auf seinem Smart­phone gespeichert und monatlich an eine in der App eingetragene Mail­adresse des Arbeitgebers versendet.

 

Was macht der Arbeitgeber mit den Daten, die er per E-Mail erhält?

Auf der Webseite des BMAS steht dazu: „Über gesetzte Sortierregeln im E-Mail-Programm kann der Arbeitgeber eine einfache und schnelle Ablage der E-Mails für seine Beschäftigten organisieren.“

Diese Empfehlung dürfte vielen Arbeitgebern nicht ausreichen. Häufig führen Arbeitgeber Excel-Tabellen, in die die Arbeitsstunden mühsam per Hand eingetragen werden. Dadurch hat man alle Daten in einem Dokument und kann zum Beispiel zusammenrechnen, wieviel Stunden im Jahr zusammen gekommen sind.

Mein bereits vorgestelltes Programm „Stunden- und Tagerechner“ verfügt ab Version 1.7 über eine Importfunktion für die BMAS-App-Mails. Die Daten lassen sich kumulativ erfassten, zum Beispiel für ein ganzes Jahr. Eine Nachbearbeitung ist leicht möglich und auch ein Export nach Excel. Damit bietet sich das Programm als Analyse und Archivierungstool für die mit der BMAS-App „einfach erfasst“ gesammelten Daten an.

Das Programm kann von der Webseite des Heise-Zeitschriftenverlags (c’t) oder von der Microsoft-Projektseite (Codeproject) heruntergeladen werden und kommt ohne Installation aus.

Zeiterfassungssoftware – einfach, intelligent, open-source

Die Erfassung von Arbeitszeiten ist ein Thema, mit dem praktisch jeder in Berührung kommt, sei es um eigene Arbeitszeit zu erfassen oder um zum Beispiel eine Haushaltshilfe zu entlohnen. Weil ich kein einfach zu bedienendes Programm gefunden habe, das meinen Vorstellungen entspricht, habe ich selbst eines geschrieben.

Arbeitsstunden innerhalb einer Woche, Überstunden in einem Monat und andere Zeitspannen lassen sich mit diesem Programm mühelos zusammenrechnen – sogar für mehrere Personen.

Die Software funktioniert wie eine für die Zeiterfassung optimierte Tabellenkalkulation. Sie ist auf maximale Bedienungsfreundlichkeit getrimmt. Zum Beispiel können Daten verkürzt eingegeben oder durch Drücken der Plus- bzw. Minustaste verändert werden.

Die Tabelle kann gespeichert werden. Durch Anlegen einer entsprechenden Verknüpfung ist es auch möglich, das Programm mit gespeicherten Werten zu starten und diese fortzuschreiben. Dazu kann aus dem Programm heraus eine Desktopverknüpfung angelegt werden.

Das Programm kann für die Aufzeichnungspflicht nach dem Mindestlohn-Gesetz (MiLoG) verwendet werden. Das Gesetzt verlangt für geringfügig Beschäftigte (Ausnahme: Minijobber im privaten Bereich), dass Beginn und Ende sowie Dauer der Arbeitszeit erfasst werden.

Sie können die Open-Source-Software von Microsofts Hosting-Website für quelloffene Programme herunterladen: http://timetool.codeplex.com.

Das Programm setzt das Microsoft .NET Framework ≥ 2.0 voraus, das standardmäßig auf jedem Windows-PC vorhanden ist.

Um das Programm auszuprobieren, ist keine Installation erforderlich. Kopieren Sie das Programm einfach in irgendeinen Ordner (zum Beispiel C:\Tools).

Damit Sie neu angelegten Dateien wiederfinden und weiter bearbeiten können, fragt das Programm beim ersten Speichern, ob es eine Desktop-Verknüpfung anlegen soll.

Get last active window resp. all windows in the Alt+Tab list

The Windows API does not provide a simple function to create a list of all top-level windows according to the Alt-Tab list. The EnumWindows function provides many more windows, as most programs have multiple windows. But at most one of them belongs in the Alt-Tab list. To find the right one, you have to go down the owner chain for each window until you find the root owner. If the tested window equals the LastActivePopup it additionally must meet certain criteria to be included in the Alt-Tab list. Thus you can create a list of window handles appearing in the Alt-Tab list and sorted by Z-order.

The following code demonstrates the procedure for C-Sharp. In this example the loop breaks as soon as the last active window is found. exclHwnd may be the handle of the form (this.Handle = ActiveHwnd) that uses the code.

private static ArrayList windowHandles = new ArrayList();
 
public static IntPtr GetLastWinHandle(IntPtr exclHwnd)
{
    IntPtr indexHwnd = IntPtr.Zero;
    IntPtr ownerHwnd = IntPtr.Zero;
    IntPtr foundHwnd = IntPtr.Zero;
    windowHandles.Clear();
    EnumWindows(new EnumWindowsCallback(EnumCallback), 0);
    foreach (int i in windowHandles)
    {
        indexHwnd = new IntPtr(i);
        if (IsWindowVisible(indexHwnd) && indexHwnd != exclHwnd)
        {
            ownerHwnd = indexHwnd;
            do
            {
                ownerHwnd = GetWindow(ownerHwnd, GW_OWNER);
            } while (!IntPtr.Zero.Equals(GetWindow(ownerHwnd, GW_OWNER)));
            ownerHwnd = ownerHwnd != IntPtr.Zero ? ownerHwnd : indexHwnd;
            if (GetLastActivePopup(ownerHwnd) == indexHwnd)
            {
                int es = GetWindowLongPtr(indexHwnd, GWL_EXSTYLE);
 if ((!(((es & Win32andMore.WS_EX_TOOLWINDOW) == Win32andMore.WS_EX_TOOLWINDOW) && ((es & Win32andMore.WS_EX_APPWINDOW) != Win32andMore.WS_EX_APPWINDOW))) && !IsInvisibleWin10BackgroundAppWindow(indexHwnd))
                {
                    foundHwnd = indexHwnd;
                    break;
                }
            }
        }
    }
    return foundHwnd;
}
 
private static bool EnumCallback(int hWnd, int lParam)
{
    windowHandles.Add(hWnd);
    return true;
}
 
private bool IsInvisibleWin10BackgroundAppWindow(IntPtr hWindow)
{
    int cloakedVal;
    int hr = Win32andMore.DwmGetWindowAttribute(hWindow, Win32andMore.DWMWA_CLOAKED, out cloakedVal, sizeof(int));
    if (hr != 0) // returns S_OK (which is zero) on success. Otherwise, it returns an HRESULT error code
    {
         cloakedVal = 0;
    }
    return cloakedVal != 0 ? true : false;
}

Downloads

This demo application shows all window titles in a listview and allows to toggle between the last two windows by tapping the Right Windows Key. Read the „WinCycle.Readme.txt“ if you want to use a different key.

License

This article, along with any associated source code and files, is licensed under the BSD License.

MEDISTAR und das Ende des Supports für Windows XP

Wenn auf einem Rechner XP läuft, wird wahrscheinlich auch Windows 7 auf ihm laufen. Außerdem besteht nicht unbedingt die Notwendigkeit in der Praxis Windows XP aufzugeben – trotz des Auslaufens des Microsoft-Supports (April 2014). Wenn die Rechner nicht ans Internet angeschlossen sind und auch sonst niemand irgendetwas neu installiert, werden ja Sicherheits-Updates nicht unbedingt benötigt.
Ganz anders sieht die Sache bei einer Software-Firma wie MEDISTAR aus. Dort können aus hygienischen Gründen keine veralteten Rechner toleriert werden – damit würde man die Kunden gefährden. Logischerweise kann die Firma dann aber auch keine Garantie mehr dafür abgeben, dass ihr Softwareprodukt auf Windows XP läuft, denn sie kann es selbst nicht mehr testen.
Als Anwender braucht man aber keine Angst zu haben, dass das Praxisprogramm in naher Zukunft nicht mehr unter XP laufen würde. Das eigentliche Problem ist nämlich absolut gegensätzlich. Der MEDISTAR-Unterbau, das QT-Framework in der Version 3 hat schon längst das Greisenalter erreicht. Daher besteht vielmehr die Gefahr, dass die Software irgendwann nicht mehr mit neueren Betriebssystemen zusammen arbeitet. Natürlich wird MEDISTAR irgendwann auf QT 4 upgraden. Die aktuelle Version ist aber 5.1. Ein direktes Upgrade auf Version 5 ist aber aus technischen Gründen nicht möglich. Und selbst QT 5 verträgt sich meines Wissens mit XP.
Kurzum: man kann sich entspannt zurück lehnen. MEDISTAR wird noch in etlichen Jahren unter XP laufen. Aber: Garantien dafür gibt es nicht – siehe oben. Wer bereit ist das Risiko einzugehen, macht aus meiner Sicht für die nächsten zwei bis drei Jahre keinen Fehler.
PS: Wenn dann doch ein Upgrade ansteht, sollte man wegen des Support-Zeitraumes das neueste Windows-Betriebssystem wählen. Im Moment ist das nicht Windows 7, sondern Windows 8.1. Aber da geht es schon wieder los: MEDISTAR übernimmt im Moment keine Garantie dafür, dass die Praxissoftware unter 8.1 läuft, weil sie es noch nicht ausreichend getestet haben. Gibt es ja auch erst einer Woche. Also Mut zum Risiko!

eGK-Kartenterminal in MEDISTAR konfigurieren

Ab Oktober soll sie kommen, die neue elektronische Gesundheitskarte. Hier beschreibe ich die Installation eines neuen Lesegerätes (ORGA 6041).

  • Treiber von CD installieren
  • Lesegerät anstecken (USB-A, Stromversorgung)
  • Angezeigten Port merken (z.B. COM4)
  • In MEDISTAR Befehl «IDN», Schnittstelle: CRO eintragen
  • In MEDISTAR Befehl «IMKT», Port eintragen (z.B. 4)
  • Die MEDISTAR-Konfiguration muss für jeden Task erfolgen!

Festlegung Dateinamen


Kartenterminal konfigurieren