SharePoint WebService 之更新审批状态

      SharePoint列表使用WebService操作,可以进行增删改查,但是操作开启审批功能列表的时候,会遇到列表项审批的问题,只要进行修改,该项目就会变成待定状态,然后想要修改审批状态,就使用UpdateListItems方法,一直自以为是的以为,修改审批状态,不就是更新么Cmd='Update'不就可以了,事实却不是如此。

审批方法名称UpdateListItems(string ListName, XmlNode updates)

参数名称

ListName  为列表名称,string类型

Updates   为XmlNode类型,用于更新

<Method ID='1' Cmd='Update'> Cmd参数,Update为更新

<Field Name='ID'>1</Field> Name参数,字段名称;Field中的值,ID字段的值

_ModerationStatus  为审批状态字段

审批状态:0为已批准 1为已拒绝 2为待定 3为草稿

 

示例代码[C#]


WebReference.Lists   listService = new WebReference.Lists();

listService.Credentials = System.Net.CredentialCache.DefaultCredentials;

string strBatch = "<Method   ID='1' Cmd='Update'>" +

                      "<Field   Name='ID'>1</Field>" +

                      "<Field   Name='_ModerationStatus'>0</Field></Method>";

XmlDocument xmlDoc = new   System.Xml.XmlDocument();

System.Xml.XmlElement   elBatch = xmlDoc.CreateElement("Batch");

elBatch.InnerXml = strBatch;

XmlNode ndReturn = listService.UpdateListItems("通知公告", elBatch);

Console.Write("操作成功");

 

      如上面的代码,居然执行完毕,也输出“操作成功”,真是见鬼了,但是审批状态,一直为待定,无论修改一次,或者修改几次,都是不会改变的,后来继续查资料,发现更新审批状态时的cmd不是update,真见鬼,居然是Moderate,如下面表格。


string strBatch = "<Method   ID='1' Cmd='Moderate'>" +

                      "<Field   Name='ID'>1</Field>" +

                      "<Field   Name='_ModerationStatus'>0</Field></Method>";

      修改完了strBatch的Cmd以后,执行,执行成功!

******************************************************************************

作者:霖雨

出处:http://www.cnblogs.com/jianyus

本文版权归 霖雨和博客园共有,欢迎转载,但请注明出处。

 

时间: 2024-10-30 10:24:08

SharePoint WebService 之更新审批状态的相关文章

SharePoint WebService如何更新审批状态

SharePoint列表使用WebService操作,可以进行增删改查,但是操作开启审批功能列表的时候,会遇到列表项审批的问题,只要进行修改,该项目就会变成待定状态,然后想要修改审批状态,就使用UpdateListItems方法,一直自以为是的以为,修改审批状态,不就是更新么Cmd='Update'不就可以了,事实却不是如此. 审批方法名称UpdateListItems(string ListName, XmlNode updates) 参数名称 ListName  为列表名称,string类型

通过SharePoint Web服务更新审批状态

启用审批的SharePoint列表,如果我们通过对象模型修改其中一条已批准的列 表项,Update后会导致该列表项回到待定状态.不过好在对象模型里有强大的 SystemUpdate,可以不动声色的修改列表项.可是,如果你是通过SharePoint Web Service中的Lists.asmx的UpdateListItems进行的修改,就没有这么幸运了 . 引用SharePoint SDK中的描述:每个 Method 元素的 Cmd 属性通过指定下列 值之一确定对项目执行的操作: *Delete

magento -- 关于更新订单状态的API接口函数

做Magento和其他系统的对接时需要调用Magento的Api,原以为更新一个订单的状态这样的函数Magento默认肯定自带有,一开始却找不到,打开官网看order部分提供的接口函数列表也没找到.   按说明,从上到下依次为批量获取订单,获取单个订单,给订单添加备注,锁定订单,解锁订单和取消订单.在我认为不存在这个函数准备自己写一个的时候,看代码发现其实addComment这个函数已经提供了更新订单状态的功能,而不仅仅是添加备注,看代码 public function addComment($

糯米网总经理沈博阳更新网络状态

近日,糯米网总经理沈博阳更新网络状态,感叹团购行业整合加速,电商不易做,并表示电商需精打细算,厚积薄发. 沈博阳状态原文如下:"团购行业整合的好快啊.最近的变化,一日千里.恶性竞争,毛利率居低不上.盘子越大,亏的越多.电商这条路,不容易,把握好节奏,储备好粮草,认真算好每一笔账至关重要." 近日,团购行业乱象加剧,拉手大批裁员.高层集体撤退,美团被曝销售额造假,F团又要收购高朋,团购网站的整合已经全面加速,恶性竞争苗头又起导致团购毛利率持续不能提升. 在沈博阳看来,电商之路不好走,而团

如何更新消息状态为未读?

问题描述 本帖最后由 infinity8942 于 2015-4-28 11:21 编辑 我想把已经收到并阅读过的的消息,标记成未读状态.EMMessage message = conversationList.get(position).getLastMessage();message.setUnread(true);EMChatManager.getInstance().updateMessageBody(message);Log.d("test","~unread co

索尼PlayStation网络恢复,玩家需更新服务状态

索尼PlayStation 网络中断三天后恢复正常工作12月29日消息,索尼PlayStation网络中断服务数日之后,已于本周日恢复正常.PS4.PS3以及PS,Vita的访问已经完全恢复.索尼PlayStation官方推特发布消息称,所有地区的PSN服务已经恢复正常,各位玩家更新一下服务状态即可.众所周知在之前的黑客攻击下,索尼PSN和其他的一些游戏服务和线上游戏受到了影响,你可能无法通过索尼的游戏主机访问网络.在这里索尼再次表示歉意和 感谢玩家的耐心等待和支持,索尼将不断更新PSN服务并且

索尼PlayStation网络恢复玩家需更新服务状态

索尼PlayStation 网络中断三天后恢复正常工作12月29日消息,索尼PlayStation网络中断服务数日之后,已于本周日恢复正常.PS4.PS3以及PS Vita的访问已经完全恢复.索尼PlayStation官方推特发布消息称,所有地区的PSN服务已经恢复正常,各位玩家更新一下服务状态即可.众所周知在之前的黑客攻击下,索尼PSN和其他的一些游戏服务和线上游戏受到了影响,你可能无法通过索尼的游戏主机访问网络.在这里索尼再次表示歉意和感谢玩家的耐心等待和支持,索尼将不断更新PSN服务并且出

SharePoint 入门介绍

      前言:接触SharePoint两年有余,从一开始的小白,变成现在的菜鸟,一路走来,学到很多,现在,想把自己知道的东西,写给大家,尤其是刚刚接触SharePoint的人们,做一个简单的参考.从一开始接触,就知道SharePoint是一个"企业化信息平台",它是基于Net平台的产品,是微软的产品整合非常好的二次开发平台,尤其对于Office家族.Exchange.OCS(Lync).InfoPath(也算Office家族吧)具有非常好的整合性,而且,基于AD环境,是一个灰常好的

SharePoint 2013 工作流之年假审批Designer配置篇

原文:SharePoint 2013 工作流之年假审批Designer配置篇 本文介绍SharePoint 2013 使用Designer工具,设计年假审批工作流,由于流程所用的条件和操作都比较简单,所以演示为主,最后附流程图和流程的文本图,有兴趣的可以参照实验.如果对于Designer设计工作流的方法不是很熟悉,可以参见本博客的其他文章. 1.新建请假申请列表,创建一张请假申请表,如下图: 2.选中请假申请表,点击工作流: 3.在工作流页面,选中启动工作流: 4.回到列表页,发现工作流已经启动