Groovy代码示例

APL函数里获取触发函数的主从数据


// 流程后动作函数里面的context.data数据并不会实时计算计算字段,引用字段等,也不会查相关团队等信息
// 建议有实时获取计算引用字段需求的再使用FQL查询下相关数据,FQL里面有参数控制是否查询相关信息

String objectId = context.data["_id"]
String objectApiName = context.data["object_describe_api_name"]
FQLAttribute fqlAtrr  = FQLAttribute.builder()
  .columns(["_id", "name"]) //需要查询的字段
  .build()

SelectAttribute selectAtrr = SelectAttribute.builder()
  .needInvalid(false) //是否需要查作废数据
  .build()

//查询主对象数据
def (Boolean error, Map objectData, String message) = Fx.object.findById(objectApiName, objectId, fqlAtrr, selectAtrr)
if (error) {
  log.info("error:" + message)
}
log.info(objectData)

//如果有从对象数据也可以查询从数据
QueryTemplate query = QueryTemplate.AND(
  ["field_57s3W__c": QueryOperator.EQ(objectId)] //主从关系字段
)

FQLAttribute fqlAtrr2  = FQLAttribute.builder()
  .queryTemplate(query)
  .columns(["_id", "name"]) 
  .build()
def (Boolean err2, QueryResult result, String message2) = Fx.object.find("object_adev4__c", fqlAtrr2, selectAtrr)
if (err2) {
  log.info("find object_adev4__c error:" + message2)
}
log.info(result)
List dataList = result["dataList"] as List
dataList.each { it ->
  log.info(it["name"])
}


2024-10-22
10 50