在 JavaScript 中使用复杂变量和列表

Draft comment:
This topic is shared by BAW, CP4BA, CP4BASaaS. Last updated on 2025-01-20 10:38
Draft comment:
This topic was viewed 1 times since its publication
必须先初始化所有复杂变量和所有列表 (数组) ,然后才能在流程,服务或服务流中使用这些变量。 在初始化某个变量后,可以访问和修改其属性。 您可以访问预定义的属性和函数来执行多个操作。

关于本任务

在设置业务对象属性和将项添加到列表之前,需要初始化变量。

在传统人员服务中,Coach 和传统 Coach 要求初始化所有变量。 在服务流中,对业务对象类型进行引用需要在服务流中声明此类型的某些变量。
重要信息: 如果传统人员服务未初始化变量,那么将在 Coach 运行时初始化这些变量。 即使 Coach 不使用这些变量,也会执行该初始化操作。 由于这种自动初始化行为,因此请确保服务级别代码不要求变量处于未定义状态。

过程

  1. 在流程或服务流的 变量 选项卡中,声明作为复杂业务对象或列表的变量。
    例如,名为 myVariable 且类型为 Requisition 的变量,或者名为 myList 并且是字符串变量列表的变量。
  2. 在图中,将脚本任务从选用板拖到画布上。
  3. 实现 选项卡中,使用 JavaScript 文本区域初始化变量:
    • 如果变量为复杂对象,请使用:
      tw.local.<variableName> = new tw.object.<businessObject>();
      例如:
      tw.local.myVariable=new tw.object.Requisition();
    • 如果变量为列表,请使用:
      tw.local.<listName>=new tw.object.listOf.<businessObject>();
      例如:
      tw.local.myList=new tw.object.listOf.String();
    请记住: 如果复杂业务对象或列表包含作为复杂变量的元素,那么还必须对其进行初始化。
    要点: 传统人员服务或 服务流中的服务器脚本语法与客户机端人员服务中的客户机端脚本语法不同。 对于客户端人员服务,请确保使用标准 JavaScript 语法来实例化客户端脚本中的对象,而不是传统人员服务中使用的服务器脚本语法。 例如:
    // To instantiate and populate a complex variable
    tw.local.customer= {};
    tw.local.customer.firstName = "Jane";
    tw.local.customer.lastName = "Doe";
    
    // To instantiate and populate an array
    tw.local.addresses = [];
    tw.local.addresses[0] = {};
    tw.local.addresses[0].city = "Boston";
    
    // To instantiate a String variable
    tw.local.customerID = "12345";
    
    // To create a Date variable
    tw.local.dueDate = new Date();
    注: 如果复杂业务对象的名称与现有 JavaScript 名称空间 (例如 tw.object.propertytw.object.contentObject tw.object.toolkit) 冲突,请使用 tw.object.baw 名称空间来实例化该业务对象。 例如:
    tw.local.myVariable = new tw.object.baw.property(); 
    tw.local.myListVariable = new tw.object.listOf.baw.toolkit();

下一步

您已初始化复杂变量或列表。 变量现在可以存储数据。