如何使用 JScript 设置列表值
How to set a List value with JScript
在 FileNet 中,使用 FEM 或 ACCE,可以使用 JScript 为对象设置属性值。官方 IBM 指南提供了这个示例(对于字符串):
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);
}
但是有没有可能对更复杂的对象做同样的事情呢?我特别指的是 StringList 类型。网上没有例子,定义类JS的数组也不行
对于更复杂的对象,绝对可以这样做。其中大部分只是遵循使用 Java 遵循的路径,但将变量类型的名称更改为 var
。因此设置多值字符串属性的值的代码如下:
importClass(Packages.com.filenet.api.constants.RefreshMode);
importClass(Packages.com.filenet.api.core.Factory);
function OnCustomProcess (CEObject)
{
CEObject.refresh();
var list = Factory.StringList.createList();
list.add("Value 1");
list.add("Value 2");
CEObject.getProperties().putObjectValue("TestMultiValueProperty1", list);
CEObject.save(RefreshMode.REFRESH);
}
我经常使用 putObjectValue()
方法而不是 putValue()
方法,因为 Java脚本有时会在确定它应该使用 putValue()
的哪个类型安全版本时出现问题。
对于很多示例,您可以转到 ACCE 的域选项卡中的 全局配置 > 数据设计 > 附加组件 部分。不同加载项的预导入和 post 导入脚本包含大量相关的 Java 脚本代码。
在 FileNet 中,使用 FEM 或 ACCE,可以使用 JScript 为对象设置属性值。官方 IBM 指南提供了这个示例(对于字符串):
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);
}
但是有没有可能对更复杂的对象做同样的事情呢?我特别指的是 StringList 类型。网上没有例子,定义类JS的数组也不行
对于更复杂的对象,绝对可以这样做。其中大部分只是遵循使用 Java 遵循的路径,但将变量类型的名称更改为 var
。因此设置多值字符串属性的值的代码如下:
importClass(Packages.com.filenet.api.constants.RefreshMode);
importClass(Packages.com.filenet.api.core.Factory);
function OnCustomProcess (CEObject)
{
CEObject.refresh();
var list = Factory.StringList.createList();
list.add("Value 1");
list.add("Value 2");
CEObject.getProperties().putObjectValue("TestMultiValueProperty1", list);
CEObject.save(RefreshMode.REFRESH);
}
我经常使用 putObjectValue()
方法而不是 putValue()
方法,因为 Java脚本有时会在确定它应该使用 putValue()
的哪个类型安全版本时出现问题。
对于很多示例,您可以转到 ACCE 的域选项卡中的 全局配置 > 数据设计 > 附加组件 部分。不同加载项的预导入和 post 导入脚本包含大量相关的 Java 脚本代码。