У мяне ёсць бізнес-сцэнар, як гэта:
- Карыстальнік загружае дакумент у бібліятэку дакументаў.
- Яна выбірае тып змесціва і ўводзіць метададзеныя па меры неабходнасці. Адно з палёў метададзеных з'яўляецца сцягам, "Urgent".
- Гэта запускае працоўны працэс SharePoint Designer, што, між іншым, uses the "Collect Data from a User" дзеянне.
"Collect Data from a User" стварае элемент у спісе задач просьбай аб прадастаўленні дазволу для гэтага дакумента.
Мне трэба было стварыць прадстаўленне спісу задач, якія паказалі тэрміновыя запыты на зацвярджэнне.
Рашэнне: Put the word "URGENT:" into the title of these tasks.
I would have preferred to specify the priority field directly. Аднак, Мне не ўдалося зрабіць гэта па некалькіх прычынах:
- Збіраць дадзеныя дзеянні не забяспечваюць механізм для абнаўлення любога поля, акрамя назвы (і тыя дадатковыя поля, для якіх вы хочаце сабраць дадзеныя).
- The "assign a to do item" дзеянне мае тыя ж праблемы.
- Можна ўставіць элемент у спіс (I.E. даданне аб'екта ў спісе задач непасрэдна) but this not a blocking action. That means that the workflow will not wait for the user to complete that task.
Я разглядаў некалькі падыходаў, перш чым (ўдзячна) realizing we could just put "urgent" у назве.
- Запуск працоўнага працэсу ў спісе задач сябе так, што, калі новая задача ствараецца, гэта неяк крыжаваныя спасылкі назад у дакумент, які пачаў першы працоўны працэс, pull out the urgent flag value and update priority as needed.
- Do something similar with an event receiver. On create of the task, знайсці адпаведны дакумент і абнаўляць па меры неабходнасці прыярытэтнага.
- Use the "create list item" action in conjunction with the "wait for field change" action and an event receiver. If we create a list item, we can specify all the fields we want. Use an event receiver to update the original item when the user completes the task and the "wait for field change" action’s condition would be met and the workflow would proceed. (Па некаторых прычынах, Я больш-менш абгрунтаваўся на гэтым падыходзе, перш чым мудра вырашыўшы сысці на некаторы час).
Існуе недахоп майго рашэння (Акрамя відавочнага факту, што толькі тэкст назва паказвае актуальнасць). Since "collect feedback" прымае толькі жорстка імёны назву, I need to use two different collect feedback actions whose only difference is that hard coded title.
Але, па меншай меры, ёсць рашэнне, якое не патрабуе прымачы падзей або дзеянняў, СПД.
Калі хто-то вырашыў гэта ў больш разумны спосаб, калі ласка, дайце мне ведаць,.
</канец>