Damit ein neues QuickForms-Projekt genutzt werden kann, müssen die Formularstruktur, die Projektkonfiguration und die Datenbankanbindung passend eingerichtet werden. Für Benutzer, die noch nie mit QuickForms gearbeitet haben, ist wichtig zu wissen, dass ein Teil dieser Arbeit bereits durch das Setup unterstützt wird.
Empfohlene Vorgehensweise für Einsteiger
Für Benutzer, die erstmals ein Projekt anlegen, empfiehlt sich folgende Reihenfolge:
| Aktion | Ausführung |
|---|---|
| Vorbereiten | |
| 1. APF-Datei(en) erstellen oder übernehmen | MCDMS>>Designer |
| 2. APF-Datei(en) für SQL-Server konfigurieren | Akte>>Aktendefinition |
| 3. Formular in der Akte starten | Beim Erststart wird eine neue SQL-Tabelle erzeugt |
| 4. MCHOME für Projekt konfigurieren | Editor>>\HCFG\ |
| Ausführen | |
| 5. Projekt starten und APF auswählen | MCHOME>>QuickForms |
| 5.1 Automatisch erzeugte Konfiguration prüfen | Editor |
| 5.2 Titel, Matchcode und Formularpfad kontrollieren | Editor |
| 5.3 Stammdatenquelle prüfen/einrichten | Editor |
| 5.4 SQL-Zusatztabelle anbinden | Editor |
| 5.5 Feldlisten und Sichtbarkeit definieren | Editor |
| 5.6 Suchfelder und Selektionen ergänzen | Editor |
| 5.7 optionale Scripts einbinden | Editor |
| 5.8 Projekt starten und mit Testdaten prüfen | QuickForms |
Wird im Setup eine APF-Datei ausgewählt, erzeugt das System die zugehörige Projektkonfiguration automatisch. Dadurch muss die projekt.cfg nicht immer komplett manuell von Grund auf erstellt werden. In der Praxis wird die automatisch erzeugte Konfiguration anschließend nur noch geprüft und an die gewünschten Anforderungen angepasst.
Der typische Ablauf sieht wie folgt aus.
Projekt vorbereiten
Zunächst wird festgelegt, welches Formular abgebildet werden soll. Dabei sollte klar sein:
- welche Stammdaten als Basis dienen
- welche zusätzlichen Formularfelder erfasst werden sollen
- ob pro Stammdatensatz nur ein Eintrag oder mehrere Einträge möglich sein sollen
- ob zusätzliche Scripte für Neu, Speichern oder Löschen benötigt werden
Ein neues Projekt besteht in der Regel mindestens aus:
- einer APF-Datei für die Felddefinition
- einem Eintrag in der Projektkonfiguration
- optional einer SQL-Zusatztabelle
- optional zusätzlichen Scripts
APF-Datei erstellen oder bereitstellen
Im ersten Schritt wird die APF-Datei erstellt oder aus einem bestehenden Projekt übernommen. In dieser Datei wird definiert, welche Felder im Formular vorhanden sind und wie sie dargestellt werden.
Die APF-Datei enthält insbesondere:
- die Formularfelder
- Feldtypen
- Pflichtfeldkennzeichen
- maximale Feldlängen
- Auswahlwerte für Comboboxen
- Farben
- Aliasnamen
- ReadOnly-Eigenschaften
Die APF-Dateien bilden damit die fachliche Grundlage des Formularprojekts.
Formular für die Verwendung vorbereiten
Konfigurieren Sie die Formulare so, das auf die entsprechenden SQL-Tabellen verwiesen werden kann, wie z.B.:

Konfigurieren Sie in der Akte die entsprechenden Berechtigungen Akte>>Benutzer
Starten Sie die Formulare aus der Akte. Bei Neustart eines Formulars werden die Tabellen automatisch im SQL-Server angelegt. Dieser Schritt ist unbedingt notwendig, da MCDMS zusätzliche Felder in der Tabelle erzeugt, die für die weitere Aktenverwendung notwendig sind.
Grundeinstellungen
Konfigurieren Sie das Projekt für die Ausführung in MCHOME. In unserem Beispiel verwenden wir eine eigene INI-Datei. Sie können den Teil [Anschreiben] auch in einer bestehenden Konfigurationsdatei verwenden:
[MAIN]
TITLE=Beispiel QuickForms
BUTTONBASE=\BACKBUTTONS\SHADDOWRECT-GLASS.PNG
CHANGECOLOR=
SCALEFACTOR=1,0
OFFSETTOP=0
OFFSETLEFT=0
[Anschreiben]
ACTIVATE=True
CtrlTyp=BUTTON
AdminOnly=False
ONLY_USERS=
TooltipText=MC-DMS Anschreiben
Internal=True
Execute=MCDMS-QuickForms.exe
ExecParam={APPPATH}\FORMULAR\BSP_PROJEKT
ProcessName=mcstammdat
ClosebyTerminate=True
OnlyOne=True
AssigndMatchcode=
Image=STANDARD\VerwaltungMCDMS.png
Projekt starten und im Setup anlegen
Anschließend wird das Projekt im Setup eingerichtet. Dabei wird die gewünschte APF-Datei(en) ausgewählt.


Wichtig ist: Bei der Auswahl der APF-Datei wird die zugehörige Konfiguration automatisch erzeugt. Das bedeutet, dass das System bereits einen Grundaufbau für das Projekt anlegt. Dazu gehören typischerweise:
- der Projektname
- der Titel
- der Verweis auf die APF-Datei
- grundlegende Einstellungen für das Formular
Dadurch entfällt für neue Benutzer ein großer Teil der manuellen Ersteinrichtung.
Nach diesem Schritt sollte die erzeugte Konfiguration geöffnet und geprüft werden.
In dem Projektverzeichnis \BSP_PROJEKT\ befinden sich jetzt z. B.:

Projektdefinition prüfen und ergänzen
Nach der automatischen Erstellung wird die Projektdefinition in der projekt.cfg überprüft und angepasst.
Wichtige Einstellungen im Abschnitt [SETTINGS] sind:
MATCHCODE
eindeutiger interner Name des ProjektsTITEL
Bezeichnung, die in der Oberfläche angezeigt wirdENABLED
aktiviert oder deaktiviert das ProjektLISTVIEW
steuert die ListenansichtMEHRMALIGERSTELLBAR
legt fest, ob mehrere Formulareinträge pro Stammdatensatz möglich sindPRIMARYID
fachlicher Schlüssel der Stammdaten, meistPatientIDFORMULAR
Pfad zur APF-Datei
Optional können hier auch zusätzliche Funktionen aktiviert werden, etwa:
RUN_NEWRUN_SAVERUN_DELETEAKTECHECKMATCHCODEMENU
Wenn ein Projekt nur einen Formulareintrag pro Patient haben soll, wird MEHRMALIGERSTELLBAR entsprechend deaktiviert. Wenn Verlaufs- oder wiederkehrende Dokumentationen erfasst werden sollen, wird diese Option aktiviert.
Stammdatenquelle einrichten
Im nächsten Schritt wird die Datenquelle für die Stammdaten konfiguriert. Diese Stammdaten bilden die Basisliste, auf der das Formular arbeitet.
Dafür werden im Abschnitt [DATABASE] unter anderem folgende Angaben benötigt:
DATABASE_TYPDATABASE_CONNECTIONSTRINGStandardDatabaseDATABASE_StandardOrderDATABASE_EDIT
Hier wird festgelegt, ob die Stammdaten aus Access, SQL Server oder einer anderen unterstützten Quelle geladen werden.
In vielen Projekten werden die Stammdaten nur angezeigt und nicht bearbeitet. In diesem Fall bleibt DATABASE_EDIT=FALSE.
SQL-Zusatztabelle konfigurieren
Wenn das Formular zusätzliche Daten speichern soll, wird eine konnektierte Formulardatenbank eingerichtet.
Dafür sind insbesondere diese Einstellungen relevant:
DB_CONNECT=TRUEDB_CONNECT_EDIT=TRUEoderFALSEDB_CONNECT_TYPDB_CONNECT_SOURCEDB_CONNECT_PRIMARYIDDB_CONNECT_FIELDS
Hier ist die Unterscheidung der beiden Schlüssel besonders wichtig:
PRIMARYIDist der fachliche Schlüssel des Stammdatensatzes, zum BeispielPatientIDDB_CONNECT_PRIMARYIDist der technische Primärschlüssel des Formulardatensatzes, zum BeispielFRMID
Diese beiden Werte dürfen nicht verwechselt werden.
DB_CONNECT_SOURCE verweist auf die Tabelle oder Datenquelle, in der die Formulardaten gespeichert werden.
DB_CONNECT_FIELDS enthält alle Felder, die aus der Formulartabelle geladen und gespeichert werden sollen. Dazu gehören in der Regel:
- der technische Primärschlüssel
- der fachliche Verknüpfungsschlüssel
- die Formularfelder
- optionale technische Felder wie
ErstelltAmoderGeändertAm
Sichtbarkeit und Verhalten der Felder festlegen
Nachdem die Felder grundsätzlich angebunden sind, können weitere Einstellungen ergänzt werden.
Wichtige Optionen sind:
DB_CONNECT_HIDDENFIELDS
Felder, die intern vorhanden sind, aber nicht angezeigt werden sollenDB_CONNECT_NOCOPYFIELDS
Felder, die bei neuen Einträgen oder Kopiervorgängen nicht übernommen werden sollenDB_CONNECT_SORTFIELDS
Felder, die in der Oberfläche sortierbar sein sollenDB_CONNECT_SELECT
Feld, das bei mehrfach vorhandenen Datensätzen als sprechende Bezeichnung verwendet wird
Diese Einstellungen sind besonders dann wichtig, wenn technische Felder wie PATIENTID, FRMID oder interne Statusfelder nicht sichtbar sein sollen.
Formularfelder definieren
Im Abschnitt [DB_FORMULAR_FIELDS] werden die einzelnen Felder des Formulars fachlich beschrieben.
Jedes Feld erhält dort seine Eigenschaften, beispielsweise:
- Feldtyp
- Feldlänge
- Pflichtkennzeichen
- Format
- Farben
- Aliasname
- ReadOnly-Status
Ein typischer Eintrag kann zum Beispiel so aussehen:
PSA=1;9;N;;Black;#98dede;PSA Wert;0
Ein Auswahlfeld kann beispielsweise so definiert werden:
MELDEANLASS=5;255;J;statusaenderung,statusmeldung;Black;White;Anlass;1
Damit ist direkt festgelegt:
- dass es sich um ein Auswahlfeld handelt
- welche Werte erlaubt sind
- dass das Feld ein Pflichtfeld ist
- wie es angezeigt wird
- ob es editierbar ist
Suchabfragen definieren
Im Abschnitt [SELECTIONS] können vorbereitete Abfragen hinterlegt werden. Diese dienen dazu, unterschiedliche Datenbestände oder Filter direkt auswählbar zu machen.
Beispiele sind:
- alle aktuellen Patienten
- Patienten der letzten 90 Tage
- nur bestimmte Fachabteilungen
- Test- oder Musterabfragen
Das erleichtert den Einstieg für Benutzer, weil nicht jedes Mal eine neue Abfrage erstellt werden muss.
Suchfelder konfigurieren
Im Abschnitt [SUCHFELDER] wird festgelegt, nach welchen Feldern innerhalb der Daten gesucht werden kann.
Typischerweise sind das zum Beispiel:
- Name
- Vorname
- Fallnummer
- Geburtsdatum
- PatientID
Damit wird die Standardsuche für den Benutzer definiert.
Optionale Scripts einbinden
Wenn das Projekt zusätzliche Abläufe benötigt, können Scripts eingebunden werden.
Dazu gehören insbesondere:
RUN_NEWfür die Vorbelegung oder NeuerstellungRUN_SAVEfür Aktionen nach dem SpeichernRUN_DELETEfür Folgeaktionen nach dem Löschen- Menüeinträge im Abschnitt
[RUN]
Gerade bei RUN_NEW ist wichtig, dass das Script die Variable SCRIPT.RESULT zurückliefert. Nur wenn sie auf TRUE gesetzt ist, werden die zurückgegebenen Werte in die aktuelle Zeile übernommen.
Scripts können verwendet werden, um:
- Felder automatisch vorzubelegen
- Folgeprozesse zu starten
- Exporte zu erzeugen
- Register- oder Schnittstellenprozesse anzustoßen
Projekt erstmals starten

Nach der Konfiguration wird das Projekt zum ersten Mal gestartet.
Dabei sollte Schritt für Schritt geprüft werden:
- wird das Projekt in der Oberfläche angezeigt
- wird die richtige APF-Datei geladen
- werden die Stammdaten korrekt angezeigt
- werden die Formularfelder korrekt eingeblendet
- sind Pflichtfelder, Farben und Aliasnamen wie gewünscht gesetzt
- werden versteckte Felder tatsächlich nicht angezeigt
- funktioniert die Suche
- funktionieren vorbereitete Selektionen
Neuen Datensatz testen F9
Im nächsten Schritt sollte ein neuer Formulareintrag testweise angelegt werden.
In unserem Beispiel sind die RUN-Scripte aktiviert
RUN_NEW={APPPATH}\FORMULAR\BSP_PROJEKT\DEMO_NEW.MCFSCR
RUN_SAVE={APPPATH}\FORMULAR\BSP_PROJEKT\DEMO_SAVE.MCFSCR
RUN_DELETE={APPPATH}\FORMULAR\BSP_PROJEKT\DEMO_DELETE.MCFSCR
Dabei ist zu prüfen:
- wird ein neuer Datensatz korrekt erzeugt
- wird bei Bedarf ein
RUN_NEW-Script aufgerufen - werden Vorbelegungen übernommen
- funktioniert die Pflichtfeldprüfung
- funktioniert die Feldlängenprüfung
- werden die Daten in die richtige SQL-Zusatztabelle gespeichert
- wird der technische Schlüssel, zum Beispiel
FRMID, korrekt erzeugt
Wichtige Hinweise und Angaben zu den Parametern finden Sie über der jeweiligen Sektion, z.B.:
//Format:FeldTyp;FeldLänge;FeldPflicht;FeldFormat kann z. B. sein Datum: dd.mm.yyyy und bei Combobox:1,2,3,4,5;Vordergrund;Hintergrund;Aliasname
//Mögliche Werte für Farben: '#000000' oder 'black' siehe auch 'https://www.w3schools.com/colors/colors_picker.asp'
//Die Felder ERSTELLTAM und DATE werden von MCDMS automatisch bei Datenbankerstellung generiert und müssen hier vorhanden sein!
Bestehenden Datensatz ändern
Anschließend sollte ein bestehender Datensatz testweise geändert werden.
Dabei ist zu prüfen:
- werden Änderungen korrekt erkannt
- werden nur Formularfelder bearbeitet
- funktioniert das Speichern ohne Fehler
- werden Zeitstempel wie
GeändertAmkorrekt gesetzt - bleiben Stammdaten unverändert
Mehrfacherstellbare Projekte testen
Wenn MEHRMALIGERSTELLBAR=TRUE gesetzt ist, sollte zusätzlich geprüft werden:
- können mehrere Formulareinträge pro Stammdatensatz angelegt werden
- erscheint die Funktion zur Auswahl vorhandener Einträge
- wird die definierte Bezeichnung aus
DB_CONNECT_SELECTkorrekt angezeigt - funktionieren Sortierung und Auswahl der vorhandenen Datensätze
Benutzerspezifische Einstellungen prüfen
Zum Abschluss sollte geprüft werden, ob die benutzerspezifischen Einstellungen korrekt übernommen werden. Dazu gehören je nach Projekt und Programmstand beispielsweise:
- Fensterposition
- Spaltenbreiten
- letzte Auswahl
- Sortierung
- Suchzustände
Diese Werte werden typischerweise in der user.ini gespeichert und beeinflussen die persönliche Arbeitsumgebung des jeweiligen Benutzers, nicht jedoch die eigentliche Projektdefinition.
Typische Fehlerquellen bei einem neuen Projekt
Gerade bei der ersten Einrichtung treten häufig dieselben Fehler auf. Besonders zu beachten sind:
PRIMARYIDundDB_CONNECT_PRIMARYIDwurden verwechselt- Feldnamen in APF und SQL-Tabelle stimmen nicht exakt überein
- Pflichtfelder wurden definiert, aber beim Test nicht befüllt
- Feldlängen in der Konfiguration sind zu klein gewählt
- technische Felder wie
PATIENTIDoderFRMIDfehlen in der Feldliste DB_CONNECT_FIELDSenthält nicht alle benötigten Felder- ein Script liefert kein
SCRIPT.RESULT=TRUE - die SQL-Zusatztabelle ist korrekt angebunden, aber
DB_CONNECT=TRUEfehlt - das Projekt wurde im Setup angelegt, die automatisch erzeugte Konfiguration wurde aber nicht vollständig geprüft
