none
Задание задачи нескольким пользователям RRS feed

  • Вопрос

  • Товарищи по оружию))) посоветуйте как выйти из ситуации: необходимо реализовать одной задачи нескольким пользователям. причем кол-во пользователей может варьироваться от одно до 15-ти. Прочитал пост, но что-то не понял. У меня есть довольно сложный workflow, расчитанный на одного пользователя, как бы мне его адаптировать под несколькиз пользователей, такое вообще возможно? Я разрешил в поле выбора пользователя выбор нескольких аользователей, воркфлов работает, но только по первому пользователю. такой способ как здесь применять не хотелось бы (15 пользователей как ни как).

    Ну или как вариант можно ли как-то дублировать задачи изменяя только пользователя, чтоб каждый раз задачу с нуля не создавать?

    13 июля 2011 г. 6:31

Ответы

Все ответы

  • По поводу дублирования, в EventReciver'e например, считаете, сколько у вас пользователей и столько создаете копий задачи, при этом в поле Кому назначено, подставляете по очереди пользователей из первой задачи. И так у вас создастся 15 задач и отработает 15 WF для разных пользователей

    13 июля 2011 г. 6:42
  • Сергей, а по подробней можно по поводу EventReciver  в частности можно ли его вложить в проект workflow, чтоб они раворачивалиси вместе? А то у меня как-то с EventReciver что-то не складываются отношения(((. Вы мне уже советовали использовать EventReciver, но у меня реализовать EventReciver так и не получилось.

    13 июля 2011 г. 6:52
  • В VisualStudio создаете новый проект, В шаблонах находите SharePoint, раскрываете и выбираете 2010, там есть Приемник событий (EventReceiver), нажимаете Ок. Выбираете сайт (http://localhost/site) и развернуть как решение фермы -> Тип приемника событий - События элемента списка, Элемент, который должен быть источником событий: - тут указывается тип списка, у вас как я понимаю задачи. Обработать следующие ошибки: Добавлен элемент. Откроется EventReceiver1.cs Там будет:

    public override void ItemAdded(SPItemEventProperties properties)

    {

    base.ItemAdded(properties)

    }

    в этом методе выполняется код, после добавления элемента, в нем вам и надо создать копии

    13 июля 2011 г. 7:14
  • Вот сдесь можно почитать, на самом деле про ER много инфы в инете:

    http://207.46.16.248/ru-ru/library/gg749858.aspx

    http://207.46.16.248/ru-ru/library/gg252010.aspx

    13 июля 2011 г. 7:25
  • Спасибо, посмотрю.
    13 июля 2011 г. 8:09
  • Если задачу должен получить каждый пользователь и результаты выполнения должны быть независимы, то вам нужно назначить каждому пользователю по задаче.

    Посмотрите в SDK по 2007 версии есть пример. http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=79 - кажется называется MultiStageWorkflow

    Общий смысл: вы создаете WF (или в вашем WF добавляете) в котором используете ReplicatorActivity с режимом Parallel. В репликатор передаете список пользователей. Репликатор работает по принципу foreach только может это делать параллельно. Для каждого пользователя создаете задачу.

     

     


    Don't forget to vote for useful replies and/or mark answers for your questions - that helps other guys to find the answer faster.
    14 июля 2011 г. 7:30
  • Если задачу должен получить каждый пользователь и результаты выполнения должны быть независимы, то вам нужно назначить каждому пользователю по задаче.

    Посмотрите в SDK по 2007 версии есть пример. http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=79 - кажется называется MultiStageWorkflow

    Общий смысл: вы создаете WF (или в вашем WF добавляете) в котором используете ReplicatorActivity с режимом Parallel. В репликатор передаете список пользователей. Репликатор работает по принципу foreach только может это делать параллельно. Для каждого пользователя создаете задачу.

     

     


    Don't forget to vote for useful replies and/or mark answers for your questions - that helps other guys to find the answer faster.

    Спасибо, возьму на заметку. Вопрос пока не закрываю т.к. незнаю каким способом решу задача. Как решу так отпишу какой вариант использовал.
    14 июля 2011 г. 8:54
  • http://207.46.16.248/en-us/library/hh128696.aspx

    Готовое решение... Надо конечно немного помудрить с созданием Custom activity, но вполне решаемо

    14 июля 2011 г. 13:19
  • http://207.46.16.248/en-us/library/hh128696.aspx

    Готовое решение... Надо конечно немного помудрить с созданием Custom activity, но вполне решаемо


    Подскажите пожалуйста как помудрить с этим кастом ативити, а то что-то ничего не понятно. Как создать кастом активити наследуемый от последовательного воркфлов?

    19 июля 2011 г. 8:47
  • Похоже, в VS 2010 нет создания activities из Sharepoint workflow project:)

    Но всё это можно делать через обычные Workflow project и многочисленные вариации, такие как workflow library.

    А в Sharepoint рабочий процесс будет попадать через Feature и простой elements файл.


    Ivan Gorbadey. Sharepoint 2010 MCPD & MCITP.
    19 июля 2011 г. 9:37
  • Пусть так. Но как-то же Scot Hillier это сделал!!! интерисует как?

    19 июля 2011 г. 10:01
  • Правой кнопкой на проекте->Add->New item, потом "General" и выбираешь "Component Class".

    В коде этой компоненты:

    using System.Workflow.Activities;
    

    И заменяешь класс с Component на SequenceActivity

    Делаешь Rebuild проекта. Теперь эта компонента доступна при проектировании Workflow Sharepoint.

    19 июля 2011 г. 11:34
  • Можно создать WF, затем заменить наследуемый класс на SequenceActivity
    Don't forget to vote for useful replies and/or mark answers for your questions - that helps other guys to find the answer faster.
    19 июля 2011 г. 12:10