Изменение значения динамического поля
Модератор: ykolesnikov
Изменение значения динамического поля
Всем доброго дня,
Бьюсь над проблемой сохранения статусов эскалации в динамических полях. Вот я создал динамическое поле EscalationTime1 типа text. В модуле Ticket.pm пытаюсь в подпрограмме TicketEscalationIndexBuild изменить значение этого поля.
После строки 2526 вставляю код который по идее должен сохранить значение EscalationTime в эту переменную следующим образом:
my $Success = $DynamicFieldValueObject->ValueSet(
FieldID => 'EscalationTime1', # ID of the dynamic field В каком виде это FieldID должно быть? В виде названия поля или его числового ID из базы?
ObjectID => $TicketID, # ID of the current object that the field
# must be linked to, e. g. TicketID
Value => [
{
ValueText => '$EscalationTimes{escalation_solution_time}', # optional, one of these fields must be provided
},
],
UserID => $UserID,
);
В результате получаю ошибку:
Global symbol "$DynamicFieldValueObject" requires explicit package name at /opt/[..]
Модуль подключен
use Kernel::System::DynamicFieldValue;
Как же правильно вызвать эту процедуру изменения динамического поля?
Бьюсь над проблемой сохранения статусов эскалации в динамических полях. Вот я создал динамическое поле EscalationTime1 типа text. В модуле Ticket.pm пытаюсь в подпрограмме TicketEscalationIndexBuild изменить значение этого поля.
После строки 2526 вставляю код который по идее должен сохранить значение EscalationTime в эту переменную следующим образом:
my $Success = $DynamicFieldValueObject->ValueSet(
FieldID => 'EscalationTime1', # ID of the dynamic field В каком виде это FieldID должно быть? В виде названия поля или его числового ID из базы?
ObjectID => $TicketID, # ID of the current object that the field
# must be linked to, e. g. TicketID
Value => [
{
ValueText => '$EscalationTimes{escalation_solution_time}', # optional, one of these fields must be provided
},
],
UserID => $UserID,
);
В результате получаю ошибку:
Global symbol "$DynamicFieldValueObject" requires explicit package name at /opt/[..]
Модуль подключен
use Kernel::System::DynamicFieldValue;
Как же правильно вызвать эту процедуру изменения динамического поля?
OTRS 3.3.4
CentOS 6.5, MySQL 5.1.X
OTRS 3.3.6 тестовая
CentOS 6.5, MySQL 5.1.X
OTRS 3.3.6 тестовая
Re: Изменение значения динамического поля
Может существуют другие методы изменения значений динамических полей?
OTRS 3.3.4
CentOS 6.5, MySQL 5.1.X
OTRS 3.3.6 тестовая
CentOS 6.5, MySQL 5.1.X
OTRS 3.3.6 тестовая
Re: Изменение значения динамического поля
С синтаксисом разобрался. Теперь если статически определить FieldID то изменение значение динамического поля работает. Осталось понять, как получить FieldID по имени динамического поля.
Господа разработчики сведующие в этом вопросе, помогите пожалуйста разобраться.
Господа разработчики сведующие в этом вопросе, помогите пожалуйста разобраться.
OTRS 3.3.4
CentOS 6.5, MySQL 5.1.X
OTRS 3.3.6 тестовая
CentOS 6.5, MySQL 5.1.X
OTRS 3.3.6 тестовая
-
- OTRS Бывалый
- Сообщения: 310
- Зарегистрирован: 25 окт 2012, 15:06
- Откуда: Воронеж
- Поблагодарили: 2 раза
Re: Изменение значения динамического поля
Код: Выделить всё
my $FieldID;
my $DynamicField = $Self->{DynamicFieldObject}->DynamicFieldGet(
Name => $DynamicFieldName,
);
if ( $DynamicField && $DynamicField->{ID} ) {
$FieldID = $DynamicField->{ID};
}
Меркушов Виктор, perl программист
Re: Изменение значения динамического поля
Спасибо! Все получилось!
OTRS 3.3.4
CentOS 6.5, MySQL 5.1.X
OTRS 3.3.6 тестовая
CentOS 6.5, MySQL 5.1.X
OTRS 3.3.6 тестовая
-
- OTRS Гуру
- Сообщения: 3119
- Зарегистрирован: 24 дек 2010, 09:27
- Откуда: Череповец
- Благодарил (а): 4 раза
- Поблагодарили: 5 раз
- Контактная информация:
Re: Изменение значения динамического поля
А теперь, если это не секрет, расскажите решение полностью. Заранее спасибо.
С уважением Юрий Колесников
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
OTRS 5.0.22, ITSM 5.0.22
OpenSuse 13.2, MariaDB 10.0.22
OTRS 5.0.22, ITSM 5.0.22 тестовая
-
- OTRS Новобранец
- Сообщения: 148
- Зарегистрирован: 30 апр 2013, 19:08
- Откуда: Украина, Киев.
- Поблагодарили: 1 раз
Re: Изменение значения динамического поля
Меня тоже очень интересует данная тема, поделитесь пожалуйста.
Хочу реализовать след. схему: в реквизитах клиента будет висеть поле "версия", а при заполнении заявки хотелось бы его значение отправить в динамическое поле, чтобы агентам меньше заполнять.
Хочу реализовать след. схему: в реквизитах клиента будет висеть поле "версия", а при заполнении заявки хотелось бы его значение отправить в динамическое поле, чтобы агентам меньше заполнять.
OTRS 5s, Ubuntu 12.04
-
- OTRS Гуру
- Сообщения: 5192
- Зарегистрирован: 20 сен 2010, 18:17
- Откуда: Москва
- Благодарил (а): 92 раза
- Поблагодарили: 82 раза
Re: Изменение значения динамического поля
Edit Config Settings in Ticket -> Core::Ticketmukexa писал(а): Хочу реализовать след. схему: в реквизитах клиента будет висеть поле "версия", а при заполнении заявки хотелось бы его значение отправить в динамическое поле, чтобы агентам меньше заполнять.
DynamicFieldFromCustomerUser::Mapping
С уважением,
Алексей Юсов
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 Новобранец
- Сообщения: 148
- Зарегистрирован: 30 апр 2013, 19:08
- Откуда: Украина, Киев.
- Поблагодарили: 1 раз
Re: Изменение значения динамического поля
Благодарю за наводку!
В очередной раз поражаюсь гибкости такого комбайна как OTRS! )
В очередной раз поражаюсь гибкости такого комбайна как OTRS! )
OTRS 5s, Ubuntu 12.04
-
- OTRS Гуру
- Сообщения: 5192
- Зарегистрирован: 20 сен 2010, 18:17
- Откуда: Москва
- Благодарил (а): 92 раза
- Поблагодарили: 82 раза
Re: Изменение значения динамического поля
На самом деле этот функционал появился только в 3.3. Но мы делали такой аддон еще год назад, это было не очень сложно.
С уважением,
Алексей Юсов
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? Спросите меня как!