日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

QuickFlow之任务代理-TaskDelegation

發布時間:2025/4/16 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 QuickFlow之任务代理-TaskDelegation 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1)概述

QuickFlow最新版本增加了任務代理功能。

所謂代理,指的是用戶可以事先配置其他用戶在指定的時間段來代替自己處理所有任務。

QuickFlow默認的代理配置采用一個列表實現,樣式如下:

2)如何啟用代理

默認情況下,代理沒有啟用,若要啟用代理,首先建立一個如上圖所示的列表,列表名QuickFlowDelegation,字段:

DelegatedUser,用戶類型,不能為空;

DelegateUser,用戶類型,不能為空;

BeginTime,時間類型,可以為空;

EndTime,時間類型,可以為空;

Enabled,bool類型,不能為空;

如果是英文站點,QuickFlow的安裝包內有個列表模板文件QuickFlowDelegationListEng.stp,可以將這個文件上傳到列表模板庫,然后基于這個模板創建列表。

創建好列表后,打開C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\LAYOUTS\QuickFlow目錄的global.config文件。將TaskDelegationProvider的注釋取消,如下:

<?xml version="1.0" encoding="utf-8"?> <GlobalConfiguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><CustomRoleUserProvider>QuickFlow.Core.SPRoleUserProvider,QuickFlow, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ec1e0fe6e1745628</CustomRoleUserProvider><TaskDelegationProvider>QuickFlow.Core.DefaultTaskDelegationProvider,QuickFlow, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ec1e0fe6e1745628</TaskDelegationProvider><!--if DelegationListSiteUrl is empty, system will use current site--><!--<DelegationListSiteUrl>http://codeartserver:81/sites/s1</DelegationListSiteUrl>--><DelegationListUrl>Lists/QuickFlowDelegation</DelegationListUrl><EventReceivers><Receiver Enabled="false" Name="Exception" Type="QuickFlow.EventBus.ExceptionEventReceiver,QuickFlow, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ec1e0fe6e1745628" /><Receiver Enabled="true" Name="Tracing" Type="QuickFlow.EventBus.TracingEventReceiver,QuickFlow, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ec1e0fe6e1745628" /></EventReceivers> </GlobalConfiguration>

然后重啟iis,代理功能就啟用了。

如果已經部署了QuickFlow,安裝最新版本wsp后,需要重新激活QuickFlow Feature。

啟用代理后,在代理有效期內,發給被代理人的任務都會自動分配給代理人,但是被代理人依然具有操作任務的權限。在QF最新的默認任務頁面上,系統的WorkflowHisboty控件也會顯示代理情況:

3)代理配置的擴展和自定義

如果你要實現自己的代理配置邏輯,可以自己實現一個類,實現ITaskDelegationProvider接口,部署到GAC,然后修改配置即可。

自己實現代理邏輯,可以參考系統默認實現的代碼:

public class DefaultTaskDelegationProvider : ITaskDelegationProvider{//public const string ListUrl = "Lists/QuickFlowDelegation";static LookupQueryField fieldDelegatedUser = new LookupQueryField("DelegatedUser");static TypedQueryField<DateTime> fieldBeginTime = new TypedQueryField<DateTime>("BeginTime");static TypedQueryField<DateTime> fieldEndTime = new TypedQueryField<DateTime>("EndTime");static QueryField fieldEnabled = new QueryField("Enabled");DateTime GetDate(string date){if (String.IsNullOrEmpty(date))return DateTime.MinValue;elsereturn Convert.ToDateTime(date);}#region ITasDelegateProvider Memberspublic TaskDelegate GetTaskDelegate(SPWorkflowActivationProperties prop, string delegatedUser){var siteUrl = GlobalConfiguration.GetInstance().DelegationListSiteUrl;if (siteUrl == null || String.IsNullOrEmpty(siteUrl.Value)){return this.GetTaskDeletate(prop.Web, delegatedUser);}else{using (SPSite site = new SPSite(siteUrl.Value)){using (SPWeb web2 = site.OpenWeb()){return this.GetTaskDeletate(web2, delegatedUser);}}}} public TaskDelegate GetTaskDeletate(SPWeb web, string delegatedUser){string fullUrl = web.Site.ServerRelativeUrl.TrimEnd('/') + "/" + GlobalConfiguration.GetInstance().DelegationListUrl.Value;SPList list = null;try{list = web.GetList(fullUrl);}catch(Exception ex){throw new Exception("can't find the delegate confit list:" + fullUrl);}SPUser user = web.AllUsers[delegatedUser];if (user == null){throw new Exception("user doen't exist in the web: " + delegatedUser);}var now = DateTime.Now;var items = ListQuery.Select(1).From(list).Where(fieldDelegatedUser == user.ID &&(fieldBeginTime.IsNull || fieldBeginTime <= now) &&(fieldEndTime.IsNull || fieldEndTime > now.AddDays(-1)) &&(fieldEnabled == 1)).GetItems();if (items == null || items.Count == 0){return null;}var item = items[0];SPFieldUserValue userValue = item.Fields.GetField("DelegateUser").GetFieldValue(item["DelegateUser"].ToString()) as SPFieldUserValue;var del = new TaskDelegate();del.DelegateUser = userValue.User.LoginName;del.BeginTime = this.GetDate("" + item["BeginTime"]);del.EndTime = this.GetDate("" + item["EndTime"]);return del;}#endregion}

注:本文所述功能,需要QuickFlow.wsp(Build101031)之后版本支持。

總結

以上是生活随笔為你收集整理的QuickFlow之任务代理-TaskDelegation的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 波多野结衣在线免费观看视频 | 古代黄色一级片 | 五月丁香 | 精产国品一二三产区m553麻豆 | 亚洲成熟少妇视频在线观看 | 丰满熟妇肥白一区二区在线 | 欧美性猛交乱大交3 | 影音先锋男人站 | 国产女无套免费视频 | 51精品国产人成在线观看 | 草莓视频在线观看入口w | 97精品久久久 | 91久久精品一区 | 男女日批视频 | 国产欧美一区二区精品久久久 | 少妇三级全黄 | 国产乱码一区二区 | 久久久久亚洲av无码专区喷水 | 8x8x永久免费视频 | 色婷婷久久综合中文久久蜜桃av | 久久久久久中文字幕 | 人妻互换一区二区三区四区五区 | av片在线观看网站 | 国产免费无码一区二区 | 国产福利免费观看 | 永久免费视频网站直接看 | 钻石午夜影院 | 欧美精品国产精品 | 中文字幕精品久久久久人妻红杏1 | 三级a毛片 | 操综合网| 天天操中文字幕 | 青青久久av | 黄色一级视频在线观看 | 国产福利在线观看视频 | 成人短视频在线播放 | 超碰在线进入 | 欧美日韩午夜 | 午夜色网 | 麻豆亚洲av熟女国产一区二 | 91av视频在线免费观看 | 欧美日韩大片在线观看 | www.偷拍.com | 超碰888 | 亚洲精品字幕在线 | 美人被强行糟蹋np各种play | 老女人毛片50一60岁 | 日韩五码电影 | av动漫网站 | 老司机午夜av| 在线不卡中文字幕 | a在线天堂| 日本黄色a视频 | 91av一区二区三区 | 亚洲综合日韩在线 | 中文字幕丰满孑伦无码专区 | 变态另类ts人妖一区二区 | 色综合啪啪 | 免费在线观看小视频 | 黑人vs亚洲人在线播放 | 精品久久国产 | 五月激情婷婷丁香 | 拔擦8x成人一区二区三区 | 牛牛影视一区二区三区 | 欧美性猛交xxxx| 小敏的受孕日记h | 五月天视频网 | 精品日韩av | 免费观看久久 | 美女福利视频网 | 天天躁日日躁狠狠躁欧美 | 日本人做受免费视频 | 中国超碰| 五月天国产精品 | 亚洲婷婷网 | 亚洲欧美bt | av视 | 新婚之夜玷污岳丰满少妇在线观看 | 在线视频你懂得 | 国产资源第一页 | 日韩毛片在线观看 | 人妻丰满熟妇av无码区不卡 | 亚洲av成人精品日韩在线播放 | www.av网址 | 亚洲男女视频在线观看 | 亚洲熟妇一区二区三区 | 在线观看av日韩 | 国产精品日本一区二区在线播放 | 一本大道久久a久久综合婷婷 | 中文字幕av网站 | 在线免费观看污 | av免费播放 | 欧美激情视频在线 | 嫦娥性艳史bd | 黄色网址免费 | 成年人视频在线看 | 穿扒开跪着折磨屁股视频 | 日韩欧美电影一区二区三区 | 哪里可以看毛片 |