目标:使用 WEB ENABLED 表单从 SharePoint 2010 列表中提取数据。然后,从包含辅助数据的重复表中,仅提取所需的数据并将其镜像到我的主要表单字段中。然后,提取的数据将被修改,并使用 Nintex Workflows 提交到另一个共享点列表,或者,如果 IT 部门对这个项目感到满意,则提交到数据库。
我已经尝试过:在我的主表单字段中创建一个名为“TEST_CyS”的重复组中名为“TEST”的字段来存储镜像数据。该字段的默认值为:
xdXDocument:GetDOM("REMOVED")/dfs:myFields/dfs:dataFields/d:SharePointListItem_RW[(count(../preceding-sibling::*[local-name() = "TEST"]) + 1)]/d:Cy_Statement
表单更新时会刷新。
- 如果我将默认值设置为
count(../preceding-sibling::*[local-name() = "TEST"]) + 1
它会准确计算每个插入的组。 - 如果我将默认值设置为1 和
xdXDocument:GetDOM("REMOVED")/dfs:myFields/dfs:dataFields/d:SharePointListItem_RW[<INT>])]/d:Cy_Statement
n<INT>
之间的任何整数值,则该字段将显示正确的信息,用于引用其索引的辅助数据字段。
当我将这两者结合起来时,事情就会分崩离析。
主数据树:
辅助数据树:
假设:我猜测preceding-sibling::*[local-name() = "TEST"]
轴没有返回值,因为它与GetDOM()
方法一起被调用。我试图将前面的兄弟姐妹指向主表单字段中的正确组,但后来我觉得尝试这样做很愚蠢,因为它不知道从哪里开始计数,并且 infopath 给我一个错误:
Function 'GetDOM' did not return a value, or it returned a value that cannot be converted to an XSL data type.
摘要:如果没有代码或为 Infopath 购买一些“插件”,如 qRules,这是一个失败的原因吗?IT 部门不会让步,允许其中包含代码的表单在 SharePoint 网站上运行,并且对表单的要求表明它必须是启用 Web 的表单才能在 SharePoint 中填写。
编辑:我们也无法访问 VSTA,安装它的可能性非常非常小。
有没有另一种方法可以用来解决这个问题?