Mostrar Tiempo contabilizado en vistas de tickets
Mostrar Tiempo contabilizado en vistas de tickets
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
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
Re: Mostrar Tiempo contabilizado en vistas de tickets
Hola buen día
La quinta columna es la "antigüedad", no es eso lo que requieres?
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
Development Environment: OTRS 3.1.12, ITSM-OTRS 3.1.2, Debian Squeeze, Postgresql 8.4, Apache 2
Re: Mostrar Tiempo contabilizado en vistas de tickets
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
Saludos
-
- 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
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)
Despues en el otro archivo pm tienes que rellenarlo en cualquier parte del "sub Run" pones
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.
- 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>
Code: Select all
my %TicketData = $Self->{TicketObject}->TicketGet(
TicketID => $TicketID,
);
$Article{Tiempo} = $TicketData{******};
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.
Re: Mostrar Tiempo contabilizado en vistas de tickets
Gracias miguelmz,
Lo probaré con cuidado.
Saludos
Lo probaré con cuidado.
Saludos
Re: Mostrar Tiempo contabilizado en vistas de tickets
Una pregunta referente a este tema, el Accounted time es el tiempo que se va vaciando en Unit Time?
Saludos
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
Development Environment: OTRS 3.1.12, ITSM-OTRS 3.1.2, Debian Squeeze, Postgresql 8.4, Apache 2
Re: Mostrar Tiempo contabilizado en vistas de tickets
Buenas tardes,
Si, eso es. En Accounted Time te suma las cantidades que vas añadiendo en los diferentes Unit Time.
Saludos.
Si, eso es. En Accounted Time te suma las cantidades que vas añadiendo en los diferentes Unit Time.
Saludos.
Re: Mostrar Tiempo contabilizado en vistas de tickets
He modificado los dos archivos
Pero no se muestra la columna que he creado. He insertado este codigo en mi tabla
Y en el registro
Hay algo que olvido?
- AgentTicketOverviewSmall.dtl y AgentTicketOverviewSmall.pm
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>
Code: Select all
<tr>
<td>$QData{"TiempoAcumulado"}</td>
</tr>
-
- 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
¿ Como has rellenado la key TiempoAcumulado del hash en el .pm ?, y en que funcion.
Re: Mostrar Tiempo contabilizado en vistas de tickets
No entiendo lo que quieres decir con el hash
Tengo la función que calcula el tiempo invertido en cada ticket.
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.
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;
}
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.
-
- 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
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.
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.
Re: Mostrar Tiempo contabilizado en vistas de tickets
Ahora tengo en en fichero .dtl el siguiente codigo.
y en el fichero .pm dentros del sub Run y dentro del for
la linea que llama a la función
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.
Code: Select all
<td>
<a>$QData{"Horas"}</a>
</td>
Code: Select all
for my $TicketID ( @{ $Param{TicketIDs} } ) {
Code: Select all
#escribir total horas
$Article{Horas} = $Self->TicketAccountedTimeGet(TicketID => 1234);
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.
Re: Mostrar Tiempo contabilizado en vistas de tickets
Ya esta resuelto, le estaba pasando mal el parametro al TicketID