我们如何从 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?的主要内容,如果未能解决你的问题,请参考以下文章

如何一次构建调试和发布?

如何批量对我们的工作薄中的工作表进行快速排序

如何批量管理云主机远程连接?

如何在V8中优化JavaScript异步编程?

如何批量删除数据库里某个表里的多条记录

CAD图纸如何批量打印操作呢?