Добрый день.
Можно ли настроить колонку с информацией о дате/времени последнего агентского ответа на заявку? Попробовала настраивать разные колонки, но нужной инфо не нашел. Последнее изменение не подходит.
Настройка колонки в дайджесте
Модератор: ykolesnikov
-
- OTRS Гуру
- Сообщения: 5203
- Зарегистрирован: 20 сен 2010, 18:17
- Откуда: Москва
- Благодарил (а): 94 раза
- Поблагодарили: 84 раза
Re: Настройка колонки в дайджесте
Добрый день!
Настроить - нет, нужна доработка, чтобы вытащить это время.
Настроить - нет, нужна доработка, чтобы вытащить это время.
С уважением,
Алексей Юсов
Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal
Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!
Алексей Юсов
Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal
Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!
-
- OTRS Новобранец
- Сообщения: 64
- Зарегистрирован: 15 сен 2016, 18:00
- Благодарил (а): 2 раза
- Поблагодарили: 1 раз
-
- OTRS Новобранец
- Сообщения: 30
- Зарегистрирован: 29 апр 2018, 09:26
- Благодарил (а): 1 раз
- Поблагодарили: 9 раз
Re: Настройка колонки в дайджесте
Добрый день!
Вот решение Вашего вопроса:
1. Создаем динамическое поле с типом текст, имя обязательно укажите "DateFix", название можно любое.
2. Создаем файл TAA4OTRS_DateFix.pm, со следующим содержимым и копируем файл в папку Kernel/System/Ticket/Event :
3. Создаем файл TAA4OTRS_DateFix.xml, со следующим содержимым и копируем файл в папку Kernel/Config/Files, тут <Item Key="State">Решено</Item>, в место "Решено", укажите состояние которое будем отслеживать:
4. В конфигурации Ticket → Frontend::Agent::Dashboard, находим DashboardBackend###0130-TicketOpen (для открытых заявок), в DefaultColumns добавляем строку ключ DynamicField_DateFix, значение 1. При необходимости поле можно вывести в любой вид где можно выводить динамическое поле.
Все готово, теперь при переводе заявки в нужное состояние, зафиксируется дата в динамическом поле.
Лень было упаковать в установочный пакет, если не разберетесь пишите, упакую.
Работает в 5 версии OTRS
Вот решение Вашего вопроса:
1. Создаем динамическое поле с типом текст, имя обязательно укажите "DateFix", название можно любое.
2. Создаем файл TAA4OTRS_DateFix.pm, со следующим содержимым и копируем файл в папку Kernel/System/Ticket/Event :
Код: Выделить всё
package Kernel::System::Ticket::Event::TAA4OTRS_DateFix;
use strict;
use warnings;
use utf8;
our @ObjectDependencies = (
'Kernel::System::Ticket',
);
sub new {
my ( $Type, %Param ) = @_;
my $Self = {};
bless( $Self, $Type );
return $Self;
}
sub Run {
my ( $Self, %Param ) = @_;
for ( qw( Data Event Config ) )
{
if ( !$Param{$_} )
{
$Kernel::OM->Get('Kernel::System::Log')->Log(
Priority => 'error',
Message => "TAA4OTRS_DateFix: Need $_!"
);
return;
}
}
if ( !$Param{Data}->{TicketID} )
{
$Kernel::OM->Get('Kernel::System::Log')->Log(
Priority => 'error',
Message => "TAA4OTRS_DateFix: Need TicketID in Data!"
);
return;
}
my %Ticket = $Kernel::OM->Get('Kernel::System::Ticket')->TicketGet(
TicketID => $Param{Data}->{TicketID},
DynamicFields => 0,
UserID => 1,
);
if ( $Ticket{State} eq $Param{Config}->{State} )
{
my $DynamicField = $Kernel::OM->Get('Kernel::System::DynamicField')->DynamicFieldGet( Name => 'DateFix' );
if ( !$DynamicField )
{
$Kernel::OM->Get('Kernel::System::Log')->Log(
Priority => 'error',
Message => "TAA4OTRS_DateFix: Dynamic field 'DateFix' not defined!",
);
return;
}
my $TimeObject = $Kernel::OM->Get('Kernel::System::Time');
my ($Sec, $Min, $Hour, $Day, $Month, $Year, $WeekDay) = $TimeObject->SystemTime2Date(
SystemTime => $TimeObject->SystemTime(),
);
$Kernel::OM->Get('Kernel::System::DynamicField::Backend')->ValueSet(
DynamicFieldConfig => $DynamicField,
ObjectID => $Param{Data}->{TicketID},
Value => "$Day.$Month.$Year $Hour:$Min", # Указываем формат времени дд.мм.гггг чч:мм. При необходимости порядок можно сменить.
UserID => 1,
)
}
return 1;
}
1;
Код: Выделить всё
<?xml version="1.0" encoding="utf-8"?>
<otrs_config version="1.0" init="Application">
<ConfigItem Name="Ticket::EventModulePost###TAA4OTRS_DateFix" Required="0" Valid="1">
<Description Translatable="1">Фиксация даты перевода тикета в состояние указанное в State.</Description>
<Group>Ticket</Group>
<SubGroup>Core::Ticket</SubGroup>
<Setting>
<Hash>
<Item Key="Module">Kernel::System::Ticket::Event::TAA4OTRS_DateFix</Item>
<Item Key="Event">TicketStateUpdate</Item>
<Item Key="State">Решено</Item>
</Hash>
</Setting>
</ConfigItem>
</otrs_config>
Все готово, теперь при переводе заявки в нужное состояние, зафиксируется дата в динамическом поле.
Лень было упаковать в установочный пакет, если не разберетесь пишите, упакую.
Работает в 5 версии OTRS
Последний раз редактировалось alex.t 25 авг 2019, 18:24, всего редактировалось 1 раз.