...

Сценарий выбора сотрудника

Тема в разделе "Вопросы по функционалу", создана пользователем anastasiyaermolina, 25 дек 2019.

Метки:
  1. anastasiyaermolina

    anastasiyaermolina New Member

    Здравствуйте, подскажите пожалуйста, как правильно составить сценарий, чтобы в выпадающем списке были только те сотрудники, которые являются подчиненными авторизованного пользователя.
     
  2. Юлия

    Юлия Member

  3. anastasiyaermolina

    anastasiyaermolina New Member

    Спасибо, Юлия.

    А как этот список сейчас загрузить в фильтр?

    var settings = (EntitySettings)context.GetSettingsFor (c => c.subordinates);
    //загружаем текущего авторизованного пользователя
    var user = PublicAPI.Portal.Security.User.GetCurrentUser();
    //получаем список подчиненных пользователя
    var subordinates = PublicAPI.Portal.Security.OrganizationItem.GetSubordinateByUser(user);

    settings.FilterQuery = "Id="+ каким образом здесь можно получить id из списка subordinates?
     
  4. Юлия

    Юлия Member

    Можно циклом перебрать всех подчиненных, взять их Id, записать в строку через запятую, убрать из строки последний символ (запятую), то есть должна получиться примерно строка "1, 56, 111, 890", а в фильтре использовать эту строку
    FilterQuery ="Id in (" + userList + ")";
    userList - это наша строка с айдишниками
     
    Последнее редактирование: 26 дек 2019
  5. pushkarev

    pushkarev Active Member

    Можно сделать проще, через функции EQL в фильтрации свойства:
    Код:
    var settings = (EntitySettings)context.GetSettingsFor(c => c.subordinates);
    settings.FilterQuery = "Id in GetUserSubordinate(CurrentUser())";
    settings.Save();
     
  6. anastasiyaermolina

    anastasiyaermolina New Member

    Уточните, данная функция помещается в разделе сценарии процесса?
     
  7. Юлия

    Юлия Member

    Сценарий задается при загрузке формы задачи. Этот функционал доступен только в коммерческих редакциях.
     

Поделиться: