销售记录的函数
1.销售记录的创建,函数api
Fx.work.createSalesRecord("hello", [[object_api_name : "AccountObj",
id : "4d79c3068aca42b28aebbc98223e8bed"]], [users : [ "1025"]])
2. 销售记录创建,
//从对象图片下获取销售记录的图片
List imageData = []
if( context.data.field_MBTo1__c ){
List images = context.data.field_MBTo1__c as List
images.each{ item ->
Map image = [:]
image.put('path', item['path'])
image.put('name', item['filename'])
image.put('size', item['size'])
imageData.add(image)
}
}
//从对象数据下获取附件
List attachmentData = []
if( context.data.field_tOD2p__c ){
List attachments = context.data.field_tOD2p__c as List
attachments.each{ item ->
Map image = [:]
image.put('path', item["path"])
image.put('name', item["filename"])
image.put('size', item["size"])
attachmentData.add(image)
}
}
Map objectData = [
"active_record_content": [
"text": "test",
"attachments": attachmentData,
"images": imageData
],
//标准字段,key是APIName value List 里面是数据id,这个不能为空,且必须填写
"related_object": [
"AccountObj": [
"5f1b9c3d5271cf0001006ae6"
]
],
//标准字段,抄送范围 人员部门里面都是List<String>,数据需要有key cc_range 其他可以为空
"cc_range": [
"employees":["1001"],
"departments":["1000"],
//抄送的合作伙伴 ,key是外部企业id value List<String> 外部合作负责人的id
"partners":["300002880":["308142445","308142447"]]
],
"owner":["1001"],
//自定义字段
"field_xx__c":"222",
"active_record_type": "81d64447197d418d80e1969e6f567eb5"
]
Fx.log.info(objectData)
//销售记录比较特殊,负责人无法更改,需要增加一个属性,在代码中指定创建人
ActionAttribute attribute = ActionAttribute.build {
specifyCreatedBy = true
}
def createResult = Fx.object.create("ActiveRecordObj", objectData, null, attribute)
if(createResult[0]){
Fx.log.info("创建销售记录失败,原因为 : " + createResult[2])
}else{
Fx.log.info("创建成功")
}3. 销售记录查询动态关联
APIResult ret = Fx.object.find("ActiveRecordObj", //销售记录的apiname
FQLAttribute.builder() .columns(["_id", "name"]) //返回的数据id .queryTemplate( QueryTemplate.AND( ["related_api_names":Operator.EQ("AccountObj")],//要查的关联对象的apiname ["related_object_data":Operator.IN(["_id","635202caef27f300011b1c3a"])]//要查的关联的数据id,第一个“_id”是固定写法 )) .build(), SelectAttribute.builder() .build()); if(ret.isError()){ log.info(ret.message()); } log.info(ret.data)4. 销售记录动态关联的更新
//map是每个关联对象的apiname和数据id的列表的键值对
Map objectMap = ["AccountObj":["6375b210be821e00015daf24"], "object_4pJ0h__c":["636ce270f5c0b30001605076","636ce20af5c0b300015fe8a3"]]
def (Boolean error,Map data,String errorMessage) = Fx.object.update("ActiveRecordObj","6359dd60b1fa330001fcd856",["related_object":objectMap],false)
log.info(data)
log.info(errorMessage)