自定义函数-Fx.object

2020-12-26 10:36:32 1108 本站

Fx.object:和对象操作有关的API

1、创建业务对象-create

  • 普通新建:Fx.object.create(<String apiName>,<Map objectData>)

    参数说明:

参数说明
apiName对象的api名称
objectData对象数据即字段值

     data返回值类型:Map

     举例:

def(Boolean error,Map data,String errorMessage) = Fx.object.create("CustomObject__c",["name":"测试"])
  • 注意

    预设对象禁止使用本API创建,请使用<对象创建同时新建从对象>API创建预设对象。

    此函数不会触发新建对象业务逻辑(判断权限、触发审批流工作流等)。


  • 对象创建同时新建从对象:Fx.object.create(<String apiName>,<Map<String,Map> objectData>,<Map details>,<boolean withBizLogic>)

    参数说明:

参数说明
apiName对象的api名称
objectData主对象数据即字段值
details从对象数据
withBizLogic是否执行业务逻辑,默认为true(该属性已经废除,无法生效。如果需要执行业务逻辑,请使用ActionAttribute参数)

     data返回值类型:Map

     举例:

 def(Boolean error,Map data,String errorMessage) = Fx.object.create("object_2fJ1o__c",["name":"主从同时新建主1"],["object_Ssm46__c":[["name":"张三1"]]],true)
  • 注意

    主对象创建同时新建从对象,从对象可以传空值。

    此函数不会触发新建对象业务逻辑(withBizLogic参数已废弃无效)。


  • 对象创建同时新建从对象(ActionAttribute):Fx.object.create(<String apiName>,<Map<String,Map> objectData>,<Map details>,<ActionAttribute attribute>)

    参数说明:

参数说明
apiName对象的api名称
objectData主对象数据即字段值
details从对象数据
attributetriggerApprovalFlow:是否触发审批流
triggerWorkflow:是否触发工作流
skipFunctionAction:是否跳过前后动作函数,这个参数设置为true,前后动作的函数都会跳过
specifyCreatedBy:默认的创建人是系统,通过参数指定在objectData中设置指定的key:<created_by:List<String>>传入人员的id可以设置创建人
specifyTime:指定创建时间,默认的创建时间是当前时间,通过指定参数可以在objectData中设置指定的key:create_time,可以设置创建时间,时间的格式是毫秒时间戳
使用方法详见下方示例

     data返回值类型:Map

     举例:

 ActionAttribute attribute = ActionAttribute.build {
             triggerApprovalFlow = false
             triggerWorkflow = false
             skipFunctionAction = true
             specifyCreatedBy = true
             specifyTime = true
 }
 def ret = Fx.object.create("AccountObj",["name":"1234",created_by:["1000"],create_time:1600414877000],null,attribute)
 Fx.log.info(ret)
  • 注意

    主对象创建同时新建从对象,从对象可以传空值。


2、批量新建-batchCreate

  • 批量新建

    Fx.object.batchCreate(<String apiName>,<List<Map> objectData>)

    Fx.object.batchCreate(<String apiName>,<List<Map> objectData>,<boolean triggerWorkflow>)

    参数说明:

参数说明
apiName对象的api名称
objectData对象数据即字段值
triggerWorkflow是否触发工作流,默认为false

     data返回值类型:List

     举例:

 def(Boolean error,List data,String errorMessage) = Fx.object.batchCreate("AccountObj",[["name":"客户1"],["name":"客户2"]],true)
  • 注意

    预设对象不推荐使用这个API批量创建。

    batch类函数不会不会触发某些对象业务逻辑(判断权限、触发审批流等),是否触发工作流由参数控制。


3、更新业务对象-update

  • 定义

    Fx.object.update(<String apiName>,<String objectDataId>,<Map objectData>)

    Fx.object.update(<String apiName>,<String objectDataId>,<Map objectData>, <boolean triggerWorkflow>)

  • 参数说明

参数说明
apiName对象的api名称
objectDataId对象实例的ID
objectData对象数据即字段值
triggerWorkflow是否触发工作流,默认为true

     data返回值类型:Map

  • 举例:

def (Boolean error,Map data,String errorMessage) =  Fx.object.update("AccountObj","id123456",["name":"纷享销客"],false)
  • 注意:此函数不会触发部分更新对象业务逻辑(判断权限、触发审批流等),是否触发工作流由参数控制。


4、批量更新业务对象-batchUpdate

  • 定义:Fx.object.batchUpdate(<String apiName>,<Map<String,Map> objectData>)

  • 参数说明

参数说明
apiName对象的api名称
objectData对象数据即字段值(key值为对象ID)

     data返回值类型:List

  • 举例:

def (Boolean error,List data,String errorMessage) =  object.batchUpdate("AccountObj",["e6a338ae8a944cdfb2bae737db1aa12f":["name":"客户1"],"4cd5a9f902af4f66a34df35a53630237":["name":"客户2"]])

     注:batch类函数不会不会触发对象业务逻辑(判断权限、触发审批流工作流等)。


5、按业务对象Id查询业务对象数据象-findById

  • 定义:Fx.object.findById(<String apiName>,<String objectDataId>)

  • 参数说明

参数说明
apiName对象的api名称
objectDataId对象实例的ID

     data返回值类型:Map

  • 举例:

def (Boolean error,Map data,String errorMessage) =  Fx.object.findById("AccountObj","e6a338ae8a944cdfb2bae737db1aa12f")

6、批量按业务对象Id查询业务对象数据-findByIds

  • 定义:Fx.object.findByIds(<String apiName>,<List objectDataIds>)

  • 参数说明

参数说明
apiName对象的api名称
objectDataIds对象实例的ID的List

     data返回值类型:List

  • 举例:

def (Boolean error,List data,String errorMessage) =  Fx.object.findByIds("AccountObj",["e6a338ae8a944cdfb2bae737db1aa12f","4cd5a9f902af4f66a34df35a53630237"])

7、按查询条件查询业务对象-find

  • 普通查询:Fx.object.find(<String apiName>,<List<Map> criteria>,<BigDecimal limit>,<BigDecimal skip>) 参数说明:

参数说明
apiName对象的api名称
criteria查询条件
limit限制查询条数,最大100条,如超过返回100条,使用skip参数分批查询
skip跳过多少数据

     data返回值类型:QueryResult

     举例:

def (Boolean error,QueryResult data,String errorMessage) =  Fx.object.find("AccountObj",[["name":"纷享销客"],["create_time": Operator.GT(1602325440000)]],10,0);
  • 查询并排序:Fx.object.find(<String apiName>,<List<Map> criteria>,<Map orderBy>,<BigDecimal limit>,<BigDecimal skip>) 参数说明:

参数说明
apiName对象的api名称
criteria查询条件
limit限制查询条数,最大100条,如超过返回100条,使用skip参数分批查询
orderBy排序规则 key:按哪个字段排序,字段名称 ;value:1 - 升序,-1 - 降序
skip跳过多少数据

     data返回值类型:QueryResult

     举例:

def (Boolean error,QueryResult data,String errorMessage) =  Fx.object.find("AccountObj",[["name":"分享逍客"],["create_time": Operator.GT(1602325440000)]],["name":1],10,0);
  • 使用用户身份查询数据:Fx.object.find(<String apiName>,<List<Map> criteria>,<Map orderBy>,<BigDecimal limit>,<BigDecimal skip>,<Boolean useCurrentIdentity>) 参数说明:

    参数 |说明 -|- apiName | 对象的api名称 criteria | 查询条件 limit | 限制查询条数,最大100条,如超过返回100条,使用skip参数分批查询 orderBy | 排序规则 key:按哪个字段排序,字段名称 ;value:1 - 升序,-1 - 降序 skip | 跳过多少数据 useCurrentIdentity | 是否使用用户身份。注意流程后动作执行的函数,用户的身份依旧是系统。其他函数使用场景,例如按钮点击,可以获取用户的身份。

         data返回值类型:QueryResult

         举例:

    def (Boolean error,QueryResult data,String errorMessage) =  Fx.object.find("AccountObj",[["name":"分享逍客"],["create_time": Operator.GT(1602325440000)]],["name":1],10,0,true);

Fx.object.find方法中的条件语句(使用Operator.调用,如 Operator.GT(1602325440000))如下:

说明代码格式
判断相等EQ(<Object str>) 文本查询条件区分大小写
判断不相等NE(<Object str>)
判断大于GT(<Object str>)
判断小于LT(<Object str>)
判断大于等于GTE(<Object str>)
判断小于等于LTE(<Object str>)
判断是否包含LIKE(<String str>) 文本查询条件不区分大小写
判断不包含NLIKE(<String str>)
判断属于其中一个IN(<List str>)
判断不属于其中NIN(<List list>)
判断字段是否有值EXISTS(<boolean ex>)
  • 注意

    条件中的日期格式使用毫秒时间戳


8、作废业务对象-remove

  • 定义:Fx.object.remove(<String apiName>,<String objectDataId>)

  • 参数说明

参数说明
apiName对象的api名称
objectDataId对象实例的ID

     data返回值类型:Map

  • 举例:

def (Boolean error,Map data,String errorMessage) =  Fx.object.remove("AccountObj","ed47841898054749a2ec9be9e6e5d728")

9、更换负责人-changeOwner

  • 定义:Fx.object.changeOwner(<String objectAPIName>,<String ObjectDataId>,<String OwnerId>)

  • 参数说明

参数说明
objectAPIName对象的api名称
objectDataId对象实例的ID
owner要变更的负责人的用户ID

     无返回值

  • 举例:

def (Boolean error,Map data,String errorMessage) = Fx.object.changeOwner("AccountObj","ed47841898054749a2ec9be9e6e5d728","1001")

  • 定义(ActionAttribute参数):Fx.object.changeOwner(<String objectAPIName>,<String objectDataId>,<String ownerId>,<ActionAttribute attribute>)

  • 参数说明

参数说明
objectAPIName对象的api名称
objectDataId对象实例的ID
ownerId要变更的负责人的用户ID
attribute控制触发行为
    ActionAttribute attribute = ActionAttribute.build{
  //跳过审批流
  triggerApprovalFlow = false
  //跳过工作流
  triggerWorkflow = false
  //跳过前后动作函数
  skipFunctionAction = true
}
Fx.object.changeOwner("APIName","objectId","ownerId",attribute)

10、添加团队成员-addTeamMember

  • 定义:Fx.object.addTeamMember(<String ObjectAPIName>,<String ObjectDataId>,<List UserIdList>,<Integer Role>,<Integer Permission>)

  • 参数说明

参数说明
ObjectAPIName对象的api名称
ObjectDataId对象实例的ID
UserIdList添加的团队成员的用户ID的List
Role添加的团队成员的角色:1-负责人,2-联合跟进人,3-售后服务人员,4-普通成员
Permission添加的团队成员的权限:1-只读,2-读写

     data返回值类型:Map

  • 举例:

def (Boolean error,Map data,String errorMessage) = Fx.object.addTeamMember("AccountObj","83cf73d957924284a96e9c44ebb333ec",["1001"],4,1)

     注:不能添加负责人;如果添加的成员包括负责人,则不会修改负责人数据;如果添加的成员在原系统中有重复的则更新该成员


11、删除团队成员-deleteTeamMember

  • 定义:Fx.object.deleteTeamMember(<String ObjectAPIName>,<String ObjectDataId>,<List UserIdList>)

  • 参数说明

参数说明
ObjectAPIName对象的api名称
ObjectDataId对象实例的ID
UserIdList删除的团队成员的用户ID的List

     data返回值类型:Map

  • 举例:

def (Boolean error,Map data,String errorMessage) = Fx.object.deleteTeamMember("AccountObj","83cf73d957924284a96e9c44ebb333ec",["1001"])

12、编辑团队成员-editTeamMember

  • 定义:Fx.object.editTeamMember(<String ObjectAPIName>,<String ObjectDataId>,<List<Map> TeamMemberList>)

  • 参数说明

参数说明
ObjectAPIName对象的api名称
ObjectDataId对象实例的ID
TeamMemberList要编辑团队成员的信息的List(key值包括:userID:用户ID;role:用户角色;permisson:用户权限,具体参考7)

     data返回值类型:Map

  • 举例:

def (Boolean error,Map data,String errorMessage) = Fx.object.editTeamMember("AccountObj","36fd270a986842529445bf3d252cca9b",[["userId":"1058","role":4,"permission":1],["userId":"1057","role":3,"permission":2]])

13、获取团队成员-getTeamMember

  • 定义:Fx.object.getTeamMember(<String objectAPIName>,<String objectId>)

  • 参数说明

参数说明
objectAPIName对象的api名称
objectId对象实例的ID

     data返回值类型:Map

  • 举例:

def (Boolean error,Map data,String errorMessage) = Fx.object.getTeamMember("AccountObj","83cf73d957924284a96e9c44ebb333ec")

14、添加外部团队成员-addOutTeamMember

  • 定义:Fx.object.addOutTeamMember(String apiName,String objectId,int permission,List<Map> employee)

  • 参数说明

参数说明
apiName对象的apiname
objectId对象实例的ID
permission外部团队成员权限 1:只读 2:读写
employee员工信息,其中Map包括【 userId:员工Id ; outTenantId:外部企业id】

     data返回值类型:String

  • 举例:

def (Boolean error,String data,String errorMessage) = Fx.object.addOutTeamMember('AccountObj',id,1,[['userId':'1001','outTenantId':'590057']])

15、获取单选/多选业务名称/选项名称-getOptionName

  • 定义:Fx.object.getOptionName(<String objectAPIName>,<String filedAPIName>,<String value>)

  • 参数说明

参数说明
objectAPIName对象的api名称
filedAPIName字段的api名称
value单选/多选的值

     data返回值类型:Map

  • 举例:

def (Boolean error,String data,String errorMessage) = Fx.object.getOptionName("AccountObj","lock_status","0")

16、根据映射规则创建数据-copyByRule

  • 根据映射规则新建(不能添加额外的字段):Fx.object.copyByRule(<String sourceApiName>,<String sourceId>,<String ruleApiName>)

      参数说明:

参数说明
sourceApiName被映射的对象Api Name
sourceId被映射的对象实例的ID
ruleApiName映射规则API Name

     data返回值类型:Map

     举例:

def (Boolean error,Map data,String errorMessage) = Fx.object.copyByRule('object_ejyW2__c','5d308dc0b5a2bf0001b0bfc2','map_btp50__c')
  • 根据映射规则直新建(同时新建从对象):Fx.object.copyByRule(<String sourceApiName>,<String sourceId>,<String ruleApiName>,<Map plus>, <Map detailPlus>)

      参数说明:

参数说明
sourceApiName被映射的对象Api Name
sourceId被映射的对象实例的ID
ruleApiName映射规则API Name
plus主对象数据参数
detailPlus从对象数据参数

     data返回值类型:Map

     举例:

Map plus = ["field_ZszsOc": "18800154471"];
Map detailValues1 = ["field_z5AI0c": "data1填充内容"]; 
Map detailValues2 = ["field_z5AI0c": "data2填充内容"];
List  detailFillValueList= [];
detailFillValueList.add( detailValues1);
detailFillValueList.add( detailValues2);
Map detailPlus = ["object_6hN1ic": detailFillValueList]
def (Boolean error,Map data,String errorMessage) = Fx.object.copyByRule('object_ob2G0__c','5cedf0137cfed9b33b75ddaa','map_797K4__c',plus,detailPlus)

17、数据锁定/解锁-lock/unlock

  • 数据锁定:Fx.object.lock(String apiName , String objectId , boolean cascadeDetail)

  • 数据解锁:Fx.object.unlock(String apiName , String objectId , boolean cascadeDetail)

      参数说明:

参数说明
apiName对象的apiname
objectId对象实例id
cascadeDetail是否锁定/解锁从对象

     data返回值类型:null

     举例:

def (Boolean error,data,String errorMessage) =Fx.object.lock('AccountObj' , 'e6a338ae8a944cdfb2bae737db1aa12f' , true)

18、聚合计算-aggregate

  • 定义:Fx.object.aggregate(String apiName,Aggregate type,int decimalScale,List criteria)

      参数说明:

参数说明
apiName对象的apiname
Aggregate计算类型
decimalScale小数位数
criteria查询条件(和find查询条件使用一样)

其中计算类型:

     Aggregate.SUM(String fieldApiName) 求和

     Aggregate.COUNT() 计算数量

     Aggregate.MAX(String fieldApiName) 最大值

     Aggregate.MIN(String fieldApiName) 最小值

     Aggregate.AVG(String fieldApiName) 平均值

     data返回值类型:String

     举例:

def (Boolean error,String data,String errorMessage) =Fx.object.aggregate("object_rqa45__c",Aggregate.AVG("field_VE1by__c"),2,[["name":Operator.LIKE("name")])

19、查询包括作废数据的API - findIncludeInvalided

  • 定义:Fx.object.findIncludeInvalided(String apiName, List criteria, int limit, int skip);            Fx.object.findIncludeInvalided(String apiName,List criteria,Map orderBy ,int limit ,int skip);            传参、返回值和调用方法参考find函数。


20、单多选/业务类型查询 - getOptionInfo

  • 定义:Fx.object.getOptionInfo(String apiName,String fieldAPIName);

      参数说明:

参数说明
apiName对象的apiname
fieldAPIName单多选/业务类型的API名称

     data返回值类型:map(label -> value , value -> label 的双向映射)

     举例:

def(boolean error,Map result,String errorMessage) = Fx.object.getOptionInfo("object_i66LR__c","record_type")

21、批量锁定/解锁- batchLock/batchUnlock

  • 锁定:Fx.object.batchLock(String apiName,List objectIds,boolean cascadeDetail);

  • 解锁:Fx.object.batchUnlock(String apiName,List objectIds,boolean cascadeDetail);

      参数说明:

参数说明
apiName对象APIName
objectIds数据id
cascadeDetail是否递归锁定从对象数据

     data返回值类型:无

     举例:

def (Boolean error,data,String errorMessage) =Fx.object.batchLock('AccountObj' , ["e6a338ae8a944cdfb2bae737db1aa12f"] , true)
def (Boolean error,data,String errorMessage) =Fx.object.batchUnlock('AccountObj' , ["e6a338ae8a944cdfb2bae737db1aa12f"] , true)

22、批量作废- bulkRemove

  • 定义

    Fx.object.bulkRemove(String apiName,List<String> objectIds)

    Fx.object.bulkRemove(String apiName,List<String> objectIds, ActionAttribute attribute)

      参数说明:

参数说明
apiName对象APIName
objectIds数据id
ActionAttributetriggerApprovalFlow:是否触发审批流(这个参数true才有效,因为批量作废是异步的,不管有没有配置审批流都不会触发审批流)
triggerWorkflow:是否触发工作流
skipFunctionAction:是否跳过前后动作函数,这个参数设置为true,前后动作的函数都会跳过
使用方法详见下方示例

     data返回值类型:Map,包含objectDataList,里面是删除的对象数据

     举例:

ActionAttribute attribute = ActionAttribute.build{
  triggerApprovalFlow = false
  triggerWorkflow = false
  skipFunctionAction = true
}
def ret = Fx.object.bulkRemove("object_oMTq9__c",objectIds,attribute)
Fx.log.info(ret)object.batchUnlock('AccountObj' , ["e6a338ae8a944cdfb2bae737db1aa12f"] , true)

23、批量更换负责人-batchChangeOwner

  • 定义:Fx.object.batchChangeOwner(<String objectAPIName>,<List<Map> datas>,<ActionAttribute attribute>)

  • 参数说明

参数说明
objectAPIName对象的api名称
datas要变更的负责人的数据ID和用户ID
attribute控制触发行为

     无返回值

  • 举例:

```
Map changeData1 = [
  "objectId":"5f86b47b1bdac00001f2c300",
  "ownerId":["-10000"]
]
Map changeData2 = [
  "objectId":"5f86b4a71bdac00001f2d232",
  "ownerId":["-10000"]
]
List arg = [changeData1,changeData2]
def ret = Fx.object.batchChangeOwner("object_i66LR__c",arg,    attribute)
Fx.log.info(ret)
```



内容来源于互联网,如有侵权,请联系客服删除处理。
在线咨询 拨打电话