问题标签 [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 - 工作流启动时的 SharePoint 2007 ULS 错误 System.NullReferenceException
(MOSS 2007 32 位 SP2)
我有一个在 Visual Studio 中开发的工作流,它被部署为一项功能并与我的列表相关联。该列表中的项目是以编程方式创建的,该过程的最后一步是查看列表中的 SPWorkflowAssociation 集合并启动与特定名称匹配的 WF:
(请原谅丑陋的完全限定名称和 SPListItem 的不断重新获取,除非您认为这实际上应该归咎于某种原因)
这已经在生产中使用了几个月,其中启动的工作流是 SharePoint Designer 工作流。现在我已经部署了我的自定义 WF(名称不同),我得到了一些“奇怪的行为”:
如果我(不是系统帐户,而是网站集管理员)运行代码来创建项目并启动工作流,那么一切都会 100% 运行。但是,如果任何其他用户(即使是对网站和所有相关列表具有完全控制权的人)也这样做,他们会从 SharePoint 获得一个通用的“错误,发生意外错误”页面,但该项目是正确创建的,没有 WF 错误与之关联(该项目的 WF 历史记录完全空白),然后他们可以毫无问题地手动启动指定的工作流。
发生这种情况时,ULS 中生成的唯一错误是:
引擎 RunWorkflow:System.NullReferenceException:对象引用未设置为对象的实例。在 Microsoft.SharePoint.Workflow.SPWorkflowHostServiceBase.LoadInstanceData(Guid instanceId, Boolean&compressedData) 在 Microsoft.SharePoint.Workflow.SPWinOePersistenceService.LoadWorkflowInstanceState(Guid instanceId) 在 System.Workflow.Runtime.WorkflowRuntime.InitializeExecutor(Guid instanceId, CreationContext context, WorkflowExecutor 执行器, WorkflowInstance workflowInstance) 在 System.Workflow.Runtime.WorkflowRuntime.Load(Guid key, CreationContext context, WorkflowInstance workflowInstance) 在 System.Workflow.Runtime.WorkflowRuntime.GetWorkflow(Guid instanceId) 在 Microsoft.SharePoint.Workflow.SPWinOeHostServices.Send(SPWinOeWorkflow winoeworkflow、SPWorkflowEvent e) 在 Microsoft.SharePoint.Workflow。
如果我将要查找的工作流的名称更改为不存在的名称,则根本没有错误(因为我在 FOREACH 中的 IF 语句从未找到匹配项),因此它肯定会找到我的工作流并尝试启动它。
但是(再次),如果我查看生成错误的项目上的工作流状态/历史记录页面,则没有错误或 WF 记录试图从那里开始,并且用户可以从该页面手动启动工作流而无需一个问题。
我正在为 WF 使用 InfoPath 关联表单,但如果这是其根源(例如,如果我需要将某些内容及其数据/架构传递给 WorkflowManager.StartWorkflow),我希望看到同样的错误网站集管理员用户。我没有使用任何形式的 WF 启动表格。
我要疯了,试图找到它的根源。希望有人以前见过这个 ULS 错误或这种行为......
sharepoint - 需要帮助将 sharepoint 文档库文件复制到存档/其他文档库 sharepoint 2007
在将文档上传到文档库时,我有以下一项要求,用户将给出该文档的到期日期。到期后,特定文档应自动移动或复制到另一个文档库(存档)
在此先感谢,拉什凯什
sharepoint-2010 - SharePoint 2010 工作流更新项目上的查找字段
我在 2010 年有一个 SharePoint Designer 工作流。此工作流与列表相关联,当它运行时,应将当前项目复制回列表中,然后在工作流启动时使用变量集更新该新创建项目中的字段。基本上它会复制一个项目,然后更改新创建项目的 1 个值。
我需要更新的字段是另一个列表的查找字段。由于某种原因,SharePoint 不喜欢这样,并且每次都会出错。
我尝试将字段的值设置为以下内容,所有这些都在运行时失败。
在这一点上,我没有想法。任何人都可以帮忙吗?
有关更多详细信息,工作流有 1 个步骤,其中包含以下操作:
- 将当前项目中的项目复制到 [Parameter:ListURL] 中的列表,不要覆盖现有项目。将结果列表项 ID 存储在 [Variable:DuplicateID] 中。
- 然后将 [Variable:Reporting Month ID] 设置为 [Reporting Months:ID]。(这是使用在工作流启动时设置的变量 [Variable:Reporting Month] 查找报告月份列表)。
- 然后更新当前列表中的项目(该项目由 [Variable:DuplicateID] 确定,我尝试使用各种组合 [Variable:Reporting Month ID] 和 [Variable:Reporting Month] 设置当前列表中 Reporting Month 字段的值
运行工作流时出现的错误如下。
sharepoint - 是否在 SharePoint 工作流的单个步骤中使用步骤或条件
我正在创建一个执行以下操作的工作流,并且我正在寻找有关将工作流拆分为条件和/或步骤的最佳实践的指导。
对于项目列表,每次创建或修改列表项时,工作流都应运行并执行以下操作:
如果状态 = 新,创建几个变量并发送特定的电子邮件
如果状态 = 打开,发送特定的电子邮件
如果状态 = 估计,发送特定的电子邮件
如果状态 = 已批准,请发送特定电子邮件
如果状态 = 就绪,发送特定的电子邮件
如果修改了“分配给”,请将特定电子邮件发送给“分配给”个人或组。
如果状态 = 就绪,并且已经就绪超过 5 天,请发送特定的电子邮件。
因此,对于上面的前 5 项,在我看来,它们都可以是一个单独的条件/动作。对于分配给项目,我认为我需要让主要工作流在新列表中创建一条记录,然后触发辅助工作流将通知电子邮件发送给分配给指定人。对于状态超过 5 天的项目,这应该只是主要工作流程步骤 1 下的另一个条件/操作,还是应该是一个单独的步骤?
在这种情况下,我只是没有看到在主要工作流程中需要单独的步骤。我错过了什么吗?当您应该在工作流中使用额外的步骤而不是仅仅添加条件时,一般的想法是什么?
谢谢!
sharepoint - 在自定义 Visual Studio 工作流中使用默认审批工作流任务表单
我正在 VS 中制作自定义审批工作流,但我不想创建自定义 infoPah 表单来创建任务编辑表单。有没有什么办法可以使用OOTB审批流程自带的表格??
谢谢
sharepoint - 如何获取与共享点工作流交互的所有用户
我有一个用 VS2010 编写的自定义状态机工作流,当工作流被取消或完成时,我需要向所有与给定工作流交互(完成/更改任务或文档)的用户发送电子邮件。我一直无法找到一种获取我需要向其发送电子邮件的用户列表的好方法。有什么建议么?
sharepoint-2010 - Sharepoint 2010:使用工作流更新查找字段多个值
我想使用 Sharepoint Designer 2010 通过工作流更新包含多个值的查找字段。
目前,旧值总是被覆盖,我想将旧值与新值“合并”。
到目前为止,这是我的测试列表:
1)我设法保留旧的或新的,但不能同时保留。2)我尝试添加关键字,例如:&; , 在字段之间,但仅在列表中写入第一个元素(示例:[%first Element: id%] ;[% Second Element: ID%] --> Result in the column : First Element Id)
我没主意了。你有什么建议吗?
你需要更多信息?
这可以在 Sharepoint 设计器中做这样的事情吗?
sharepoint - 向 Sharepoint 工作流任务添加字段
我目前正在使用 sharepoint 设计器在 sharepoint 中制作一个非常简单的审批工作流程。我们对此工作流程的设计目标之一是我们希望最大限度地减少我们必须做的自定义编码的数量,因此我很感激涉及使用共享点设计器而不是淘汰 VS 的答案。
因此,工作流应该在人们将项目添加到列表时开始。当工作流开始时,它会创建一个任务,并分配 +2 个工作日的截止日期,并将责任分配给一组用户。当用户完成任务时,它会记录完成任务的个人以及完成日期。
将字段添加到列表中非常容易,但我的纯粹主义者对此有些犹豫,因为这些字段将为空,并且违反了第一范式。即,去Task1 但不是Task2 的列表将有四个字段Task1ApprovedBy、Task1FinishedDate、Task2ApprovedBy、Task2FinishedDate,并且两个Task2 字段都将为空。
- 编辑 -
对不起,如果我不清楚这个问题。我正在使用 Sharepoint Designer,我想在用户完成任务项时更新查找中的列表项。如何为已完成的特定项目选择最后一个任务并更新最后一个任务两个值“完成者”和完成日期值?我更喜欢在任务列表中执行此操作,因为这也会使报告变得更容易。我只是在任务列表上创建一个视图,而不是在两个列表之间进行某种类型的连接,以了解特定任务何时完成。
感谢您的帮助!
杰森
sharepoint - 使用 PowerShell 取消多个 SharePoint 工作流
如何取消 SharePoint (2010) 列表中所有正在运行的工作流?
我通过 technet 找到了这个脚本。
代码:
非常感谢您的帮助。
sharepoint - 工作流无法在 SharePoint Designer 2010 中编译和发布
SharePoint 安装是在 2008 R2 服务器上安装的 SP2010。一切都已完全修补。我直接在 SharePoint Server 上运行 SP 设计器。
我有一个工作流程,旨在在自定义列表中创建新文档时发送电子邮件。为了说明这个问题,我特意保持工作流程非常简单。
在 SP Designer 中创建此单步工作流后,我单击“检查错误”,SP Designer 报告“工作流不包含错误”。
然后我单击“发布”,但显示“工作流程错误”对话框并显示消息
编译工作流时发现错误。工作流文件已保存但无法运行。
单击高级按钮会显示更多信息:
无法发布工作流,因为工作流配置文件包含错误
任何建议都感激不尽