No muestra "Información del cliente"

Post Reply
Visp
Znuny newbie
Posts: 14
Joined: 17 Apr 2012, 17:27
Znuny Version: 3.2.1
Real Name: Adrián
Location: Valencia, Spain

No muestra "Información del cliente"

Post by Visp »

Buenas,

Tengo implementado el OTRS 3.1.1 con ITSM, sobre MySQL en un Debian.

Tengo una base de datos con todos los clientes los cuales los he incluido en el OTRS desde el "Config.pm". Esto funciona bien, cuando un cliente nos envía un mensaje, si dicha dirección de correo electrónico la tenemos registrada en la "nueva" base de datos de los clientes, automáticamente se relaciona.

El problema que tengo es que cuando se accede a ver un ticket en "AgentTicketZoom", en la columna derecha hay un apartado que pone "Costumer information" en el cual supongo que debería mostrar todos los campos que he listado en el "Config.pm", pero no los muestra:

Code: Select all

Map => [
#        [ 'UserTitle',         'Title',        'usuario',               1, 1, 'var', '', 0 ],
        [ 'UserFirstname',      'Nombre',       'cliente_nombre',       1, 1, 'var', '', 0 ],
        [ 'UserLastname',       '1r Apellido',  'cliente_apellido1',    1, 0, 'var', '', 0 ],
        [ 'UserLastname2',      '2o Apellido',  'cliente_apellido2',    1, 0, 'var', '', 0 ],
        [ 'Login',              'Login',        'usuario',              1, 1, 'var', '', 0 ],
        [ 'UserPassword',       'Password',     'password',             1, 0, 'var', '', 1 ],
        [ 'UserCustomerID',     'ID Cliente',   'id_cliente',             0, 0, 'var', '', 1 ],
...
La cosa es que me sale solamente la palabra "ninguno" y en el log me sale el siguiente error:

Code: Select all

OTRS-CGI-10[24379]: [Error][Kernel::System::CustomerUser::DB::CustomerUserDataGet][Line:448]: Need User!
Por lo que deduzco que no se le debe estar pasando la ID o algún parámetro. Pero ya llevo unos días mirándo que puede ser lo que falla y modificando cosas y no consigo dar con el problema.

Necesito ahí mostrar bastante información... pero por ahora no lo he conseguido.

¿Alguien me puede echar una mano?

Un saludo.



PD: He probado las variables "$QData" y "$Data", pero sin suerte.

La información del cliente la debe mostrar lo siguiente: "$QData{"CustomerTable"}".
miguelmz
Znuny wizard
Posts: 370
Joined: 17 Nov 2011, 17:46
Znuny Version: 6.0.10
Real Name: Miguel
Company: SIA
Location: Madrid, Spain.

Re: No muestra "Información del cliente"

Post by miguelmz »

Hola Visp,
Por el codigo que muestras veo lo siguiente:

Code: Select all

# note: Login, Email and CustomerID needed!
# var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly, http-link-target
[...]
[ 'UserCustomerID',     'ID Cliente',   'id_cliente',             0, 0, 'var', '', 1 ],
[...]
Tienes puesto un 0 en mostrar y requerido y se trata de un campo clave.

Podrias revisar la documentacion completa asociada: http://doc.otrs.org/3.1/en/html/custome ... ckend.html

Un saludo.
We want OTRS certifications in Spain!!

Check out my free addons! :mrgreen:
Visp
Znuny newbie
Posts: 14
Joined: 17 Apr 2012, 17:27
Znuny Version: 3.2.1
Real Name: Adrián
Location: Valencia, Spain

Re: No muestra "Información del cliente"

Post by Visp »

Hola Miguel,

Antes de todo, muchas gracias por contestar.

Está así por todos los cambio que le he hecho. Pero tanto poniéndolo requerido como no, el problema persiste.

Es posible que me engañe pero creo que esos valores son para cuando vas a editar el cliente, para que en el formulario sea requerido o no (dicho campo). Por lo que aunque yo lo ponga que no lo muestre no debería afectarme, ya que lo pone en oculto. Tampoco me gustaría que un agente me modifique la ID de un cliente.

La edición de los clientes funciona sin ningún tipo de problema, mostrando los que yo deseo y se modifican sin problemas.

Mi problema es que no consigo mostrar la información en el "AgentTicketZoom", la cual sí consigo que se muestre en la modificación del cliente.


¿Alguna idea?


Un saludo
miguelmz
Znuny wizard
Posts: 370
Joined: 17 Nov 2011, 17:46
Znuny Version: 6.0.10
Real Name: Miguel
Company: SIA
Location: Madrid, Spain.

Re: No muestra "Información del cliente"

Post by miguelmz »

Lo he entendido mal, bien, ese panel que se muestra probablemente te este recogiendo ninguno porque no hay nada, probablemente algun campo mal puesto, comillas o algo asi en el backend. Asi a simple vista no te se decir el error, pero puedes emplearte de un log para ver donde exactamente no esta recopilando bien y luego ver las opciones. Sirvete de esto donde te diga:

Code: Select all

open (FD, ">/tmp/nombredellog");
printf(FD "$variableamostrar");
close(FD);
Metete en /opt/otrs/Kernel/Modules/AgentTicketZoom.pm y busca $Param{CustomerTable}, esta variable contiene la informacion del cliente. Un poco mas arriba veras que los datos de que se alimenta se obtienen CustomerData llamando a la funcion CustomerUserDataGet. Pon aqui un log para ver que te devuelve.

Despues vete a ver esa funcion, esta localizada en /opt/otrs/Kernel/System/CustomerUser.pm, pon otro log antes del return que te muestre lo que esta recogiendo a ver si asi se esclarece un poco mas.

Un saludo.
We want OTRS certifications in Spain!!

Check out my free addons! :mrgreen:
Visp
Znuny newbie
Posts: 14
Joined: 17 Apr 2012, 17:27
Znuny Version: 3.2.1
Real Name: Adrián
Location: Valencia, Spain

Re: No muestra "Información del cliente"

Post by Visp »

Hola Miguel,

Con la variable "$Param{CustomerTable}" me devuelve exactamente lo mismo que en la interfaz web, la palabra: "ninguno".

Y luego en la función "CustomerUserDataGet" de "CustomerUser.pm", esta no tiene información del cliente, no me devuelve nada.


A ver si encuentro algo más...
miguelmz
Znuny wizard
Posts: 370
Joined: 17 Nov 2011, 17:46
Znuny Version: 6.0.10
Real Name: Miguel
Company: SIA
Location: Madrid, Spain.

Re: No muestra "Información del cliente"

Post by miguelmz »

sobreescribes el fichero de log o añades?

Es posible que haga dos vueltas a la funcion y en la segunda no tenga datos, ya lo he visto antes con los cambios de estados.
We want OTRS certifications in Spain!!

Check out my free addons! :mrgreen:
Visp
Znuny newbie
Posts: 14
Joined: 17 Apr 2012, 17:27
Znuny Version: 3.2.1
Real Name: Adrián
Location: Valencia, Spain

Re: No muestra "Información del cliente"

Post by Visp »

Hola Miguel,

Le he puesto el siguiente código:

Code: Select all

open(LG, ">> /tmp/otrs2.log") || die "No puede abrirse!";
printf(LG "__variables__");
close(LG);
No sé si lo hago mal o algo pero me da los mismo valores siempre y continua diciéndome que no tiene un Usuario en el syslog. No debe estar llegando la ID del usuario o algo...
miguelmz
Znuny wizard
Posts: 370
Joined: 17 Nov 2011, 17:46
Znuny Version: 6.0.10
Real Name: Miguel
Company: SIA
Location: Madrid, Spain.

Re: No muestra "Información del cliente"

Post by miguelmz »

Hola Visp,

pon esto directamente debajo del CustomerData a ver si te funciona, igual no te muestra nada porque no haces el recorrido del hash.

Code: Select all

        # customer info
        my %CustomerData;
        if ( $Ticket{CustomerUserID} ) {
            %CustomerData = $Self->{CustomerUserObject}->CustomerUserDataGet(
                User => $Ticket{CustomerUserID},
            );
        }
    ##### LOG
    my $aux;
    open(FD, ">>/tmp/informacion_cliente");
    printf(FD "\n============================\n");
    foreach $aux (keys(%CustomerData))
    {
        printf(FD "Clave:[$aux] ===> Valor:[$CustomerData{$aux}]\n");
    }
    printf(FD "\n---------------------------------------\n");
    close(FD);
    ############
We want OTRS certifications in Spain!!

Check out my free addons! :mrgreen:
Visp
Znuny newbie
Posts: 14
Joined: 17 Apr 2012, 17:27
Znuny Version: 3.2.1
Real Name: Adrián
Location: Valencia, Spain

Re: No muestra "Información del cliente"

Post by Visp »

Buenas tardes Miguel,

Con el código que me has pasado, simplemente me pinta las líneas. El contenido de las variables no, deben estar vacías.

He estado revisando y al método "CustomerUserDataGet" se le envía el valor de la variable, "$Ticket{CustomerUserID}".
Pero no sé que hace que da error, como si fuera una ID no válido. Por ello me sale en el syslog el "Need User".

El valor de dicha variable, es la ID de una tupla de la nueva base de datos añadida al OTRS.

Voy a probar otros campos, para descartar que sea eso...

Muchas gracias! :)



PD: No sé si puede servir de ayuda o está relacionado... pero desde el "Config.pm", le cambio el "CustomerID", "CustomerKey", "CustomerUserID" (que lo creé) y desde la página de "AgentTicketZoom" en la cual tengo la variable "$Data{"CustomerUserID"}", siempre me muestra el mismo.. como si no le hiciera caso al "Config.pm". Pero el valor de dicha variable, es de la nueva base de datos.
miguelmz
Znuny wizard
Posts: 370
Joined: 17 Nov 2011, 17:46
Znuny Version: 6.0.10
Real Name: Miguel
Company: SIA
Location: Madrid, Spain.

Re: No muestra "Información del cliente"

Post by miguelmz »

En ese caso hay que indagar sobre la funcion CustomerUserDataGet, aunque me parece demasiado enrevesado y lo mas probable es que se nos escape algo en el config o en el sysoconf... voy a intentar reproducirlo a ver que hace.

Si haces algun cambio en Config.pm acuerdate siempre de reiniciar el apache, sino no hace efecto.
We want OTRS certifications in Spain!!

Check out my free addons! :mrgreen:
Visp
Znuny newbie
Posts: 14
Joined: 17 Apr 2012, 17:27
Znuny Version: 3.2.1
Real Name: Adrián
Location: Valencia, Spain

Re: No muestra "Información del cliente"

Post by Visp »

Sí, cualquier cambio que le hago le reinicio el apache. Sigo haciendo pruebas a ver si con prueba/error al final lo saco... :P
Visp
Znuny newbie
Posts: 14
Joined: 17 Apr 2012, 17:27
Znuny Version: 3.2.1
Real Name: Adrián
Location: Valencia, Spain

Re: No muestra "Información del cliente"

Post by Visp »

Buenas,

Después de darle y darle y no dar con ninguna solución.

He creado un script de JS que hace una petición por Ajax a un PHP el cual se encarga de realizar la consulta a la base de datos y devolverla.

Luego muestro la información que necesito y todos contentos :P




Un saludo,

Visp
Post Reply