在SharePoint 2013中更改创建日期

时间:2015-09-19 00:20:17

标签: javascript jquery sharepoint sharepoint-2013 spservices

我在SharePoint 2013中管理请求列表,我需要从其他列表中导入一些请求。但是,我想保留原始请求日期,而不是让SharePoint分配我上传请求的当前日期/时间,因此我想更改默认值" Created"日期字段。我把这个用于我添加的日期专栏:

var duedate = new Date(2015,01,11).toISOString();
$().SPServices({
    operation: "UpdateListItems",
    async: false,
    listName: "Requests",
    ID: 5,
    valuepairs: [["DueDate", duedate]],
    completefunc: function (xData, Status) {
    }
});

它不适用于" Created"尽管如此 - 我认为因为它是只读的。我需要一种方法来制作"创建"字段可编辑,所以我可以更改日期。我已经编写了很多引用此列的代码,所以我宁愿不创建一个默认为" Created"除非改变。

奖金:我的下一个任务是更改默认"作者"因此希望解决方案也可以使该字段可编辑。

2 个答案:

答案 0 :(得分:4)

简短的回答:你不能。不支持通过SharePoint Web Services Created操作更新ModifiedCreated ByModified ByUpdateListItems等系统字段。

  

注意:Created By (Author)Modified By(Editor)字段可以是   仅以非库 SharePoint列表

的方式更新

但有一个解决方法。基本上这些字段无法更新的原因是因为它们被声明为 ReadOnly 。因此,在修改列表模式以使系统字段可用于修改(将ReadOnly属性设置为false)后,如下所示Created字段:

var updateSystemFields = "<Fields>" + 
   "<Method ID='1'>" + 
      "<Field ID='{8c06beca-0777-48f7-91c7-6da68bc07b69}' ColName='tp_Created' RowOrdinal='0' ReadOnly='FALSE' Type='DateTime' Name='Created' DisplayName='Created' StorageTZ='TRUE' SourceID='http://schemas.microsoft.com/sharepoint/v3' StaticName='Created' FromBaseType='TRUE' Version='4' ShowInNewForm='FALSE' ShowInEditForm='FALSE' />" +
   "</Method>"  +
"</Fields>";
$().SPServices({
  operation: "UpdateList",
  listName: "Requests",
  listProperties:"",
  updateFields: updateSystemFields,
  newFields: "",
  deleteFields: "",
  listVersion: "",
  async: false,
  completefunc: function (xData, Status){ 
      console.log('List schema has been modified'); 
  }
});

列表项Created字段值可以使用UpdateListItems操作进行更新:

var dueDateVal = new Date('2016-01-01 6:00:00').toISOString();
$().SPServices({
    operation: "UpdateListItems",
    async: false,
    listName: "Requests",
    ID: 1,
    valuepairs: [["Created", dueDateVal]],
    completefunc: function (xData, Status) {
         console.log('List item has been updated');
    }
});

答案 1 :(得分:0)

您无法更改创建的字段。我已完成了几个SP 2013项目,我必须跟踪和更新日期。我很快就知道我不能依赖创建日期。

我可能错了,我期待看到是否有任何解决方案出现