1.Filter in der Gesamtliste der Projekte – Standard-Filter
Auf der Gesamtliste ist im Standard bereits ein Filter geladen, der die Projektkopien ausblendet, die sich ergeben, wenn ein Projekt aufgrund von Leistungsänderungen mehrfach importiert wird.
Die Filter in der Gesamtliste lassen sich aus dem Kontext-Menü aufrufen:
Rechte Maustaste > Filter > setzen
Es wird dann der Filter-Dialog angezeigt.
Die verfügbaren Filter und deren Bearbeitung findet sich auf dem Register Verwaltung des Dialoges:
Der aktuell verwendete Filter wird oberhalb der Bearbeitungsschaltflächen angezeigt. Hier
Das ist auch der ausgelieferte Standardfilter.
Auf den vier Registern Element-Bedingung, Klassen, Ausdruck, Makro kann der Filter definiert bzw. bearbeitet werden.
Unser Standard-Filter ist auf dem Register Element-Bedingung definiert:
Übersetzt heißt das hier „Das Element „Projektkopie“ muss den Inhalt „Nein (Aktuell)“ haben“. Der Feldtyp wird als „Bool“ angezeigt, kann also nur die Werte „Ja“ und „Nein“ annehmen. Sobald man ein „N“ in das Feld „Inhalt“ eingibt, wird der dazu gehörige Inhaltswert angezeigt.
Wir wollen jetzt einen weiteren Filter anlegen, der zusätzlich zur Projektkopie den Status P01 (den Projekthauptstatus verwendet, um z.B. stornierte Projekte ausfiltern.
2.Filter in der Gesamtliste der Projekte – weitere-Filter
Ausgangspunkt für die Erstellung weiterer Filter ist das Register Verwalten des Filter-Dialoges:
Wir werden den aktivierten Filter xVIframeNurAktuelle kopieren und ergänzen. Dazu verwenden wir die Funktion Global speichern unter….
Die Documentation zu diesem Dialog findet sich in der DOCUframe-Hilfe hier:
DOCUframe 5.9 R4 - Dialog "Filter oder Abfrage - Verwalten" (gsd-software.com)
DOCUframe 6.0 - Dialog "Filter oder Abfrage - Verwalten" (gsd-software.com)
DOCUframe 6.1 - Dialog "Filter oder Abfrage - Verwalten" (gsd-software.com)
Wählt man die Funktion Global speichern unter…, so bekommt man einen klassischen Dialog zum Speichern unter einem anderen Namen:
Hinweis:
Am Anfang des Namens ist ein „_“ (Unterstrich) erforderlich. Das ist die Kennung für Endanwender-Filter!
Mit dem Speichern ist der Filter geladen und kann bearbeitet werden.
Die Element-Bedingung aus dem kopierten Filter ist natürlich übernommen. Da die Elementbedingung immer nur ein Element zur Filterung verwendet und wir für unseren Filter auf mehrere Filter-Schlüssel zurückgreifen wollen, verwenden wir die Registerseite Ausdruck, auf der man einen Filterausdruck zusammenstellen kann.
Unten im Dialog findet sich nach Beendigung der Eingabe auch ein Makrocode:
Dieser Makrocode kann für eine Filterung über programmierten Makrocode verwendet werden, wenn die Filterung komplexer ist und sich nicht direkt über Felder des Projektes ermitteln lässt. Für Makro-Codes gibt es dann das Register Makro. Dies setzt aber Kenntnisse im Bereich der Makro-Programmierung in DOCUframe voraus.
Mit der Schaltfläche OK kann der Filter dann gespeichert werden. Der Dialog wird dann geschlossen und der Filter angewendet.
3.Filter in der Gesamtliste der Projekte –Filter über Makro-Code
Ein Filter kann auch direkt über Makro-Code erstellt werden.
Hier ein Beispielcode:
BOOL Filter( Projekt Object )
BOOL Ret = ( Object.xVIframeP01 == "U" ||
Object.xVIframeP01 == "P" ||
Object.xVIframeP01 == "B" ||
Object.xVIframeP01 == "I" ||
Object.xVIframeP01 == "N" ) &&
Object.xVIframeProjektkopie == FALSE;
RETURN( Ret );
Zusammen mit einem Klassenfilter auf die Klasse Projekt liefert dieser Filter alle aktiven Projekte (also nicht die Projektkopien) mit den Status U/P/B/I/N.
Dieser Makrocode wird mit dem Filter xVIframeNurAktive ausgeliefert und kann entsprechend firmenspezifisch angepasst verwendet werden.