Mostrar Tiempo contabilizado en vistas de tickets

Post Reply
nagore
Znuny newbie
Posts: 23
Joined: 23 Apr 2012, 12:18
Znuny Version: 3.0.11

Mostrar Tiempo contabilizado en vistas de tickets

Post by nagore »

Buenos días,

Queremos configurar la vista de tickets S (Small) en Queue View para que nos muestre una columna con el tiempo contabilizado en cada ticket.
¿Es posible? En su caso, ¿qué habría que hacer?

Gracias,
Saludos
luisjf
Znuny newbie
Posts: 55
Joined: 06 Jul 2010, 19:32
Znuny Version: 3.1.2

Re: Mostrar Tiempo contabilizado en vistas de tickets

Post by luisjf »

Hola buen día

La quinta columna es la "antigüedad", no es eso lo que requieres?
Production Environment: OTRS 3.1.12, ITSM-OTRS 3.1.2, Debian Squeeze, Postgresql 8.4, Apache 2
Development Environment: OTRS 3.1.12, ITSM-OTRS 3.1.2, Debian Squeeze, Postgresql 8.4, Apache 2
nagore
Znuny newbie
Posts: 23
Joined: 23 Apr 2012, 12:18
Znuny Version: 3.0.11

Re: Mostrar Tiempo contabilizado en vistas de tickets

Post by nagore »

Gracias por tu respuesta, pero no, no es eso a lo que me refiero. Me refiero al tiempo invertido en cada ticket (Accounted time).
Saludos
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: Mostrar Tiempo contabilizado en vistas de tickets

Post by miguelmz »

Tendrias que modificar 2 archivos:

- Pagina html de la vista small: /opt/otrs/Kernel/Output/HTML/Standard/AgentTicketOverviewSmall.dtl
- Modulo perl que rellena el small: /opt/otrs/Kernel/Output/HTML/AgentTicketOverviewSmall.pm

En el primero se te describe la estructura de la pagina html, veras una especie de tabla html con una cabecera y un unico registro todo rellenado con Data y Qdata.
Debes modificar la cabecera y el registro añadiendo un elemento extra que tu quieras y refiriendote a un Data con clave nueva que rellenaras desde el pm. El regsitro te quedaria algo asi (no te incluyo la cabecera)

Code: Select all

<table>
<tr>@@@@CABECERA@@@@@
   <td></td>
   [...]
   <td></td>
</tr>
<tr>@@@@REGISTRO@@@@@
   <td></td>
   [...]
   <td><a>$QData{"Tiempo"}</a></td>
   [...]
   <td></td>
</tr>
Despues en el otro archivo pm tienes que rellenarlo en cualquier parte del "sub Run" pones

Code: Select all

my %TicketData = $Self->{TicketObject}->TicketGet(
        TicketID => $TicketID,
);
$Article{Tiempo} = $TicketData{******};
Donde "****" pones el ticketfreetext en el que se esta insertando el time acounting (por ejemplo el 12 quedaria asi "$TicketData{TicketFreeText12};" ) de esta manera te aparecera.

Ten cuidado al hacerlo en el dtl con la cabecera, te tiraras un rato hasta acostumbrarte a la estructura del dtl y ver donde insertar el tag duplicado por lo que te recomiendo que realizes un backup de los 2 ficheros antes y que lo hagas en una maquina de pruebas primero.

Un saludo.
We want OTRS certifications in Spain!!

Check out my free addons! :mrgreen:
nagore
Znuny newbie
Posts: 23
Joined: 23 Apr 2012, 12:18
Znuny Version: 3.0.11

Re: Mostrar Tiempo contabilizado en vistas de tickets

Post by nagore »

Gracias miguelmz,

Lo probaré con cuidado.

Saludos
luisjf
Znuny newbie
Posts: 55
Joined: 06 Jul 2010, 19:32
Znuny Version: 3.1.2

Re: Mostrar Tiempo contabilizado en vistas de tickets

Post by luisjf »

Una pregunta referente a este tema, el Accounted time es el tiempo que se va vaciando en Unit Time?

Saludos
Production Environment: OTRS 3.1.12, ITSM-OTRS 3.1.2, Debian Squeeze, Postgresql 8.4, Apache 2
Development Environment: OTRS 3.1.12, ITSM-OTRS 3.1.2, Debian Squeeze, Postgresql 8.4, Apache 2
nagore
Znuny newbie
Posts: 23
Joined: 23 Apr 2012, 12:18
Znuny Version: 3.0.11

Re: Mostrar Tiempo contabilizado en vistas de tickets

Post by nagore »

Buenas tardes,

Si, eso es. En Accounted Time te suma las cantidades que vas añadiendo en los diferentes Unit Time.

Saludos.
nagore
Znuny newbie
Posts: 23
Joined: 23 Apr 2012, 12:18
Znuny Version: 3.0.11

Re: Mostrar Tiempo contabilizado en vistas de tickets

Post by nagore »

He modificado los dos archivos
  • AgentTicketOverviewSmall.dtl y AgentTicketOverviewSmall.pm
He añadido al fichero .dtl las correspodientes lineas <th> para la cabecera y las <td> en la parte del registro
Pero no se muestra la columna que he creado. He insertado este codigo en mi tabla

Code: Select all

<th class="TiempoAcumulado $QData{"CSS"}">
           <a>$Text{"TiempoAcumulado"}</a>
                </th>
Y en el registro

Code: Select all

<tr>
    <td>$QData{"TiempoAcumulado"}</td>
</tr>
Hay algo que olvido?
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: Mostrar Tiempo contabilizado en vistas de tickets

Post by miguelmz »

¿ Como has rellenado la key TiempoAcumulado del hash en el .pm ?, y en que funcion.
We want OTRS certifications in Spain!!

Check out my free addons! :mrgreen:
nagore
Znuny newbie
Posts: 23
Joined: 23 Apr 2012, 12:18
Znuny Version: 3.0.11

Re: Mostrar Tiempo contabilizado en vistas de tickets

Post by nagore »

No entiendo lo que quieres decir con el hash

Tengo la función que calcula el tiempo invertido en cada ticket.

Code: Select all

      my $Horas = $Self->TicketAccountedTimeGet(TicketID => 1234);
      
      sub TicketAccountedTimeGet {
	    	my ( $Self, %Param ) = @_;

	    	# check needed stuff
	    	if ( !$Param{TicketID} ) {
       		$Self->{LogObject}->Log( Priority => 'error', Message => 'Need TicketID!' );
        	return;
		    }

	    	# db query
		    return if !$Self->{DBObject}->Prepare(
	        SQL  => 'SELECT time_unit FROM time_accounting WHERE ticket_id = ?',
	        Bind => [ \$Param{TicketID} ],
		    );
		    my $AccountedTime = 0;
		    while ( my @Row = $Self->{DBObject}->FetchrowArray() ) {
		        $Row[0] =~ s/,/./g;
		        $AccountedTime = $AccountedTime + $Row[0];
		    }
		    return $AccountedTime;
		}
Y quiero que se muestre el resultado de dicha función en la última columna que actualmente muestra si esta bloqueado o no.

En el AgentTicketOverviewSmall.dtl ya he encontrado donde se muestran los registros. pero no se donde poner la función del tiempo en el AgentTicketOverviewSmall.pm y como pasarle el tiempo al .dtl.

Saludos.
Last edited by nagore on 11 Jun 2012, 15:33, edited 1 time in total.
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: Mostrar Tiempo contabilizado en vistas de tickets

Post by miguelmz »

Donde pones return $horas tienes el tiempo contabilizado. Ahora bien, la pagina de vista se construye dinamicamente a traves del pm y el dtl. El .dtl es una plantilla que es llamada a traves del .pm que dices por medio de funciones descritas en Layout.pm (en /kernel/System).

La forma de sustitucion de elementos del dtl por variables del pm es por medio de 2 hashes QData y Data, uno usado por variables del sistema y el otro por variables del modulo que las llama.

Por lo que puedes guardar ese $horas en una nueva clave del hash del pm y referenciar el hash Data (o QData miralo no me acuerdo) con su respectiva clave, el hash se llama Article.


Un saludo.
We want OTRS certifications in Spain!!

Check out my free addons! :mrgreen:
nagore
Znuny newbie
Posts: 23
Joined: 23 Apr 2012, 12:18
Znuny Version: 3.0.11

Re: Mostrar Tiempo contabilizado en vistas de tickets

Post by nagore »

Ahora tengo en en fichero .dtl el siguiente codigo.

Code: Select all

                    <td>
                        <a>$QData{"Horas"}</a>
                    </td>
y en el fichero .pm dentros del sub Run y dentro del for

Code: Select all

for my $TicketID ( @{ $Param{TicketIDs} } ) {
la linea que llama a la función

Code: Select all

			#escribir  total horas
         $Article{Horas} = $Self->TicketAccountedTimeGet(TicketID => 1234);
Y tengo fuera del Sub Run justo debajo la sub TicketAccountedTimeGet, cuyo codigo esta en un post mas anterior.

Ya he conseguido mostrar la columna Horas pero el tiempo acumulado no es el correcto pues me muestra solo un cero en vez del tiempo real invertido.

¿Puedes ayudarme?

Muchas gracias por toda la ayuda prestada.
nagore
Znuny newbie
Posts: 23
Joined: 23 Apr 2012, 12:18
Znuny Version: 3.0.11

Re: Mostrar Tiempo contabilizado en vistas de tickets

Post by nagore »

Ya esta resuelto, le estaba pasando mal el parametro al TicketID
Post Reply