Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Автор: dshirykalov
- // SCRIPTSD4000890
- //Дата создания: 22.04.2015
- //Изменен: mvostrikova
- //дата изменения: 08.11.2017
- //Назначение: действие при входе в статус
- /**
- * Ответственным за заявку назначается ответственный за отдел-контрагент
- * Если у отдела нет ответственного, то назначается ответственный за отдел-родитель и т.д., пока не найдем ответственного
- * Если ответственный не определился, то назначает ответственного за услугу заявки.
- * Если услуга или ответственный за услугу не указаны,
- * назначается "глобальный" ответственный по умолчанию (из свойств компании).
- */
- //ПАРАМЕТРЫ------------------------------------------------------------
- OU_RESP_ATTR = 'inResponse' // код атрибута "Ответственный" в отделе
- OU_RESP_EMPL_ATTR = 'inResponse_em'
- OU_RESP_TEAM_ATTR = 'inResponse_te'
- SERVICE_RESP_ATTR = 'responsible' // код атрибута "Ответственный" услуги
- SERVICE_RESP_EMPL_ATTR = 'responsibleEmployee' // код атрибута "Ответственный (сотрудник)" услуги
- SERVICE_RESP_TEAM_ATTR = 'responsibleTeam' // код атрибута "Ответственный (команда)" услуги
- GLOBAL_RESP_ATTR = 'responsDef' // код атрибута "Ответственный за заявки (по умолчанию)" компании
- GLOBAL_RESP_EMPL_ATTR = 'responsDef_em' // код атрибута "Ответственный за заявки (по умолчанию) (Сотрудник)" компании
- GLOBAL_RESP_TEAM_ATTR = 'responsDef_te' // код атрибута "Ответственный за заявки (по умолчанию) (Команда)" компании
- //ОСНОВНОЙ БЛОК------------------------------------------------
- if ((subject.responsible != null) || (subject.masterMassProblem != null))
- {
- // если ответственный за заявку был установлен на форме добавления,
- // или заявка является подчинённой, завершаем работу
- utils.edit(subject, [firstResp : subject.responsible])
- return
- }
- def ou = subject.clientOU
- def responsibleEmployee
- def responsibleTeam
- while (ou != null && ou.inResponse == null)
- {
- ou = ou.parent
- }
- if (ou)
- {
- responsibleEmployee = ou[OU_RESP_EMPL_ATTR]
- responsibleTeam = ou[OU_RESP_TEAM_ATTR]
- }
- else
- {
- if ((subject.service != null) && (subject.service[SERVICE_RESP_ATTR] != null))
- {
- // если для заявки указана услуга, и для этой услуги указан ответственный, то
- // устанавливаем данного ответственного ответственным за заявку
- responsibleEmployee = subject.service[SERVICE_RESP_EMPL_ATTR]
- responsibleTeam = subject.service[SERVICE_RESP_TEAM_ATTR]
- }
- else
- {
- // иначе устанавливаем ответственного за заявку из "глобальных" настроек
- def root = utils.get('root', [:])
- responsibleEmployee = root[GLOBAL_RESP_EMPL_ATTR]
- responsibleTeam = root[GLOBAL_RESP_TEAM_ATTR]
- }
- }
- utils.edit(subject, ['responsibleEmployee': responsibleEmployee, 'responsibleTeam': responsibleTeam])
- utils.edit(subject, [firstResp : subject.responsible])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement