问题标签 [sharepoint-workflow]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sharepoint - 混合 OOTB SPD WFA 和自定义 WFA 时出现问题
我正在使用 MOSS(SharePoint 2007 Enterprise),32 位,SP2。
我注意到我在 SharePoint Designer (SPD) 工作流中开发和使用的自定义工作流活动存在一些奇怪的问题。这些操作似乎可以正常工作,但不能与工作流程的其余部分“玩得很好”(具体来说,根本问题发布在:自定义 WF 活动更改权限的时间问题,因为没有得到任何回应我'一直在深入挖掘......)
为了帮助确定问题,我开发了一个非常简单的测试,我将在下面详细概述,并且我注意到这个测试有更多奇怪的行为,这就是我将首先介绍的......
所以,在这个测试结束时,我有一个简单的 SPD WF,我可以在我为此测试创建的列表中手动启动它,其中包含一个名为“TextField”的单行文本字段/列。WF 包含执行 4 个动作的 1 个步骤:
- 将字段设置为值(使用我的自定义 WFA 将“1”分配给 TextField 列)
- 将“Set 1”记录到工作流程历史列表
- 在当前项目中设置字段(使用 OOTB 操作将“2”分配给 TextField 列)
- 将“Set 2”记录到工作流程历史列表
此工作流运行完美,按顺序成功完成工作流消息,并且 TextField==2。
但是,如果我将最后 2 个动作移动到动作列表的顶部,则使 WF 的单步看起来像:
- 在当前项目中设置字段(使用 OOTB 操作将“2”分配给 TextField 列)
- 将“Set 2”记录到工作流程历史列表
- 将字段设置为值(使用我的自定义 WFA 将“1”分配给 TextField 列)
- 将“Set 1”记录到工作流程历史列表
在这种情况下,工作流状态为“发生错误”,即使 TextField==1(第二次分配),工作流历史记录中的唯一项目是:
- 更新列表项时出错
- 设置现场测试发生错误。
(“Set Field Test”是我的 SPD WF 的名称)
所以,这就是问题的样子:如果我的自定义 WFA 首先发生,WF 工作 100%,但如果我的自定义 WFA 第二次发生,则每次都会失败(即使该字段确实得到正确更新)。我已经多次重复这个测试,包括多次执行动作反转。
我可能在我的自定义 WFA 中做了一些愚蠢的事情,所以这里是(我已经用公共机构替换了我公司的首字母缩写词 - 获得我的税金价值):
我的 .ACTIONS 文件(保存到 C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\1033\Workflow )包含此操作的以下条目:
最后,当然,我的 web.config 包含我的程序集的条目。
这当然是一个非常简单的动作,但即使它在我的 SPD WF 中也不能正常工作。我一定是做错了什么,但我能找到的关于创建自定义 WFA 的所有文档都让这看起来是正确的。任何人都可以在我的代码中看到问题,甚至可以在您自己的环境中尝试一下吗?
sharepoint-designer - SharePoint 2010 Designer 工作流操作集项目开始于项目更改工作流
在 SharePoint Designer 2010 中,我正在为自定义列表开发两个工作流。一个 (WF_01) 配置为在更改项目时启动,第二个 (WF_02) 设置为手动启动。
WF_02 使用当前项目操作中的设置字段更新一些字段。这些字段是选项和文本字段。每当设置字段时,WF_01 就会启动,因为字段已更改。
据我了解,Set Field 操作不应导致事件接收器触发,但 Update List Item 操作确实会导致事件接收器触发。这是真的?如果是这样,这种行为的原因可能是什么?
sharepoint-2010 - 在 SPD 2010 中访问/启动工作流
我们最近从 MOSS 2007 迁移到 MOSS 2010。迁移成功。不幸的是,我发现我们无法访问与 SPD 2010 中的站点关联的工作流。工作流出现在 SPD 2010 中的 List Workflows 下,但我们收到错误无法从服务器加载工作流操作。我们已调查此错误并确保 WSS.ACTIONS 格式正确。还有其他人遇到过这个问题吗?
经过几天的研究,我尝试了一些建议的事情。解决方案之一是回收应用程序池并重新启动服务器的计时器服务。在 SPD 2010 中使用 Prod URL 时,这样做允许我访问工作流。现在的问题是我无法使用 Dev URL 启动工作流。如果其他人在迁移到 MOSS 2010 后遇到此问题,我建议回收应用程序池以查看是否有帮助。
sharepoint - 链接 Sharepoint 2010 列表中的项目
因此,我将尝试尽可能清楚地解释这一点,而不会让人感到困惑。
我有 4 个列表,每个列表中的项目都属于该列表。
当第一个列表中的项目通过一个过程进行时,它被赋予一个新的参考编号,因此在第二个列表中的新参考编号下生成一个新项目,因为第二个列表中的新项目正在通过该过程进行它给定一个新编号,并在第三个列表中创建一个新项目,依此类推。
到目前为止,这些项目具有 1 对 1 的关系,但只有我知道,sharepoint 并没有告诉我它们是链接的。但是他们可能会遇到这样的情况,列表 1 项将链接到列表 2 中的 2 项,并且它们可以链接到列表 3 中的 2 项,依此类推。
是否可以针对每个项目创建一个计算字段以显示它在其他列表中引用的内容?
例如 - 列表 1 有第 1 项,第 1 项来自列表 2 中的两个项目。因此,针对第 1 项列表 1,我想要一列列出列表 2 中的两个项目。并且在列表 2 中针对这两个项目中的每一个引用列表 1 中的项目 1 的列。
sharepoint - 如何捕获列表中的项目更改?
我在 Sharepoint 中创建了状态工作流。
我的想法是:
1/当工作流启动时,创建工作流启动的列表项的副本,这个副本被创建到当前网站集中的另一个 Web 列表 - 这正在工作
2/监视父项的更改并将它们传播到复制的项-这是有效的
3/监控复制项目的更改并将它们传播回原始项目 - 这是行不通的
我试图使用IListItemService,但显然它无法观察与当前网络不同的变化?还有其他方法吗?
我在考虑 SharePoint 2010 Pluggable Workflow Services - 但是在我的类中,它派生自 SPWorkflowExternalDataExchangeService 方法 CallEventHandler 被调用了两次,即使只调用了一次 SPWorkflowExternalDataExchangeService.RaiseEvent (这是从自定义事件接收器调用的) - 这个解决方案的另一个问题是当我回收应用程序池时,我丢失了我的单例类,该类负责维护 RaiseEvent 方法所需的状态信息列表。
sharepoint - SharePoint Designer 2007:从电子邮件中删除秒字段
SharePoint Designer 2007 工作流发出的电子邮件通知包括日期/时间字段的秒数。例如“这是确认您已注册参加上午 10:00:00 的演示”。
如何从电子邮件中删除秒字段。
带有日期/时间字段的 SharePoint 列表显示正常(没有秒数)
谢谢
visual-studio-2010 - 在 SharePoint 中创建自定义工作流操作时出现问题
我正在尝试为 SharePoint Designer 2010 创建自定义工作流操作。我正在使用 Visual Studio 2010 并按照此链接中提到的步骤操作:http: //perrystechblog.blogspot.com/2010/08/create-custom-workflow-动作in.html
但我仍然没有在操作列表中获得创建的自定义操作。有什么解决办法吗?
sharepoint - 发生错误后如何继续共享点工作流程?
出错后是否可以将工作流程推进到下一步?假设错误原因已修复。我不想从第一阶段重新启动工作流,因为我会丢失阶段开始和结束时间戳,并且批准项目将被删除。
sharepoint - 我如何知道哪些更改启动了工作流程?
如果我将工作流配置为在项目更改时启动,我如何知道更改了哪个字段以启动工作流?我的想法是,我真的只希望在某个特定字段发生变化并在任何其他时间失败时触发工作流。
sharepoint - Sharepoint 2007 工作流不会在创建另一个工作流的新项目处自动启动
我在 Sharepoint 2007 SP2 中有一个任务列表。对于这个列表,我做了 4 个工作流程。WF1 是检查,任务是否重复。(此工作流自动启动,然后创建新项目)WF2 是一个警报器工作流,它向用户发送电子邮件并暂停 1 天。WF3 也是一个警报器,它在 WF2 更改 WF3 触发器后激活。WF2 和 WF3 循环直到 Task 状态不会被完成。WF4 是在这个列表中创建一个新任务(同名)并增加开始和截止日期 +1 个月。
如果 WF4 创建了新任务,WF1 不会自动启动。
有没有人解决这个问题?