Accounted time for process ticket

Moderator: crythias

Locked
nicolotrs
Znuny newbie
Posts: 2
Joined: 27 Mar 2015, 12:19
Znuny Version: 4.0.5

Accounted time for process ticket

Post by nicolotrs »

Hi,
I'm trying to add the value "Accounted time" to a Process Ticket. Has someone already tried it???
Any suggestions? Is it possible??
Thank you all.
Angela
RStraub
Znuny guru
Posts: 2210
Joined: 13 Mar 2014, 09:16
Znuny Version: 6.0.14
Real Name: Rolf Straub

Re: Accounted time for process ticket

Post by RStraub »

I asked this (around a year ago?) in this forum. The response was, that this isn't implemented yet.

From my experience, I'd say it's not too hard, but isn't done yet, because a "accounted time" entry requires an article, but not all process tickets have articles. There might be some additional sanity checks needed.
Currently using: OTRS 6.0.14 -- MariaDB -- Ubuntu 16 LTS
retro2707
Znuny advanced
Posts: 131
Joined: 16 Apr 2014, 17:06
Znuny Version: 6.0.12

Re: Accounted time for process ticket

Post by retro2707 »

Is there any change on this? I have been asked to ensure all time is recorded for the service desk agents and that includes processes for reporting. We could really do with this feature..
Setup:
OTRS 6.0.12
Hosted on CentOS 7.4/ MySQL - MariaDB (5.5.60)
RStraub
Znuny guru
Posts: 2210
Joined: 13 Mar 2014, 09:16
Znuny Version: 6.0.14
Real Name: Rolf Straub

Re: Accounted time for process ticket

Post by RStraub »

We implemented a workaround for this issue:
viewtopic.php?f=62&t=25714

The custom module is based on the transition action "TicketArticleCreate" and has roughly 50 lines of perl code. How it works is:

1) Call the transition action with a keyword, e.g. "TimeUnit" (to ensure overloading and reusing of the module) and include a mandatory dynamic field.
2) Read the value of the internal field and set the time units for this article:

Code: Select all

    if ( $Param{Config}->{TimeUnit} ) {
        my $ArticleID = $TicketObject->ArticleCreate(
            %{ $Param{Config} },
            TicketID => $Param{Ticket}->{TicketID},
            UserID   => $Param{UserID},
        From     => $User{UserLogin},
        );

        if ( !$ArticleID ) {
            $Kernel::OM->Get('Kernel::System::Log')->Log(
                Priority => 'error',
                Message  => $CommonMessage
                    . "Couldn't create article for Ticket: "
                    . $Param{Ticket}->{TicketID} . '!',
            );
            return;
        }
        my $InternalTimeUnits = $Param{Ticket}->{DynamicField_TimeUnitsInternal};
        $TicketObject->TicketAccountTime(
            TicketID  => $Param{Ticket}->{TicketID},
            ArticleID => $ArticleID,
            TimeUnit  => $InternalTimeUnits,
            UserID    => $Param{UserID},
        );
   }
Currently using: OTRS 6.0.14 -- MariaDB -- Ubuntu 16 LTS
Locked