Как получить TicketID родительского тикета?

Запросы на решение проблем

Модератор: ykolesnikov

Ответить
VARD32
OTRS Новобранец
Сообщения: 55
Зарегистрирован: 09 фев 2017, 15:18

Как получить TicketID родительского тикета?

Сообщение VARD32 » 25 апр 2018, 09:42

Здравствуйте.
После сплита появляется дочерний тикет, но никак не могу по дочернему TicketID получить TicketID родительского тикета.
Подскажите кто знает - как?

В модуле-обработчике на создание тикета:

Код: Выделить всё


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

    my $Self = {};
    bless( $Self, $Type );

    $Self->{LinkObject} = Kernel::System::LinkObject->new(%Param);
	
    return $Self;
}

sub Run {

    my ( $Self, %Param ) = @_;
    
    # check needed stuff
    for (qw(Data Event Config)) {
        if ( !$Param{$_} ) {
            $Self->{LogObject}->Log(
                Priority => 'error',
                Message  => "Need $_!"
            );
            return;
        }
    }

    if ($Param{Event} eq 'TicketCreate') {
    	
	my $TicketID = $Param{Data}->{TicketID}; # Получили TicketID только что созданного дочернего тикета.

        my %LinkList = $Self->{LinkObject}->LinkKeyListWithData(
           Object1   => 'Ticket',
           Key1      => $Param{Data}->{TicketID}, #дочерний TicketID
           Object2   => 'Ticket',
           Type      => 'ParentChild',
           Direction => 'Source',
           State     => 'Valid',
           UserID    => 1,
        );

        if (%LinkList) { # И почему то тут пусто :(
	    my $filename = "/usr/local/otrs/Custom/Kernel/summary.txt";
	    open(my $fh, '>', $filename) or die "Cant open.";
	    print $fh "Parent Ticket found.";
	    close $fh;
        }		
    }    	
    return 1;
}


Ответить