Dynamische Felder

Hilfe zu Znuny Problemen aller Art
Locked
Rene68
Znuny newbie
Posts: 76
Joined: 09 Jun 2010, 14:37
Znuny Version: OTRS 6

Dynamische Felder

Post by Rene68 »

Hallo,

und noch eine Frage ich würde gerne eine Zeitberechnung für Tätigkeiten anhand von Dynamischen Felder in einer Notiz erzeugen.

Hat da einer Idee wie man das machen könnte.

Plan wäre so ein Dyn Feld Tätigkeitsbeginn (Datum Uhrzeit) ein Feld Tätigkeitsende (Datum Uhrzeit)
Berechnung in ein drittes Feld ?
OTRS :5
RStraub
Znuny guru
Posts: 2210
Joined: 13 Mar 2014, 09:16
Znuny Version: 6.0.14
Real Name: Rolf Straub

Re: Dynamische Felder

Post by RStraub »

Wohl über einen GenericAgent der auf die Events DynamicFieldUpdate lauscht und dann ein selbstgeschriebenes Modul aufruft.
Currently using: OTRS 6.0.14 -- MariaDB -- Ubuntu 16 LTS
Rene68
Znuny newbie
Posts: 76
Joined: 09 Jun 2010, 14:37
Znuny Version: OTRS 6

Re: Dynamische Felder

Post by Rene68 »

RStraub wrote:Wohl über einen GenericAgent der auf die Events DynamicFieldUpdate lauscht und dann ein selbstgeschriebenes Modul aufruft.
Hättest du da einen Ansatz für mich?
OTRS :5
RStraub
Znuny guru
Posts: 2210
Joined: 13 Mar 2014, 09:16
Znuny Version: 6.0.14
Real Name: Rolf Straub

Re: Dynamische Felder

Post by RStraub »

GA-Filter usw. solltest du aus dem Handbuch hinbekommen. Füge dann unten bei "Execute Custom Module" dein eigenes Modul hinzu, z.B. "CalculateDynField". Dieses müsstest du in einer .xml unter ~/Kernel/Config/Files registrieren und dann erzeugen, z.B. ~/Custom/CalculateDynField.pm

Eine Minimalkonfiguration könnte dann so aussehen:

Code: Select all

package CalculateDynField;

use strict;
use warnings;
use utf8;
use lib '/opt/otrs/';
use lib '/opt/otrs/Kernel/cpan-lib';
use lib '/opt/otrs/Custom';

use Kernel::System::ObjectManager;
local $Kernel::OM = Kernel::System::ObjectManager->new(
    'Kernel::System::Log' => {
        LogPrefix => 'CalculateDynField',
    },
);

sub new {
    my ( $Type, %Param ) = @_;

    # allocate new hash for object
    my $Self = {%Param};
    bless( $Self, $Type );

    return $Self;
}

sub Run {
    my ( $Self, %Param ) = @_;

    my $TicketObject = $Kernel::OM->Get('Kernel::System::Ticket');
    my %Ticket = $TicketObject->TicketGet(
         TicketID => $Param{TicketID},
         UserID => 1,
         DynamicFields => 1,
    );
    
    # Ab hier selbst anpassen
    my $Summe = $Ticket{DynamicField_ArbeitszeitEnde} - $Ticket{DynamicField_ArbeitszeitBeginn}
    # Pseudocode folgt
    $TicketObject->TicketUpdate(
       TicketID => $Param{TicketID},
       DynamischesFeld => {
          Name => "ArbeitszeitSumme",
          Wert => $Summe,
       },
    );
}
1;
Hoffe das hilft dir weiter :)
Currently using: OTRS 6.0.14 -- MariaDB -- Ubuntu 16 LTS
Rene68
Znuny newbie
Posts: 76
Joined: 09 Jun 2010, 14:37
Znuny Version: OTRS 6

Re: Dynamische Felder

Post by Rene68 »

Hi Rstraub,

Danke das hilft mir auf jedenfall weiter GA Filter und so sind kein Problem, ich hatte mich nur total verrannt.

Also nochmal Danke für dein Hilfe.
OTRS :5
Locked