Мне необходимо управлять заполнением поля ID компании

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

Модератор: ykolesnikov

Ответить
Миша Никитин
OTRS Новобранец
Сообщения: 5
Зарегистрирован: 05 июл 2017, 10:10

Мне необходимо управлять заполнением поля ID компании

Сообщение Миша Никитин » 05 июл 2017, 11:11

Подскажите, пожалуйста, как правильно решить в ОТРС такую задачу.
При просмотре статусов, поле ID КОМПАНИИ заполняется только для зарегистрированных клиентов.
Для агентов и людей, которых нет в базе - оно пустое.
Возможно ли сделать так, чтобы там отображался E-mail адресата.
В каком месте нужно по-программировать?
Спасибо.

ykolesnikov
OTRS Гуру
Сообщения: 3119
Зарегистрирован: 24 дек 2010, 09:27
Откуда: Череповец
Благодарил (а): 4 раза
Поблагодарили: 5 раз
Контактная информация:

Re: Мне необходимо управлять заполнением поля ID компании

Сообщение ykolesnikov » 05 июл 2017, 11:40

Вообще-то в стандартной установке так и сконфигурировано. Иначе, смотрите в config.pm, там где идет раздел про клиентов из встроенной базы.
С уважением Юрий Колесников
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
Зарегистрирован: 05 июл 2017, 10:10

Re: Мне необходимо управлять заполнением поля ID компании

Сообщение Миша Никитин » 05 июл 2017, 12:36

Спасибо, Юрий,
Мы провели обновление версии с 4.0.9 до 5.0.20.
Вроде бы все прошло нормально, но клиенты стали жаловаться на отсутствие такого функционала.
В 4-ке он, видимо, был по умолчанию, но может update не совсем штатно прошел, короче сейчас его нет.
Config.pm, по-моему, стандартный. Встроенной базы нет, т.е. есть общая база на Postgresql.
Если бы Вы намекнули, в каком направлении копать, я был бы счастлив :)
Сейчас идеи только грубые: по HTML находить нужные места, смотреть, какие там обработчики или классы используются,
найти нужное место в нужном pm-файле, и вставить туда костыль типа IF...
Наверняка, это можно настроить через WEB-конфигуратор, но я не знаю как.

ykolesnikov
OTRS Гуру
Сообщения: 3119
Зарегистрирован: 24 дек 2010, 09:27
Откуда: Череповец
Благодарил (а): 4 раза
Поблагодарили: 5 раз
Контактная информация:

Re: Мне необходимо управлять заполнением поля ID компании

Сообщение ykolesnikov » 05 июл 2017, 12:46

Под встроенной базой я подразумевал базу OTRS клиентов, а не внешнюю, как ActiveDirectory с авторизацией клиентов по ней.
В config.pm есть предложение Map

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

Map => [
        # note: Login, Email and CustomerID needed!
        # var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly, http-link-target
        [ 'UserTitle',      'Title',      'title',      1, 0, 'var', '', 0 ],
        [ 'UserLastname',   'Lastname',   'last_name',  1, 1, 'var', '', 0 ],
        [ 'UserFirstname',  'Firstname',  'first_name', 1, 1, 'var', '', 0 ],
        [ 'UserLogin',      'Username',   'login',      1, 1, 'var', '', 0 ],
        [ 'UserPassword',   'Password',   'pw',         0, 0, 'var', '', 0 ],
        [ 'UserEmail',      'Email',      'email',      1, 1, 'var', '', 0 ],
#        [ 'UserEmail',      'Email', 'email',           1, 1, 'var', '$Env{"CGIHandle"}?Action=AgentTicketCompose&ResponseID=1&TicketID=$Data{"TicketID"}&ArticleID=$Data{"ArticleID"}', 0 ],
        [ 'UserCustomerID', 'CustomerID', 'customer_id', 0, 1, 'var', '', 0 ],
#        [ 'UserCustomerIDs', 'CustomerIDs', 'customer_ids', 1, 0, 'var', '', 0 ],
        [ 'UserPhone',        'Phone',       'phone',        1, 0, 'var', '', 0 ],
        [ 'UserFax',          'Fax',         'fax',          1, 0, 'var', '', 0 ],
        [ 'UserMobile',       'Mobile',      'mobile',       1, 0, 'var', '', 0 ],
        [ 'UserStreet',       'Street',      'street',       1, 0, 'var', '', 0 ],
        [ 'UserZip',          'Zip',         'zip',          0, 0, 'var', '', 0 ],
        [ 'UserCity',         'City',        'city',         0, 0, 'var', '', 0 ],
        [ 'UserCountry',      'Country',     'country',      0, 0, 'var', '', 0 ],
        [ 'UserComment',      'Comment',     'comments',     1, 0, 'var', '', 0 ],
        [ 'ValidID',          'Valid',       'valid_id',     0, 1, 'int', '', 0 ],
    ],
В базе там было, по-моему
[ 'UserCustomerID', 'CustomerID', 'email', 0, 1, 'var', '', 0 ],
Я, правда, не работал с автосозданием клиентов.
С уважением Юрий Колесников
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
Зарегистрирован: 05 июл 2017, 10:10

Re: Мне необходимо управлять заполнением поля ID компании

Сообщение Миша Никитин » 05 июл 2017, 12:54

Вы правы, только у меня в Confige.pm ничего подобного нет, и не было в 4-й версии (архивы сохранены)
Найти бы, где этот маппинг, поскольку в логе постоянная ошибка :
OTRS-otrs.Console.pl-Maint::PostMaster::MailAccountFetch-73 DynamicField CustomerFirstname in DynamicFieldFromCustomerUser::Mapping must be set in system and valid.

ykolesnikov
OTRS Гуру
Сообщения: 3119
Зарегистрирован: 24 дек 2010, 09:27
Откуда: Череповец
Благодарил (а): 4 раза
Поблагодарили: 5 раз
Контактная информация:

Re: Мне необходимо управлять заполнением поля ID компании

Сообщение ykolesnikov » 05 июл 2017, 13:24

Нет, это про другое. В 5-ке появилась возможность сохранять данные клиента в динамических полях, чтобы при удалении клиента в заявке оставались данные клиента. Это настраивается в SysConfig (Конфигурация системы) для клиента - включение и имена динамических полей.
Что касается предыдущего, то можно посмотреть еще в default.pm
С уважением Юрий Колесников
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
Зарегистрирован: 05 июл 2017, 10:10

Re: Мне необходимо управлять заполнением поля ID компании

Сообщение Миша Никитин » 05 июл 2017, 13:32

Спасибо,
в Default.pm есть что-то похожее. Сейчас покопаюсь.

alexus
OTRS Гуру
Сообщения: 5192
Зарегистрирован: 20 сен 2010, 18:17
Откуда: Москва
Благодарил (а): 92 раза
Поблагодарили: 82 раза

Re: Мне необходимо управлять заполнением поля ID компании

Сообщение alexus » 06 июл 2017, 00:09

На самом деле надо слегка поправит package Kernel::System::PostMaster::NewTicket
С уважением,
Алексей Юсов

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 Новобранец
Сообщения: 5
Зарегистрирован: 05 июл 2017, 10:10

Re: Мне необходимо управлять заполнением поля ID компании

Сообщение Миша Никитин » 06 июл 2017, 18:04

Да, я уже разобрался.
Поэтому кому интересно, и чтобы самому не забыть изложу.
Переход происходил с версии 4.0.9 на 5.0.20
В 4.0.9 этот функционал работал, благо остались копии виртуалок.
Начиная с Patcha 5.0.16 настройка Config-a, о которой говорит Alexus, переползла в другую ветку.
Короче, это в Конфигурации системы группа Ticket, в нем Core::PostMaster, а там
PostMaster::NewTicket::AutoAssignCustomerIDForUnknownCustomers
(Стояло ДА, но галочка была снята)
После ее установки проблема решилась моментально.
Желаю удачи.

Ответить