Posts mit dem Label Clientfilter werden angezeigt. Alle Posts anzeigen
Posts mit dem Label Clientfilter werden angezeigt. Alle Posts anzeigen

Donnerstag, 20. Dezember 2018

Individuelle Zuweisung von Clientfiltern an Callagenten

Bisher gab es nur die Möglichkeit, Clientfilter immer für ein ganzes Projekt freizugeben. Das bedeutet, dass alle Callagenten, die in diesem Projekt arbeiten, auch alle die gleichen freigegeben Clientfilter zur Verfügung haben. Diese Einschränkung ist in der vorliegenden Version von WINcontact aufgehoben. In der Nutzerzuweisung eines Projektes kann nun jedem Callagenten individuell ein eigener Clientfilter zugewiesen werden, mit welchem festgelegt wird, welche Adressen der Callagent zur Abarbeitung vorgelegt bekommt.

Der Filter unterstützt neben den schon bekannten Selektionsskripten nun auch das neue Konzept der „dauerhaften Adressmengen“.

Montag, 10. Dezember 2018

Was ist ein "ALG-Clientfilter"?

Bei bestimmten Aufgabenstellungen ist es wünschenswert, wenn der Callagent aus einem Adresspool selbständig  Adressen nach vorher festgelegten Kriterien aussuchen darf, um sie dann telefonisch zu kontaktieren. Ursprünglich war diese Funktion kein Bestandteil von WINcontact und der Callagent konnte mit seinem Clientprogramm nur die Adressen bearbeiten, die er automatisch aus einem allgemeinen Pool (der Abarbeitungsliste) gezogen hat oder die ihm vom Administrator explizit zugewiesen wurden. Im letzteren Fall spricht man von personalisierten Adressen.
Die Verwendung eines ALG-Clientfilters auf der Seite des Callagenten:
Beim Starten eines Projektes wird ein Dialogfenster aufgeblendet, welches Filterkriterien in Form von Parameter-Eingabefeldern bereitstellt. Darin muss der Callagent seine konkreten Auswahlkriterien festlegen, in dem er sie in die entsprechenden Felder einträgt oder aus vorgegebenen Auswahllisten auswählt. Solche Parameterfenster könnten z. B. folgendermaßen aussehen:

Den Parameterwert „Hamburg“ wählt der Callagent selbst aus, das Aus­sehen des Filterdialogs legt dagegen der Supervisor im Administration-Center fest.  Nach Anwendung des Filters zieht in diesem Beispiel das WINcontact-Clientprogramm  nur noch Adressen mit den Merkmalen  [Ort=“Hamburg“ aus der Projektabarbeitungsliste. Zu diesem Zeitpunkt anliegende Wiedervorlagen werden dabei selbstverständlich nicht ausgefiltert.

Im zweiten Beispieldialog wird ein Filter gesetzt, der aus der Abarbeitungsliste nur freie Adressen selektiert, bei denen im Statusfeld 1 eine ganz bestimmte "Frankiermaschine" erfasst ist, d. h. es werden nur noch Adressen gezogen von Firmen, die diese Maschine im Einsatz haben. 
Voraussetzung dafür, dass solch ein Filter auch wie gewünscht funktioniert, ist, dass es in der Abarbeitungsliste des entsprechenden Projektes auch wirklich noch freie Adresseinträge gibt, die den eingegebenen Filterkriterien entsprechen. Andernfalls bekommt der Callagent einen Hinweis aufgeblendet, so dass er statt dessen

a) eine andere Parametrisierung wählt (im obigen Beispiel z. B. einen anderen Ort)
b) einen anderen Filter auswählt (wenn vorhanden)
c) im „Normalmodus“ des Clients weiter arbeitet
d) das Projekt beendet

Befindet sich das Clientprogramm in einem für „ALG-Clientfilter“ konfigurierten Projekt, kann der Callagent jederzeit die Filterparameter oder den Filter selbst ändern, in dem er den Filterdialog über den entsprechenden Button in der Toolleiste aufblendet.

Der ALG-Filterskript-Editor zur Erstellung von Clientfiltern

Die Erstellung und anschließende Freigabe von ALG-Clientfiltern erfolgt im Modus „Bearbeitung“ des Projektes im Administration-Center auf der Seite „Adressenzuweisung“. Erstellt wird ein ALG-Clientfilter mit Hilfe eines speziellen Editors. Er ist in der linken Tabellenansicht „Abarbeitungsliste“ über einen neuen Toolbutton („zusätzlichen Clientfilter definieren“) erreichbar.

Hinweis: Die Screenshots stammen von einer älteren Version von WINcontact.
Dieses Beispiel-Filterskript führt im Client zu folgendem Dialogfenster:
Mit Hilfe dieses Editors können sehr leicht beliebige Filterdialoge zusammengestellt und unter einem eindeutigen Namen in der WINcontact-Datenbank abgespeichert werden. Das geschieht auf die Weise, dass man auf der linken Seite Parameter (oder ganze, bereits vordefinierte Parameterblöcke) auswählt und anschließend in das Parameterfenster übernimmt. Ungleiche Parameter (ausschlaggebend ist dabei der Feldname und nicht der Bezeichner) werden im Filter „und“-verknüpft, während gleiche Parameter (Felder) immer mit dem logischen Operator „oder“ verknüpft werden (im obigen Beispiel sind das die beiden Felder ASTATUS1). Als Vorgaben können u. a. Wortlisten, Ergebnisse von SQL-Abfragen, aber auch Datums-, Zahlen- und PLZ-Bereiche Verwendung finden. Auch „selbstlernende“ Klappboxen für Parameter sind möglich, in dem man als Vorgabe lediglich ein „Sternchen“  („*“)  einträgt. In diesem Fall werden alle in dem entsprechenden Feld der betreffenden Datenbanktabelle enthaltenen Werte je einmal in die Vorgabeliste geschrieben (entspricht SELECT DISTINCT {Feldname} FROM {Fragenkatalogtabelle} ORDER BY {Feldname}). Jeder später neu hinzu gekommene Eintrag wird (soweit er vorher noch nicht vorhanden war)  automatisch in der Vorgabeliste ergänzt.
Hinweis
Auf der rechten Seite, dem Parameterteil, werden alle Parameter gesammelt und können dort umbenannt, umsortiert und mit Vorgabelisten versehen werden. Im „Hintergrund“ entsteht dabei ein Filterskript, der auf der entsprechend benannten Seite eingesehen und auch per Hand editiert werden kann. Die Funktionen dafür finden sie im Kontextmenü.
Zum Abschluß noch folgender wichtiger Hinweis: Jeder Filter, der im Mandanten (d.h. projektübergreifend) oder im aktuellen Projekt Verwendung finden soll, muss 

  1. unter einem eindeutigen Namen gespeichert und  
  2. explizit  freigegeben werden. 
Die dafür notwendigen Funktionen befinden sich in der Toolbar des Editors.
Vorgabewerte und Vorgabelisten-Syntax
Jedes Parameterfeld kann mit Vorgaben ausgestattet werden. Sie sind Bestandteil des Filterskriptes und können entweder direkt in das Skript oder – besser – über das Vorgabe-eingabefenster auf der Parameterseite des Editors (Kontextmenü des zuvor ausgewählten Parameters) eingegeben werden. Die Syntax hängt dabei vom Datentyp des entsprechenden Parameters ab. 
a) für alle Datentypen
optional steht am Anfang der Operator, andernfalls wird immer "=" verwendet
b) Zeichenketten (strings)

*alle bereits in dem entsprechenden Feld verwendete Werte als Auswahlliste
a,b,c,d,efeste Werte in einer Auswahlliste
SELECT {FELDNAME} FROM {TABELLE}Ergebnismenge einer SQL-Anweisung als Auswahlliste
c) Datumsfeld

*aktuelles Datum
01.02.2011fester Datumswert
*+50Formel (hier heutiges Datum + 50 Tage)

d) Numerische Felder

1000fester Zahlenwert

e) Postleitzahl

02763fester Wert

f) ja / nein  keine festen Vorgaben möglich
g) Datums-, Zahlen- und PLZ-Bereiche
Um Bereiche (die durch jeweils zwei Felder repräsentiert werden) mit Vorgaben zu füllen, muß zwischen den einzelnen Vorgaben ein Komma gesetzt werden:
Datum*+1,*+14Morgiges Datum im Feld1, Morgen+13 Tage in Feld2
PLZ02,03PLZ-Bereich von 02xxx-03xxx
Zahl50,150Zahlen zwischen 50 und 150
Beispiel für einen Filterskript mit Vorgabewerten
{MANDANT}..ADRESSEN...LAND|LKZ|D,A,CH
{MANDANT}..ADRESSEN...PLZ|Postleitzahl|
{MANDANT}..ADRESSEN...ORT|Ort|*
{MANDANT}..ADRESSEN...STRASSE|Straße|
{PROJEKT}..ALG...LAST_STATUS|Kontaktstatus|*
{PROJEKT}..ALG...LAST_DATUM|Letzter Kontakt|
{MANDANT}..ADRESSEN...ASTATUS1|1.Statusfeld|SELECT DISTINCT ASTATUS2 FROM ADRESSEN
Speichern des Filterskripts und Freigabe für das Clientprogramm
Jeder Clientfilter kann unter einem eigenen Namen in der WINcontact – Datenbank gespeichert werden. Er ist dann anschließend in der Auswahlliste der Skript-Klappbox verfügbar und kann daraus auch wieder in den Editor geladen werden. Außerdem lässt er sich nach der Freigabe für das aktuelle Projekt unter diesem Namen vom Callagenten im Clientprogramm verwenden.
Damit ein oder mehrere Filter im aktuellen Projekt im Clientprogramm verwendet werden können, müssen sie zuvor freigegeben werden. Dazu dient der Freigabedialog im ALG-Filterskripteditor. Seine Funktionsweise ist im Wesentlichen selbsterklärend:
Entwurf komplexer Filterskripte
Für die meisten praktischen Anwendungen dürften die unter „Favoriten“ aufgelisteten Parameter und Parameterblöcke ausreichen. Für spezielle Zwecke können aber im Prinzip alle in WINcontact verfügbaren Felder von Tabellen, die über eine ADRESSEN_ID mit der Tabelle ADRESSEN im Mandanten eindeutig verknüpft sind, verwendet werden. 
Dazu gehören u. a. alle Zusatztabellen sowie die Abarbeitungslisten, die Kontakthistorien und die Fragenkataloge aller  im Mandant vorhandener Projekte.
Auf der Seite „Skript“ kann auch direkt eine SQL-Anweisung, die eine Liste von gültigen ADRESSENID’s zurückliefert, als „Filter“ eingegeben werden. Da in diesem Fall der Callagent keine Parameter mit Werten belegen muss, spricht man von einem „parameterlosen Filterskript“. Denkbare Anwendungsfälle gibt es dafür sehr viele, z. B.:

  • Nur Adressen ziehen, für die es in den Stammdaten keine E-Mailadresse gibt
  • Nur Adressen ziehen, deren Telefonnummern nicht auf einer externen Telefonnummernliste stehen (z. B. eine vom Kunden erworbene Robinsonliste)
  • Nur Adressen ziehen, die in einem anderen Projekt von einem ganz bestimmten Callagenten bearbeitet worden sind
Folgende, betont einfach gehaltene Abfrage realisiert einen Filter, der nur Berliner Adressen „durchlässt“. Wird er vom Callagenten ausgewählt, kann sein Clientprogramm nur noch Adressen aus Berlin ziehen.
SELECT ADRESSENID FROM {MANDANT}..ADRESSEN
WHERE ORT='Berlin'
Wichtig ist nur, dass die Abfrage eine Liste von gültigen ADRESSENID’s zurückliefert. Ansonsten kann die SELECT-Anweisung beliebig komplex sein (z. B. Joins über eine Vielzahl von Tabellen).