Die globale Vertec Suche - so ist die Abfrage aufgebaut.
Produktlinie
Standard
|Expert
Betriebsart
CLOUD ABO
|ON-PREMISES
Module
Leistung & CRM
Budget & Teilprojekt
Fremdkosten
Ressourcenplanung
Business Intelligence
In der Desktop App und der Cloud App kann der Suchbegriff direkt in die Adresszeile eingegeben werden:
Eine weitere Möglichkeit in Desktop App, Cloud App und Web App ist die Navigationsansicht globale Suche :
Die Suche basiert auf einem Vertec SQL-Ordner. In diesem Ordner wird die Suche formuliert. In den Systemeinstellungen > Allgemein ist bereits ein Suchordner vordefiniert. Er heisst Vertec Suche
und wird automatisch unter Öffentliche Ordner angelegt:
Damit die Suche funktioniert, muss der Rootordner mit dem Vertec Such-Ordner für den Benutzer sichtbar sein. Möchten Sie den Ordner an einem anderen Ort haben, z.B. weil die Benutzer keinen Zugriff auf die öffentlichen Ordner haben, können Sie ihn in einen anderen / neuen Rootordner verschieben, den alle Benutzer sehen, und den Pfad in den Systemeinstellungen entsprechend anpassen.
Dieser Suchordner sucht standardmässig in Adresseintrag.alias
und Projekt.code
, beschrieb
und betreffend
.
Da die Vertec Suche Objekte von verschiedenen Klassen liefern soll, muss als Klasse für den SQL-Ordner die gemeinsame Basisklasse aller möglichen Ergebnisobjekte verwendet werden. Die oberste Klasse und damit die Basisklasse von allen Vertec Objekten ist BusinessClassesRoot, deshalb wird als Klasse für die Vertec Suche BusinessClassesRoot angegeben.
BusinessClassesRoot jedoch hat keine Attribute definiert und erlaubt als Datenfelder via SQL nur BOLD_ID und BOLD_TYPE. Die eigentliche SQL-Abfrage muss deshalb in Unterabfragen formuliert werden, welche über den SQL-Operatoren in via Bold_ID mit der Tabelle BusinessClassesRoot verknüpft sind.
Die Syntax ist wie folgt:
((Type-Filter) and (bold_id in (select bold_id from Tabelle where Eigenschaften-Filter))
Die Struktur der SQL sieht immer gleich aus und kann beliebig erweitert werden mit dem Befehl "or".
Standardsuche VertecDie Standardsuche, wie sie von Vertec mitgeliefert wird, sieht wie folgt aus: ((bold_type in (102,84,85,345,88) and exists(select 1 from adresseintrag adr where adr.bold_id=businessclassesroot.bold_id and adr.alias like '%\1%'))) or ((bold_type=18) and exists(select 1 from projekt proj where proj.bold_id=businessclassesroot.bold_id and (proj.code like '%\1%' or proj.beschrieb like '%\1%' or proj.betreffend like '%\1%'))) Durchsucht das Feld Alias von allen Adressen sowie die Felder Code, Beschrieb und Betreffend von Projekten. |
Standard-Suche erweitert um den Ort der AdressenSucht zusätzlich im Feld Ort (Standardort) von Adressen: ((bold_type in (102,84,85,345,88) and exists(select 1 from adresseintrag adr where adr.bold_id=businessclassesroot.bold_id and (adr.alias like '%\1%' or adr.standardort like '%\1%')))) or ((bold_type=18) and exists(select 1 from projekt proj where proj.bold_id=businessclassesroot.bold_id and (proj.code like '%\1%' or proj.beschrieb like '%\1%' or proj.betreffend like '%\1%'))) |
Standard-Suche erweitert mit Aktivitäten (bold_type 304)Sucht zusätzlich im Titel von Aktivitäten. ((bold_type in (102,84,85,345,88)) and (bold_id in (select bold_id from adresseintrag adr where adr.alias like '%\1%'))) or ((bold_type=18) and (bold_id in (select bold_id from projekt proj where proj.code like '%\1%' or proj.beschrieb like '%\1%' or proj.betreffend like '%\1%'))) or ((bold_type in (304)) and (bold_id in (select bold_id from Aktivitaet where titel like '%\1%'))) |
Standardsuche erweitert mit Phasen (bold_type 176)Sucht zusätzlich in Code und Beschreibung von Projektphasen. ((bold_type in (102,84,85,345,88)) and (bold_id in (select bold_id from adresseintrag adr where adr.alias like '%\1%'))) or ((bold_type=18) and (bold_id in (select bold_id from projekt proj where proj.code like '%\1%' or proj.beschrieb like '%\1%' or proj.betreffend like '%\1%'))) or ((bold_type=176) and (bold_id in (select bold_id from projektphase phase where phase.code like '%\1%' or phase.beschreibung like '%\1%'))) |
Standardsuche erweitert um die Suche auf der Zusatzklasse0 (bold_type 223)Sucht zusätzlich nach dem zusatzfeld('url') auf Zusatzklasse0. ((bold_type in (102,84,85,345,88,223) and bold_id in (select bold_id from adresseintrag adr where adr.alias like '%\1%'))) or ((bold_type=18) and bold_id in (select bold_id from projekt proj where proj.code like '%\1%' or proj.beschrieb like '%\1%' or proj.betreffend like '%\1%')) or (bold_type=223) and bold_id in (SELECT userEintrag FROM Zusatzfeld WHERE MetaZusatzfeld in (SELECT bold_Id from Zusatzfeldklasse WHERE fieldname="url") AND Wert like '%\1%') |
Suche mit FilterDie Suche wird nach bold_type gefiltert, damit sie schneller ist. Da gewisse (Unter-)Klassen in der Datenbank zusammen in einer Tabelle zusammengefasst sind, kann in solchen Fällen mit der bold_type auch gefiltert werden. Firmen, Kontakte, Personen, EinfacheAdressen und Paare zum Beispiel befinden sich alle in der Tabelle Adresseintrag, haben jedoch je eine unterschiedliche bold_type. Als Beispiel wird die obige Adress-Abfrage auf Firmen und Kontakte (bold_type 84 und 85) eingeschränkt: ((bold_type in (84,85)) and bold_id in (select bold_id from adresseintrag where alias like '%\1%'))) bzw. in der Standard-Suche: ((bold_type in (84,85)) and (bold_id in (select bold_id from adresseintrag adr where adr.alias like '%\1%'))) or ((bold_type=18) and (bold_id in (select bold_id from projekt proj where proj.code like '%\1%' or proj.beschrieb like '%\1%' or proj.betreffend like '%\1%'))) |
Die Bold_Types sind nur in der Datenbank zu finden. Die entsprechende Tabelle heisst "bold_type", man kann also auf der Datenbank eine Abfrage machen mit "select * from bold_type".
Hier eine Auflistung der gängigsten Tabellen, Felder und bold_type:
Klassenname | bold_type | Tabelle | Felder |
---|---|---|---|
Firma | 84 | Adresseintrag | alias, name, zusatz, bemerkung |
Kontakt | 85 | " | " |
Person | 88 | " | " |
Paar | 345 | " | " |
Aktivitaet | 304 | Aktivitaet | titel, bemerkung |
Projekt | 18 | Projekt | code, beschrieb, betreffend, bemerkung |
Projektphase | 176 | Projektphase | code, beschreibung, bemerkung |
Projektbearbeiter | 33 | Projektbearbeiter | name, kuerzel, bemerkung |
OffeneLeistung | 67 | OffeneLeistung | text, bemerkung |
VerrechneteLeistung | 70 | VerrechneteLeistung | text, bemerkung |
OffeneSpesen | 77 | OffeneSpesen | text, bemerkung |
VerrechneteSpesen | 80 | VerrechneteSpesen | text, bemerkung |
OffeneAuslage | 282 | OffeneAuslage | text, bemerkung |
VerrechneteAuslage | 283 | VerrechneteAuslage | text, bemerkung |
Weitere Tabellen sind direkt in der Datenbank zu finden.