neues CustomerBackend => Mapping/CustomerValid

Hilfe zu Znuny Problemen aller Art
Locked
csiebert
Znuny newbie
Posts: 2
Joined: 12 Oct 2011, 16:10
Znuny Version: 3.0.10
Real Name: Chris
Company: Northern Solutions UG

neues CustomerBackend => Mapping/CustomerValid

Post by csiebert »

Hallo zusammen :)

Als Schreiberling bin ich neu in diesem Forum, nutze OTRS jedoch schon mehrere Jahre... Bisher habe ich OTRS immer als Stand-Alone-Lösung genutzt, gestern Abend habe ich allerdings mal den Versuch unternommen, Kundendaten aus unserer neu aufgesetzten Rechnungs-Software (g*Sales v2) anzubinden, was mir eigentlich auch gelungen ist, lediglich im Bereich der ValidID hakt es, die Kunden werden nicht als gültig aufgeführt.

Meine Config.pm sieht momentan auszugsweise so aus:

Code: Select all

    # Anbindung an g*Sales
    $Self->{CustomerUser2} = {
        Name => 'g*Sales',
        Module => 'Kernel::System::CustomerUser::DB',
        Params => {
            DSN => 'DBI:mysql:database=rechnungen;host=localhost',
            User => 'user',
            Password => pass,
            Table => 'customers',
        },
        # customer uniq id
        CustomerKey => 'customerno',
        # customer #
        CustomerID => 'email',
        CustomerValid => 'status_id',
        CustomerUserListFields => [ 'firstname', 'lastname', 'email'],
        CustomerUserSearchFields => ['customerno', 'company', 'lastname', 'email'],
        CustomerUserSearchPrefix => '*',
        CustomerUserSearchSuffix => '*',
        CustomerUserSearchListLimit => 250,
        CustomerUserPostMasterSearchFields => ['email'],
        CustomerUserNameFields => ['firstname', 'lastname'],
        CustomerUserEmailUniqCheck => 1,
        AutoLoginCreation => 0,
        AdminSetPreferences => 0,
        ReadOnly => 1,
        Map => [
            # var,              frontend,     storage,             shown (1=always,2=lite), required, storage-type, http-link, readonly
            [ 'UserCustomerID', 'Kundennr.',  'customerno',        1, 1, 'var', '', 1 ],
            [ 'UserCompany',    'Firma',      'company',           1, 0, 'var', '', 0 ],
            [ 'UserSalutation', 'Anrede',     'title',             1, 0, 'var', '', 0 ],
            [ 'UserFirstname',  'Vorname',    'firstname',         1, 0, 'var', '', 0 ],
            [ 'UserLastname',   'Nachname',   'lastname',          1, 1, 'var', '', 0 ],
        CustomerUserSearchFields => ['customerno', 'company', 'lastname', 'email'],
        CustomerUserSearchPrefix => '*',
        CustomerUserSearchSuffix => '*',
        CustomerUserSearchListLimit => 250,
        CustomerUserPostMasterSearchFields => ['email'],
        CustomerUserNameFields => ['firstname', 'lastname'],
        CustomerUserEmailUniqCheck => 1,
        AutoLoginCreation => 0,
        AdminSetPreferences => 0,
        ReadOnly => 1,
        Map => [
            # var,              frontend,     storage,             shown (1=always,2=lite), required, storage-type, http-link, readonly
            [ 'UserCustomerID', 'Kundennr.',  'customerno',        1, 1, 'var', '', 1 ],
            [ 'UserCompany',    'Firma',      'company',           1, 0, 'var', '', 0 ],
            [ 'UserSalutation', 'Anrede',     'title',             1, 0, 'var', '', 0 ],
            [ 'UserFirstname',  'Vorname',    'firstname',         1, 0, 'var', '', 0 ],
            [ 'UserLastname',   'Nachname',   'lastname',          1, 1, 'var', '', 0 ],
            [ 'UserLogin',      'Username',   'customerno',        0, 1, 'var', '', 1 ],
            [ 'UserPassword',   'Password',   'frontend_password', 0, 0, 'var', '', 0 ],
            [ 'UserEmail',      'E-Mail',     'email',             2, 1, 'var', '', 0 ],
            [ 'UserPhone',      'Telefon',    'phone',             1, 0, 'var', '', 1 ],
            [ 'UserComment',    'Comment',    'customer_text',     1, 0, 'var', '', 0 ],
            [ 'ValidID',        'Valid',      'status_id',         1, 0, 'int', '', 0 ],
        ],
        Selections => {
            ValidID => {
                '0' => '1',
            },
        },
    };
In der Kundendatenbank von g*Sales hat die Tabelle customers eine Spalte status_id vom Typ smallint, der Eintrag für aktive Kunden lautet hier blöderweise 0, OTRS erwartet für einen Kundentyp "valid" allerdings eine 1. Ich habe daher aus der Doku das Beispiel mit der Selection von Anreden genommen und versucht, die 0 aus der Kundendatenbank in eine 1 für OTRS zu "verzaubern". Das hatte jedoch leider nicht den gewünschten Effekt, in der Kundenübersicht steht hinter den Kunden aus der Datenbank in der Spalte "GÜLTIG" nur ein Minuszeichen.

Wo ist mein Denkfehler? Wie bringe ich OTRS bei, dass die 0 aus der Kundendatenbank für OTRS einen gültigen Eintrag darstellt?

Bin für jeden Tipp dankbar :-)

Gruß, Chris
csiebert
Znuny newbie
Posts: 2
Joined: 12 Oct 2011, 16:10
Znuny Version: 3.0.10
Real Name: Chris
Company: Northern Solutions UG

Re: neues CustomerBackend => Mapping/CustomerValid

Post by csiebert »

Hat das tatsächlich noch niemand mal umgesetzt? Kann ich kaum glauben... :shock:
jojo
Znuny guru
Posts: 15020
Joined: 26 Jan 2007, 14:50
Znuny Version: Git Master
Contact:

Re: neues CustomerBackend => Mapping/CustomerValid

Post by jojo »

bei externen Datenquellen musst Du kein VALID angeben
"Production": OTRS™ 8, OTRS™ 7, STORM powered by OTRS
"Testing": ((OTRS Community Edition)) and git Master

Never change Defaults.pm! :: Blog
Professional Services:: http://www.otrs.com :: enjoy@otrs.com
Locked