...

Произвольный выбор нескольких исполнителей

Тема в разделе "Разработчикам", создана пользователем Курило Елена, 30 авг 2018.

  1. Добрый день!
    Подскажите, возможно ли выбрать произвольный набор исполнителей для Динамической зоны ответственности?
    Для статической зоны можно указать группу, и задание будет отправлено группе, а выполнять будет один пользователь.
    Возможно ли настроить зону в дизайнере таким образом, чтобы указать исполнителями несколько человек из списка (не связанных группой или должностью) ?
    И не заранее их определять, а выбирать именно в процессе.
     
  2. akarimov

    akarimov Member

  3. В зону ответственности процесса необходимо добавить выбор нескольких пользователей для выполнения каждым из пользователей одного и того же задания. Использую динамический тип (выбор из списка). Когда в новую переменную добавляю тип «Пользователь» переменная создается и я могу ее использовать в данной зоне ответственности. Когда выбираю тип «Группа пользователей» или «Набор пользователей» - тогда переменную не могу использовать для зоны ответственности. Ее в перечне переменных нет. Хотя во вкладке «Контекст» она видна и использовать ее для ввода данных на любом из блоков я могу. А прикрутить к зоне ответственности не удается. Были попытки создать переменную с типом «Пользователь» и поставить тип связи «Многие-ко-многим» - результат тот же – в списке переменных ее нет. Подскажите, что я делаю не так? Или как решить данный вопрос?

    Механизм кто первый позволяет выполнить задачу только одному пользователю из списка. А необходимо выполнение каждым пользователем, кто указан в перечне.

    Пользуюсь Community Edition

    Детально на примере переменной "Ответственные (группа)"
    Добавила переменную с Типом "Пользователи" и Типом связи "Многие-ко-многим"
    На первом скрине показана карточка создания этой переменной.
    На втором - показано, что в перечне, где можно выбрать переменную для зоны ответственности - переменной "Ответственные (группа)" нет.
    На третьем - во вкладке "контекст" свойство присутствует. Это свойство я могу добавить на форму для его заполнения во время выполнения процесса, а добавить в зону ответственности - для выполнения задания этими пользователями - не получается.
     

    Вложения:

    Последнее редактирование: 3 сен 2018
  4. akarimov

    akarimov Member

    Такое возможно только в блоке документооборот, обычные задачи по процессу в ELMA исполняются только одним сотрудником.
    Если нужно чтобы задача разлеталась многим то либо создавать простые задачи сценарием если форма и выходы задачи не важны, или отдельным процессом в котором только одна задача, и параллельный запуск нескольких экземпляров этого процесса
     
  5. Я правильно понимаю, что при параллельном запуске или запуске по сценарию для каждого исполнителя будет отдельное поле?!
    Мне важно то, чтоб исполнители записывались все в одно поле, как это реализовано во встроенном функционале Подзадачи. И как это позволяет Тип связи "Многие-ко-многим".
     
    Последнее редактирование: 4 сен 2018
  6. akarimov

    akarimov Member

    Это зависит от того как реализуете параллельный запуск или запуск по сценарию, можно и из одного поля брать исполнителей.
     
  7. Подскажите, пожалуйста, как можно реализовать выбор нескольких исполнителей в одном поле?!
     
    Последнее редактирование: 6 сен 2018
  8. akarimov

    akarimov Member

    Что вы подразумеваете под выбором? Делаете поле с пользователем связь многие ко многим все как вы написали, в задачу если исполнителей подбирает человек выводите это поле с обязательностью исполнения.
    Если нужно уже выбранным исполнителям нарезать задачи, то в базе знаний есть пример как создать задачу сценарием. Соотв. в цикле по исполнителям создаете эти задачи.
     
  9. В том-то и дело, что при создании поля с типом "пользователь" и связью "многие-ко-многим" я не могу выбрать эту переменную в зоне ответственности. Почему ее нет в перечне(выпадающем списке) созданных переменных? А во вкладке "контекст" есть.
    На скринах выше я показывала свои действия
     
    Последнее редактирование: 5 сен 2018
  10. akarimov

    akarimov Member

    Потому что нельзя задать нескольких исполнителей через зону ответственности я же сразу это сказал. И сразу объяснил какие варианты есть, но они все вне простой настройки БП придется писать код.
     
  11. спасибо за помощь!
     
  12. Nikita

    Nikita New Member

    Я сделал все по руководству.
    Так выглядит часть кода, которая отвечает за назначение Workers. Не работало, до тех пор, пока не поменял WorkerType (OrganizationItemDTO на UserDTO).
    `
    settings.Workers.Clear();
    foreach (var user in users)
    {
    settings.Workers.Add(new Worker { WorkerType = UserDTO.MetadataUid, WorkerId = user.Id });
    }
    settings.Save();
    `
     
    Последнее редактирование: 16 окт 2020
  13. akarimov

    akarimov Member

    Ну все правильно, когда выбираете OrganizationItemDTO, надо передавать, как сказано в руководстве ИДшники элементов оргструктуры а не ИДшники пользователей.
    Если нужны конкретные пользователи а не все по нужной должности, то приведенный код корректен.
     
    1 это нравится

Поделиться: