Advertisement
Guest User

Untitled

a guest
Mar 20th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.72 KB | None | 0 0
  1. //Автор: dshirykalov
  2. // SCRIPTSD4000890
  3. //Дата создания: 22.04.2015
  4. //Изменен: mvostrikova
  5. //дата изменения: 08.11.2017
  6. //Назначение: действие при входе в статус
  7. /**
  8. * Ответственным за заявку назначается ответственный за отдел-контрагент
  9. * Если у отдела нет ответственного, то назначается ответственный за отдел-родитель и т.д., пока не найдем ответственного
  10. * Если ответственный не определился, то назначает ответственного за услугу заявки.
  11. * Если услуга или ответственный за услугу не указаны,
  12. * назначается "глобальный" ответственный по умолчанию (из свойств компании).
  13. */
  14.  
  15. //ПАРАМЕТРЫ------------------------------------------------------------
  16. OU_RESP_ATTR = 'inResponse' // код атрибута "Ответственный" в отделе
  17. OU_RESP_EMPL_ATTR = 'inResponse_em'
  18. OU_RESP_TEAM_ATTR = 'inResponse_te'
  19.  
  20. SERVICE_RESP_ATTR = 'responsible' // код атрибута "Ответственный" услуги
  21. SERVICE_RESP_EMPL_ATTR = 'responsibleEmployee' // код атрибута "Ответственный (сотрудник)" услуги
  22. SERVICE_RESP_TEAM_ATTR = 'responsibleTeam' // код атрибута "Ответственный (команда)" услуги
  23.  
  24. GLOBAL_RESP_ATTR = 'responsDef' // код атрибута "Ответственный за заявки (по умолчанию)" компании
  25. GLOBAL_RESP_EMPL_ATTR = 'responsDef_em' // код атрибута "Ответственный за заявки (по умолчанию) (Сотрудник)" компании
  26. GLOBAL_RESP_TEAM_ATTR = 'responsDef_te' // код атрибута "Ответственный за заявки (по умолчанию) (Команда)" компании
  27.  
  28. //ОСНОВНОЙ БЛОК------------------------------------------------
  29. if ((subject.responsible != null) || (subject.masterMassProblem != null))
  30. {
  31. // если ответственный за заявку был установлен на форме добавления,
  32. // или заявка является подчинённой, завершаем работу
  33. utils.edit(subject, [firstResp : subject.responsible])
  34. return
  35. }
  36.  
  37. def ou = subject.clientOU
  38. def responsibleEmployee
  39. def responsibleTeam
  40.  
  41. while (ou != null && ou.inResponse == null)
  42. {
  43. ou = ou.parent
  44. }
  45.  
  46. if (ou)
  47. {
  48. responsibleEmployee = ou[OU_RESP_EMPL_ATTR]
  49. responsibleTeam = ou[OU_RESP_TEAM_ATTR]
  50. }
  51. else
  52. {
  53. if ((subject.service != null) && (subject.service[SERVICE_RESP_ATTR] != null))
  54. {
  55. // если для заявки указана услуга, и для этой услуги указан ответственный, то
  56. // устанавливаем данного ответственного ответственным за заявку
  57. responsibleEmployee = subject.service[SERVICE_RESP_EMPL_ATTR]
  58. responsibleTeam = subject.service[SERVICE_RESP_TEAM_ATTR]
  59. }
  60. else
  61. {
  62. // иначе устанавливаем ответственного за заявку из "глобальных" настроек
  63. def root = utils.get('root', [:])
  64.  
  65. responsibleEmployee = root[GLOBAL_RESP_EMPL_ATTR]
  66. responsibleTeam = root[GLOBAL_RESP_TEAM_ATTR]
  67. }
  68. }
  69.  
  70. utils.edit(subject, ['responsibleEmployee': responsibleEmployee, 'responsibleTeam': responsibleTeam])
  71. utils.edit(subject, [firstResp : subject.responsible])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement