Verschiedene ProFramework-Widgets basieren auf der ProNovia Custom View Engine. Die Custom View Engine entkoppelt die Darstellung (das Layout und teilweise den Inhalt) eines Widgets und lagert die entsprechende Definition in ein sogenanntes Formular (Custom View) aus.
Das Formular definiert entsprechend, was in einem Widget angezeigt wird, und wie es angezeigt wird. Damit ist es möglich, den Inhalt und die Anordnung des Inhalts in einem Widget modifikationsfrei anzupassen.
Folgende Widgets unterstützen Formulare:
das Widget Dokumentdaten
die Widgets Materialdaten (Mandanten, Werks- und Vertriebsdaten)
das Widget Daten
Grundsätzlich wird zwischen zwei Arten von Formularen unterschieden:
Formulare für Baumdarstellungen (Widget Daten)
Maskenformulare (z.B. Widget Dokumentdaten oder Materialdaten)
Technisch gesehen ist ein Formular eine hierarchische Struktur aus gebundenen und/oder nicht gebundenen Elementen (Custom View Objects). Diese Struktur sowie die aktuell angezeigten Daten werden zur Laufzeit durch das System in die entsprechende Darstellung übersetzt. Gebundene Elemente sind Elemente, deren Eigenschaften automatisch vom System gefüllt werden. Nicht gebundene Elemente (in der Regel Container) sind Elemente, deren Eigenschaften statisch definiert sind.
Zu den gebundenen Eigenschaften zählen in der Regel:
Bei Bezeichnerfeldern: Sichtbarkeit
Bei Eingabefeldern: Sichtbarkeit, Editierbarkeit und Feldinhalt
Bei Textfeldern: Sichtbarkeit und Feldinhalt
Bei Ikonen: Sichtbarkeit, Ikone und Tooltip
Tabellen: Anzahl Zeilen, Editierbarkeit, verfügbare Funktionen
Ansicht der Formularstruktur im Formulareditor
Technisch bedingt unterstützt nicht jeder Formulartyp jeden Elementtyp oder jede Eigenschaft. So unterstützen Baumformulare nur Container (Knoten) sowie Bezeichner-, Ikonen- und Textfelder.
AFW Formulare sind Entwicklungsobjekte und können nur in Mandanten mit entsprechenden Einstellungen geändert werden und benötigen ggf. einen entsprechenden Transportauftrag für den Transport in Folgesysteme.
Gebundene und nicht gebundene Elemente
Gebundene Elemente besitzen eine definierte Semantik, welche über das Binding bereitgestellt wird. Das Binding definiert dabei den Datenanbieter (bspw Feeder MARA), eine Klassifizierung sowie den Inhalt, den das Element repräsentiert.
So definiert beispielsweise das Binding F@@@@MARA_MATERIAL_NUMBER_LBL den Bezeichner der Materialnummer während F@@@@MARA_MATERIAL_NUMBER die Materialnummer an sich definiert. Bei gebundenen Feldern werden relevante Daten wie z.B. Inhalt, Zustand (Sichtbarkeit, Änderbarkeit) automatisch vom System gefüllt, sofern diese nicht im Formular anderweitig angegeben wurden.
Die Eigenschaften von nicht gebundenen Elementen werden ausschliesslich im Formular bestimmt.