SharePoint 工作流错误:"Unable to transform the input lookup data into the requested type"但仅在创建新项目时



仅供参考,我知道如何正确设置查找更新,并且 99% 肯定我已经正确完成了此操作。

我知道这一点,因为当我将工作流程设置为在项目更改时自动启动时,它就可以完美运行。 但是,当我简单地更改此设置以使它将自动在新项目创建时启动时,它会取消工作流,并且出现"强制失败:无法将输入查找数据转换为请求的类型"。如果同时选中这两个选项,则创建时失败,但只需单击项目属性上的编辑,"保存"即可使其工作。

工作流位于文档库上,其工作原理如下;

上载后,用户从编辑属性窗体的下拉列表中选择"工作任务查找",然后选择"保存项目"(将其添加到文档库)。 然后,假设工作流查看选定的"工作任务查找",并提取"帐户"和"有效日期类型查找 ID",并将"文档"的相同字段设置为相同的值。

如果有帮助,这是工作流的代码;

If Current Item: Parent Task is not empty
If Current Item: Sub Task is not empty
    Log Both are empty to workflow history list
    Then Set Account to Work Tasks:Account
    The Log Set Account to workflow history list
    Then Set Effective Date and Type to WorkTasks: Effective Date and Type
    The Log Set EffDateType to the workflow history list

这一切都是一步完成的。 我还添加了其他步骤来测试帐户和有效日期类型字段是否已正确设置,如果没有再次设置它们。 但是每次我在更改上运行工作流并且它有效时,它总是根据第一步(上面发布)和不需要的历史记录中的附加检查日志正确设置这些字段。

例如,对任务:帐户的整数的查找设置为按如下方式工作;

Date Source: Work Tasks (a list)
Field from Source: Account (a lookup)
Return Field as: Lookup ID (as Integer)
Find the List Item
Field: Title (from the Work Tasks list)
Value: Current Item: Parent Task (Which is a look up of the "Title" 
Field from Work Tasks List, and is set to return the Value as a LookUp Value (As Text))

"生效日期和类型"设置几乎相同。

所以有人有见识吗? 我尝试将其作为模拟步骤运行,设置工作流暂停(1 分钟),更改查找类型以防我一开始就搞砸了,但最终上述工作流确实有效,但仅当我将其设置为"自动开始更改(编辑)项目",而不是像我需要做的"创建新项目时自动开始"。

哦,是的,

仅供参考,我正在文档库表单的"工作任务"和"子任务"字段上使用SPServices CascadingDropDown,但老实说,我不认为这与我的问题有任何关系。

更新:

我曾与另一位开发人员交谈过,他认为这是由于工作流发生得太快的问题,在项目为自己创建 ID 之前,它需要执行查找。 他让我在工作流代码的最顶部(在 If 条件上方)添加另一个"暂停工作流"并将其设置为 1 分钟。

然后它正常工作。

缺点是我们希望在尽可能接近项目创建时进行标记。 因为库的视图依赖于基于帐户和生效日期和类型的分组。 为了增加这种下降,Microsoft的暂停工作流程只允许 1 分钟或更长时间,然后用于此目的的计时器经常关闭,导致暂停时间超过此时间。 到目前为止,每个测试目前都显示至少 2 分钟的暂停时间。

即时填充文件的一种可能的替代解决方案是使用 Javascript 和 SPServices 查找任务列表以提取帐户和生效日期 - 类型字段,然后填充,但我的 Javascript 不是很强大,我需要帮助来做到这一点。 如果有人有任何建议,我将不胜感激。

(在问题编辑中回答。 转换为社区维基答案。请参阅没有答案的问题,但问题在评论中得到解决(或在聊天中扩展) )

OP写道:

我不知道它是否是经过进一步测试后该项目的 ID。我将工作流的启动更改为等到项目中的字段更改。我将其设置为等到 ID 字段不为 0(因为您不能设置为 null),但它仍然不起作用。

 6/14/2012 4:13 PM Comment System Account Waiting on ID ​ 
 6/14/2012 4:13 PM Comment System Account Waiting complete on ID ​ 
 6/14/2012 4:13 PM Error System Account Coercion Failed: Unable to transform the input lookup data into the requested type. 

我也尝试了其他字段,例如文档ID值不为空,它将等待,记录它完成等待,然后失败。

更新 此问题与"父任务"域有关。我已经解决了这个问题,而不必等待一段时间,方法是将上面的更改设置为等到"父任务"字段不为空。然后,它会很好地完成工作流。

有谁知道为什么会有延迟?我已经解决了它,但仍然不完全明白是什么花了这么长时间。

主要故障已经解决(因此有了答案),关于延迟原因的剩余点可能是一个讨论点,或者对于 SO 来说不够具体。任何进一步的澄清都可以在这里编辑。

相关内容

最新更新