Nach Kunden-Firma: bei neuem Telefonticket nach Firma suchen

Hilfe zu Znuny Problemen aller Art
Locked
giggo
Znuny newbie
Posts: 25
Joined: 09 Nov 2006, 10:33

Nach Kunden-Firma: bei neuem Telefonticket nach Firma suchen

Post by giggo »

Hi,

habe gerade auf OTRS 2.2.4 umgestellt um die Kunden-Firma Funktion zu benutzen. Diese hab ich in der Config.pm per "CustomerCompanySupport => 1" aktiviert und eine Firma angelegt, welche dann einem Kunden-Benutzer zugewiesen wurde.
Nun habe ich die Anforderung, dass man beim erstellen eines Tickets (Telefonticket) nicht nur nach den Kundeninfos, aber auch nach den Infos zur Firma suchen kann (z.B. Name der Firma).

Meineserachtens fällt somit das erweitern von "CustomerUserSearchFields => ['login', 'first_name', 'last_name', 'customer_id']" flach, oder irre ich mich?

Habe zwar in der Default.pm den Bereich für die CustomerCompany Einstellungen gefunden, aber dort finde ich keine relevanten Parameter, welche mein Problem lösen würden...

Kann es sein, dass ich einfach etwas übersehe, oder kann in OTRS noch nicht bei der Telefonticket - Erstellung nach den Firmendaten suchen?

Ebenso wollte ich fragen wozu der Parameter "CustomerCompanyListFields => ['customer_id', 'name']" gut ist? Irgendie komm ich nicht dahinter wo diese beiden Infos angezeigt werden sollen...

mfg,
glencairn
Znuny advanced
Posts: 126
Joined: 15 May 2006, 12:59
Znuny Version: 2.4.10
Real Name: Joerg Peter
Location: 55432
Contact:

Nach Kunden-Firma: bei neuem Telefonticket nach Firma suchen

Post by glencairn »

Hallo,

bei mir konnte man nur nach Kundenname suchen und nach der Änderungen des Feldes CustomerUserSearchFields um das Feld department kann ich jetzt auch nach Abteilung suchen. Das sollte für company doch ähnlich gehen. Habe ich Dich richtig verstanden?

Code: Select all

CustomerUserSearchFields => ['uid','department'],
Viele Grüße
Jörg Peter
OTRS 2.4.10 unter Windows Server 2003
Nagios 2.7 unter SuSE Linux 9.x
Skype gow-geisler und lairdgeisler
http://www.familiegeisler.de
giggo
Znuny newbie
Posts: 25
Joined: 09 Nov 2006, 10:33

Nach Kunden-Firma: bei neuem Telefonticket nach Firma suchen

Post by giggo »

Hi,

Nun, entweder habe ich was falsch gemacht, oder diese Variante funktioniert nicht...

Hast du das Feld department bei den CustomerUser Infos eingetragen oder bei jenen für die Firmendaten?

Ich persönlich denke, dass CustomerUserSearchFields nur auf die Tabelle customer_user Querys absetzt, nicht aber auf customer_company wo die Informationen zu der Firma abgelegt sind.

Irre ich mich dabei?
glencairn
Znuny advanced
Posts: 126
Joined: 15 May 2006, 12:59
Znuny Version: 2.4.10
Real Name: Joerg Peter
Location: 55432
Contact:

Nach Kunden-Firma: bei neuem Telefonticket nach Firma suchen

Post by glencairn »

Hallo und guten Morgen,

in der config.pm habe ich folgende Zeilen stehen:

Code: Select all

CustomerUserSearchFields => ['uid', 'department'],
und die MAP habe ich erweitert:

Code: Select all

        Map => [
            # note: Login, Email and CustomerID needed!
            # var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly
            [ 'UserSalutation', 'Title',      'title',           1, 0, 'var', '', 0 ],
            [ 'UserFirstname',  'Firstname',  'givenname',       1, 1, 'var', '', 0 ],
            [ 'UserLastname',   'Lastname',   'sn',              1, 1, 'var', '', 0 ],
            [ 'UserLogin',      'Username',   'uid',             1, 1, 'var', '', 0 ],
            [ 'UserEmail',      'Email',      'mail',            1, 1, 'var', '', 0 ],
            [ 'UserCustomerID', 'CustomerID', 'mail',            0, 1, 'var', '', 0 ],
#            # [ 'UserCustomerIDs', 'CustomerIDs', 'second_customer_ids', 1, 0, 'var', '', 0 ],
            [ 'UserPhone',      'Phone',      'telephonenumber', 1, 0, 'var', '', 0 ],
            [ 'UserAddress',    'Address',    'postaladdress',   1, 0, 'var', '', 0 ],
            [ 'UserComment',    'Comment',    'description',     1, 0, 'var', '', 0 ],
            [ 'UserCompany', 'Company', 'company', 1,0, 'var', '',0],
            [ 'UserDepartment', 'Abteilung', 'department', 1, 0, 'var', '',0],
        ],
    };
Viel Erfolg, gruß

Jörg Peter
OTRS 2.4.10 unter Windows Server 2003
Nagios 2.7 unter SuSE Linux 9.x
Skype gow-geisler und lairdgeisler
http://www.familiegeisler.de
giggo
Znuny newbie
Posts: 25
Joined: 09 Nov 2006, 10:33

Nach Kunden-Firma: bei neuem Telefonticket nach Firma suchen

Post by giggo »

Hallo,

danke für die Antwort, aber leider hab ich wohl das Problem etwas falsch beschrieben:

Die Möglichkeit Felder in der Tabelle customer_user anzulegen und diese über Map einzubinden ist mir bereits bekannt und ich habe auch bereits an diese gedacht. Da aber in den neueren OTRS Versionen (bei mir 2.2.4) eine Firmen-Funktion von Haus aus mitgeliefert wird, wollte ich diese Verwenden. Grundsätzlich besteht der Unterschied hier:
  • Wenn ich die Felder in der Tabelle customer_user anlege und dieses Felder dann in die Map eintrage, so kann ich jedem Kunden z.B. eine Firma zuweisen. Der Nachteil ist hierbei Redundanz der Daten und natürlich auch der erhöhte Aufwand, sobald ich mehrere Felder pro Kunde auszufüllen habe.
  • Wenn ich nun die Firmen Funktion verwende, so erstelle ich zuerst einen Firmendatensatz, welchen ich dann in der Tabelle customer_company wiederfinde. Dieser Datensatz wird dann per Kunden# den Kunden zugewiesen (alle Kunden bekommen die Kunden# welche auch beim anlegen der Firma verwendet wurde). Somit habe ich nur einen Datensatz, welchen ich eventuell bearbeiten muss, sollte sich aus irgend einem Grund eine Adresse o.Ä. der Firma ändern.
In der Defaults.pm finde ich folgende Parameter für die CustomerCompany vor (Auszug):

Code: Select all

    $Self->{CustomerCompany} = {
        Params => {
            # if you want to use an external database, add the
            # required settings
#            DSN => 'DBI:odbc:yourdsn',
#            DSN => 'DBI:mysql:database=customerdb;host=customerdbhost',
#            User => '',
#            Password => '',
            Table => 'customer_company',
        },
        # customer uniq id
        CustomerCompanyKey => 'customer_id',
        CustomerCompanyValid => 'valid_id',
        CustomerCompanyListFields => ['customer_id', 'name'],
        Map => [
            # var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly
            [ 'CustomerID',              'CustomerID',  'customer_id',  0, 1, 'var', '', 0 ],
            [ 'CustomerCompanyName',     'Name',        'name',         1, 1, 'var', '', 0 ],
            [ 'CustomerCompanyStreet',   'Street',      'street',       1, 0, 'var', '', 0 ],
            [ 'CustomerCompanyZIP',      'Zip',         'zip',          1, 0, 'var', '', 0 ],
            [ 'CustomerCompanyCity',     'City',        'city',     1, 0, 'var', '', 0 ],
            [ 'CustomerCompanyCountry',  'Country',     'country',      1, 0, 'var', '', 0 ],
            [ 'CustomerCompanyURL',      'URL',         'url',          1, 0, 'var', '$Data{"CustomerCompanyURL"}', 0 ],
            [ 'CustomerCompanyComment',  'Comment',     'comments',     1, 0, 'var', '', 0 ],
            [ 'ValidID',                 'Valid',       'valid_id',     0, 1, 'int', '', 0 ],
        ],
        # default selections
        Selections => {
            CustomerCompanyCountry => {
                '-' => '-',
                'Afghanistan'  =>  'Afghanistan',
                'Albania'  =>  'Albania',
                'Algeria'  =>  'Algeria',
                'American Samoa'  =>  'American Samoa',
                'Andorra'  =>  'Andorra',
                'Angola'  =>  'Angola',
                'Anguilla'  =>  'Anguilla',
                'Antarctica'  =>  'Antarctica',
                'Antigua and Barbuda'  =>  'Antigua and Barbuda',
                'Argentina'  =>  'Argentina',
                'Armenia'  =>  'Armenia',
                'Aruba'  =>  'Aruba',
                'Australia'  =>  'Australia',
                'Austria'  =>  'Austria',
                'Azerbaijan'  =>  'Azerbaijan',
                'Bahamas'  =>  'Bahamas',
                'Bahrain'  =>  'Bahrain',
                'Bangladesh'  =>  'Bangladesh',
                'Barbados'  =>  'Barbados',
                'Belarus'  =>  'Belarus',
                'Belgium'  =>  'Belgium',
                'Belize'  =>  'Belize',
                'Benin'  =>  'Benin',
                'Bermuda'  =>  'Bermuda',
                'Bhutan'  =>  'Bhutan',
                'Bolivia'  =>  'Bolivia',
                'Bosnia and Herzegowina'  =>  'Bosnia and Herzegowina',
                'Botswana'  =>  'Botswana',
                'Bouvet Island'  =>  'Bouvet Island',
                'Brazil'  =>  'Brazil',
                'British Indian Ocean Territory'  =>  'British Indian Ocean Territory',
                'Brunei Darussalam'  =>  'Brunei Darussalam',
                'Bulgaria'  =>  'Bulgaria',
                'Burkina Faso'  =>  'Burkina Faso',
                'Burundi'  =>  'Burundi',
                'Cambodia'  =>  'Cambodia',
                'Cameroon'  =>  'Cameroon',
                'Canada'  =>  'Canada',
Wie man sieht gibt es praktisch eine Map für den Kunden selbst (kundenbezogene Daten) und eine für die Firma (firmenbezogene Daten).

Mittlerweile habe ich gelesen, dass man das Suchen nach dem Firmennamen insofern ermöglichen kann, dass man einfach als Kunden# ebenso den Firmennamen einträgt. Dieser scheint klarerweise auch in der Tabelle customer_user auf und somit kann ich danach beim anlegen eines Telefontickets danach suchen...

Somit habe ich folgende Verknüpfung: dem einzelnen Kunden ordne ich einen Datensatz einer Firma zu (über die Kunden# -> Firmenname) und da ich in den CustomerUserSearchFields ebenso die customerid eingetragen habe, kann ich den Firmennamen beim Anlegen des Tickets finden:

Code: Select all

CustomerUserSearchFields => ['login', 'first_name', 'last_name', 'customer_id']

Zwar funktioniert diese Lösung sicherlich gut, dennoch scheint mir das nur ein Workaround zu sein, da ich dennoch nicht nach z.B. den Adressdaten der Firma suchen kann.

mfg
glencairn
Znuny advanced
Posts: 126
Joined: 15 May 2006, 12:59
Znuny Version: 2.4.10
Real Name: Joerg Peter
Location: 55432
Contact:

Nach Kunden-Firma: bei neuem Telefonticket nach Firma suchen

Post by glencairn »

infosyn wrote:...aber in den neueren OTRS Versionen (bei mir 2.2.4) eine Firmen-Funktion von Haus aus mitgeliefert wird...
da habe ich mich noch nicht dran getraut (bei mir Version 2.2.3).

Gruß
Jörg Peter
OTRS 2.4.10 unter Windows Server 2003
Nagios 2.7 unter SuSE Linux 9.x
Skype gow-geisler und lairdgeisler
http://www.familiegeisler.de
redcaptm
Znuny newbie
Posts: 29
Joined: 24 Nov 2009, 12:19
Znuny Version: 2.4.1
Location: Frankenthal (Pfalz)
Contact:

Nach Kunden-Firma: bei neuem Telefonticket nach Firma suchen

Post by redcaptm »

Das alles ist jetzt schon ne ganze Weile her, aber das Problem ansich noch nicht gelöst. Gibt es denn immer noch keine Möglichkeit den Firmennamen durchsuchbar zu machen?

Wir haben das Problem, dass wir mehrere Kunden an verschiedenen Standorten haben und nicht in der Kundennummer noch die entsprechende Location mit reinsetzen wollen. Gibt es somit mittlerweile die Möglichkeit dies zu ändern?
OTRS 2.4.1
giggo
Znuny newbie
Posts: 25
Joined: 09 Nov 2006, 10:33

Nach Kunden-Firma: bei neuem Telefonticket nach Firma suchen

Post by giggo »

Hi,

habe damals leider keine Lösung gefunden, die neueren Versionen von OTRS könnten da etwas haben, hatte aber schließlich die Problematik nicht mehr...
mfg,
Giggo
Locked