我们如何从 ACCE 调试批量操作 javascript?
Posted
技术标签:
【中文标题】我们如何从 ACCE 调试批量操作 javascript?【英文标题】:how do we debug the bulk action javascript from ACCE? 【发布时间】:2017-09-15 18:40:27 【问题描述】:有人能提出他们的想法吗?我们可以如何调试我们从 ACCE 的批量操作脚本编写的 javascript?我了解警报或调试语句可能在那里不起作用。我们还有哪些其他选择?
【问题讨论】:
【参考方案1】:我所做的是用java编写脚本。
进口几乎相同。变量需要重新声明为 var 而不是 String 等。其他一切都差不多。
您可能需要注意的一些事项: 您可能需要立即在 ceobject 上调用 refresh。 您可能想要设置一个 java 类,其方法可以像 JavaScript 一样引入 ceobject。
IBM 提供了 Setting document properties. 的 JavaScript 示例 同一页面上还有其他示例演示了在 ACCE JavaScript 中使用 Java api。
这是一个特别好的示例,因为它展示了批量更新功能最常见的用途之一:
importClass(Packages.com.filenet.api.property.Properties);
importClass(Packages.com.filenet.api.constants.RefreshMode);
function OnCustomProcess (CEObject)
CEObject.refresh();
CEObject.getProperties().putValue("DocumentTitle", "Test1");
CEObject.save(RefreshMode.REFRESH);
用 Java 编写的完全相同的代码:
import com.filenet.api.property.Properties;
import com.filenet.api.constants.RefreshMode;
import com.filenet.api.core.Document;
public class Java2JavaScript
public void OnCustomProcess (Document CEObject)
CEObject.refresh();
CEObject.getProperties().putValue("DocumentTitle", "Test1");
CEObject.save(RefreshMode.REFRESH);
可以注意到以下差异:
-
import 语句语法略有不同。
JavaScript 不需要 CEObject 导入,但 Java 需要。但是它可以包含在 JavaScript 中。在这种情况下,我们导入 Document
import com.filenet.api.core.Document;
,但是可以使用其他类型的 CEObject 来代替 Document。
您的 Java 类需要一个有效的类定义。
您必须在 Java 方法中声明 CEObject。此外,java 中的任何声明(即 String someString)都需要更改为 JavaScript 声明(var someString)
Java“public void OnCustomProcess (Document CEObject)”简单地变成了“function OnCustomProcess (CEObject)”。 ACCE 将只接受“function OnCustomProcess (CEObject)”作为被调用函数。
【讨论】:
可能一个简单的代码 sn-p 会帮助大家:) 当然。在我的手机上,这样在我回到电脑前才会发生这种情况。 我正在等待代码 sn-p 来支持你的答案:) 你来了,先生!以上是关于我们如何从 ACCE 调试批量操作 javascript?的主要内容,如果未能解决你的问题,请参考以下文章