# QRPlatbaApp – Generátor QR plateb pro ordinaci MUDr. Buzalková Aplikace pro generování QR kódů plateb dle standardu **SPAYD / ČBA** přímo z prostředí Medicus 3. Ceník se načítá živě z databáze Medicusu, takže jakákoliv změna cen v Medicusu se okamžitě projeví. --- ## Funkce - Načítá ceník přímo z databáze Medicus (Firebird) – vždy aktuální ceny - Pacientské údaje (jméno, příjmení, rodné číslo) přijímá jako argumenty z tlačítka Medicusu - QR kód se zobrazí automaticky po otevření okna - QR kód se obnoví při každé změně položky nebo čísla účtu - Výběr ze dvou bankovních účtů (dropdown) - Tlačítko **Uložit QR kód** uloží PNG soubor do složky `QRPlatby/` - Variabilní symbol = rodné číslo pacienta - Zpráva příjemci = `Příjmení Jméno – Název položky` --- ## Spuštění z Medicusu Příkaz pro tlačítko v Medicusu: ``` "U:\PycharmProjects\FIO\.venv\Scripts\pythonw.exe" "U:\PycharmProjects\FIO\QRPlatba\QRPlatbaApp.py" "%JMENO%" "%PRIJMENI%" "%RODCISN%" ``` > `pythonw.exe` se používá místo `python.exe`, aby se nezobrazovalo černé konzolové okno. --- ## Struktura projektu ``` QRPlatba/ ├── QRPlatbaApp.py # Hlavní aplikace ├── README.md # Tato dokumentace └── QRPlatby/ # Výstupní složka pro uložené QR kódy (PNG) ``` --- ## Závislosti Nainstalovat přes pip do projektového venv: ```bash pip install customtkinter pillow qrcode fdb ``` | Balíček | Účel | |-----------------|-------------------------------------------| | `customtkinter` | Moderní GUI (tmavý/světlý režim) | | `pillow` | Práce s obrázky (zobrazení QR v okně) | | `qrcode` | Generování QR kódů | | `fdb` | Připojení k Firebird databázi (Medicus) | --- ## Databázové připojení Aplikace se připojuje k lokální Firebird databázi Medicusu: | Parametr | Hodnota | |-----------|------------------------------------------| | DSN | `localhost:c:\medicus 3\data\medicus.fdb`| | Uživatel | `SYSDBA` | | Charset | `win1250` | | View | `VLV_SEL` – ceník výkonů | Položky jsou seřazeny podle pole `KOD` (pořadové číslo v ceníku Medicusu). --- ## Formát QR kódu (SPAYD) QR kód odpovídá standardu **Short Payment Descriptor (SPAYD)** dle specifikace České bankovní asociace. Příklad vygenerovaného řetězce: ``` SPD*1.0*ACC:CZ1720100000002100046291*AM:600.00*CC:CZK*X-VS:486122443*MSG:Abohamda%20Horia%20%E2%80%93%20O%C4%8Dkov%C3%A1n%C3%AD%20ch%C5%99ipka%20(VAXIGRIP) ``` | Pole | Obsah | |---------|------------------------------------| | `ACC` | IBAN cílového účtu | | `AM` | Částka v Kč | | `CC` | Měna (vždy CZK) | | `X-VS` | Variabilní symbol = rodné číslo | | `MSG` | Příjmení Jméno – Název položky | --- ## Bankovní účty | Číslo účtu | IBAN | |------------------|----------------------------| | 2100046291/2010 | CZ1720100000002100046291 | | 2800046620/2010 | CZ7520100000002800046620 | --- ## Uložené QR kódy Soubory se ukládají do složky `QRPlatby/` ve formátu: ``` Příjmení_Jméno_YYYYMMDD_HHMMSS.png ``` Příklad: `Abohamda_Horia_20260325_143022.png` --- *© Ordinace MUDr. Buzalková | QR Platba dle ČBA v1.2*