Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何区分SharePoint工作流中的新项目和现有项目_Sharepoint_Workflow - Fatal编程技术网

如何区分SharePoint工作流中的新项目和现有项目

如何区分SharePoint工作流中的新项目和现有项目,sharepoint,workflow,Sharepoint,Workflow,我有一个SPD工作流,设置为在项目更改时运行,但它会在新项目上不断触发,这非常烦人。我正在研究为什么会发生这种情况,但我也在寻找一种方法来终止工作流程,如果项目是新的,作为临时解决办法 我尝试将创建的字段与修改的字段进行比较,即如果创建的字段与修改的字段相同,则不运行。无论是作为日期还是字符串比较,这都不起作用 如果您有任何建议,我将不胜感激。我也遇到过同样的问题,我通过这样的解决方法解决了这个问题 将创建的日期加上1分钟,并将其分配给一个变量 检查此变量是否小于当前时间 它是根据以下假设完成的

我有一个SPD工作流,设置为在项目更改时运行,但它会在新项目上不断触发,这非常烦人。我正在研究为什么会发生这种情况,但我也在寻找一种方法来终止工作流程,如果项目是新的,作为临时解决办法

我尝试将创建的字段与修改的字段进行比较,即如果创建的字段与修改的字段相同,则不运行。无论是作为日期还是字符串比较,这都不起作用


如果您有任何建议,我将不胜感激。

我也遇到过同样的问题,我通过这样的解决方法解决了这个问题

  • 将创建的日期加上1分钟,并将其分配给一个变量
  • 检查此变量是否小于当前时间

    它是根据以下假设完成的

  • a。没有人尝试在一分钟内编辑该项,它已创建

    b。工作流将在一个矿井内执行


    在我的例子中,第一次运行工作流时,成功地将标志存储在隐藏字段中。检查该标志是否存在,如果不存在,则该标志是第一次(创建),否则它将被更新。

    创建时间和修改时间之间的比较适用于SharePoint 2010(此处使用)。也许比较做得不正确,或者使用了错误的对象从中获取数据


    如果上述方法在2007年不起作用,也许可以使用
    owshiddenversion
    字段(如果未正确公开,则直接作为属性访问)。对于新创建的项目,它应该是1,否则大于1。我想不起来,它可能只在版本列表中可用。

    尝试添加一个比较创建日期和修改日期的条件


    i、 e:如果当前项:已创建不等于当前项:已修改

    @Jim比较已创建和已修改字段,则此文本有问题。