Fx.crm:和CRM操作相关的API
1. getProduct 产品
Fx.crm.getProduct()
返回值类型
ProductAPI
(1).参考ProductAPI
2. getLeads 线索
Fx.crm.getLeads()
返回值类型
LeadsAPI
(1).参考LeadsAPI
3. getAccount 客户
Fx.crm.getAccount()
返回值类型
AccountAPI
(1).参考AccountAPI
4. getBom Bom
Fx.crm.getBom()
返回值类型
BomAPI
(1).参考BomAPI
5. getEnterpriseByName 通过公司名称模糊查询工商信息
Fx.crm.getEnterpriseByName(<String companyName>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
companyName | String | 公司名称 |
返回值类型
APIResult
返回值说明
返回的数据类型: List
Java举例
APIResult ret = Fx.crm.getEnterpriseByName("百度");
if (ret.isError()) {
log.info(ret.message());
} else {
log.info(ret.getData());
}
Groovy举例
def(Boolean error, List data, String errorMessage) = Fx.crm.getEnterpriseByName("百度")
6. getEnterpriseDetailById 通过companyId查询工商信息
Fx.crm.getEnterpriseDetailById(<String companyId>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
companyId | String |
返回值类型
APIResult
返回值说明
返回的数据类型: Map
Java举例
APIResult ret = Fx.crm.getEnterpriseDetailById("1644990310");
if (ret.isError()) {
log.info(ret.message());
} else {
log.info(ret.getData());
}
Groovy举例
def(Boolean error, Map data, String errorMessage) = Fx.crm.getEnterpriseDetailById("1644990310")
参考类 com.fxiaoke.functions.api.ProductAPI
1. 产品上架下架
shelf(<String productId>, <Integer status>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
productId | String | 产品id |
status | Integer | status = 1上架,status = 2 下架 |
返回值类型
APIResult
返回值说明
返回的数据类型: Map
Java举例
APIResult ret = Fx.crm.getProduct().shelf("e1e145095f8142c891802fa36fcbd4c6", 1); //上架产品
APIResult ret1 = Fx.crm.getProduct().shelf("e1e145095f8142c891802fa36fcbd4c6", 2); //下架产品
Groovy举例:
def (Boolean err,Map data,String errorMessage) = Fx.crm.product.shelf("e1e145095f8142c891802fa36fcbd4c6", 1) //上架产品
def (Boolean err,Map data,String errorMessage) = Fx.crm.product.shelf("e1e145095f8142c891802fa36fcbd4c6",2) //下架产品
2. 创建产品分类
createProductCategory(<String name>, <String categoryCode>, <String pid>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
name | String | 产品分类名称 |
categoryCode | String | 产品分类编码 |
pid | String | 父类产品Id |
返回值类型
APIResult
返回值说明
返回的数据类型: Map
Java举例
APIResult ret = Fx.crm.getProduct().createProductCategory("产品分类名","产品分类编码",null);
APIResult ret1 = Fx.crm.getProduct().createProductCategory("产品分类名","产品分类编码","123");
Groovy举例:
def (Boolean err,Map data,String errorMessage) = Fx.crm.product.createProductCategory("产品分类名","产品分类编码",null)
def (Boolean err,Map data,String errorMessage) = Fx.crm.product.createProductCategory("产品分类名","产品分类编码","123")
3. 删除产品分类
deleteProductCategory(<String id>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
id | String | 产品分类id |
返回值类型
APIResult
返回值说明
返回的数据类型: Map
Java举例
APIResult ret = Fx.crm.getProduct().deleteProductCategory("d23r23fc234143jhsuad");
if (ret.isError()) {
log.info(ret.message());
} else {
log.info(ret.getData());
}
Groovy举例:
def res = (((Fx.object.find("ProductCategoryObj",[["category_code":"111"]], 10, 0)[1]) as QueryResult).dataList[0] as Map)
def id = (res._id) as String
def (Boolean error,Map data,String errorMessage) = Fx.crm.product.deleteProductCategory(id)
log.info(data)
4. 修改产品分类
updateProductCategory(<String id>, <Map arg>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
id | String | 产品分类id |
arg | Map | 更新产品分类内容 |
返回值类型
APIResult
返回值说明
返回的数据类型: Map
Java举例
Map<String, Object>map = Maps.newHashMap();
map.put("name", "111");
map.put("categoryCode", "222");
APIResult ret = Fx.crm.getProduct().updateProductCategory("d23r23fc234143", map);
if (ret.isError()) {
log.info(ret.message());
} else {
log.info(ret.getData());
}
Groovy举例:
def res = (((Fx.object.find("ProductCategoryObj",[["category_code":"111"]], 10, 0)[1]) as QueryResult).dataList[0] as Map)
def id = (res._id) as String
Map map = ["name":"111","categoryCode":"222"]
//修该产品分类
def (boolean err,Map dataList,String errorMessage) = Fx.crm.product.updateProductCategory(id,map)
5. 根据字段值查询分类数据
searchCategory(<String fieldApiName>, <List values>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
fieldApiName | String | 分类上的字段ApiName,用于根据该字段搜索分类数据,参数:"category_code" |
values | List | 字段值 List,最多20个 |
返回值类型
APIResult
返回值说明
返回的数据类型: List
Java举例
// 字段apiName,支持:“cayegory_code”
String fieldApiName = "category_code";
// 搜索的字段值,最大20个
List<String>values = Lists.newArrayList("pNxTqSPS");
APIResult ret = Fx.crm.getProduct().searchCategory(fieldApiName, values);
if (ret.isError()) {
log.info(ret.message());
} else {
log.info(ret.getData());
}
Groovy举例:
// 字段apiName,支持:“cayegory_code”
def fieldApiName = "category_code"
// 搜索的字段值,最大20个
def values = ["pNxTqSPS"]
def(boolean error, List data, String message) = Fx.crm.product.searchCategory(fieldApiName, values)
if (error) {
log.info("error: " + message)
} else {
log.info(data)
}
6. 产品属性关联
associateAttribute(<List product_ids>, <List attribute_ids>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
product_ids | List | 产品id数组 |
attribute_ids | List | 属性id数组 |
返回值类型
APIResult
返回值说明
返回的数据类型: List
Java举例
// 产品id列表:"product_ids"
List product_ids = Lists.newArrayList("xxxxx");
// 属性id列表
List attribute_ids = Lists.newArrayList("xxxxx");
APIResult ret = Fx.crm.product.associateAttribute(product_ids, attribute_ids);
if (ret.isError()) {
log.info(ret.message());
} else {
log.info(ret.getData());
}
Groovy举例:
// 产品id列表:"product_ids"
def product_ids = ["xxxxx"]
// 属性id列表
def attribute_ids= ["xxxxx"]
def(boolean error, List data, String message) = Fx.crm.product.associateAttribute(product_ids, attribute_ids)
if (error) {
log.info("error: " + message)
} else {
log.info(data)
}
7. 产品属性解除关联
disAssociateAttribute(<List product_ids>, <List attribute_ids>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
product_ids | List | 产品id数组 |
attribute_ids | List | 属性id数组 |
返回值类型
APIResult
返回值说明
返回的数据类型: List
Java举例
// 产品id列表:"product_ids"
List product_ids = Lists.newArrayList("xxxxx");
// 属性id列表
List attribute_ids = Lists.newArrayList("xxxxx");
APIResult ret = Fx.crm.product.disAssociateAttribute(product_ids, attribute_ids);
if (ret.isError()) {
log.info(ret.message());
} else {
log.info(ret.getData());
}
Groovy举例:
// 产品id列表:"product_ids"
def product_ids = ["xxxxx"]
// 属性id列表
def attribute_ids= ["xxxxx"]
def(boolean error, List data, String message) = Fx.crm.product.disAssociateAttribute(product_ids, attribute_ids)
if (error) {
log.info("error: " + message)
} else {
log.info(data)
}
参考类 com.fxiaoke.functions.api.LeadsAPI
1. 线索转移
move(<String leadsId>, <String leadsPoolId>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
leadsId | String | 线索Id |
leadsPoolId | String | 线索池Id |
返回值类型
APIResult
返回值说明
返回的数据类型: String
Java举例
APIResult ret = Fx.crm.getLeads().move("05f3f656feb9496abaa4cf50f1fa22ce", "85f454b044894f83a57e1bacfd2f1beb");
if (ret.isError()) {
log.info(ret.message());
} else {
log.info(ret.getData());
}
Groovy举例:
def (Boolean err,String data,String errorMessage) = Fx.crm.leads.move("05f3f656feb9496abaa4cf50f1fa22ce", "85f454b044894f83a57e1bacfd2f1beb")
2. 线索退回
giveBack(<String leadsId>, <String leadsPoolId>, <String backReason>, <String otherReason>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
leadsId | String | 线索Id |
leadsPoolId | String | 线索池Id |
backReason | String | 退回原因,对应对象上退回原因选项值,传选项值的value,默认为"return by function",非必填 |
otherReason | String | backReason 如果是other的话,可以在 otherReason 中传其它的详细内容,非必填 |
返回值类型
APIResult
返回值说明
返回的数据类型: String
Java举例
APIResult ret = Fx.crm.getLeads().giveBack("05f3f656feb9496abaa4cf50f1fa22ce", "85f454b044894f83a57e1bacfd2f1beb");
if (ret.isError()) {
log.info(ret.message());
} else {
log.info(ret.getData());
}
Groovy举例:
Fx.crm.leads.giveBack("05f3f656feb9496abaa4cf50f1fa22ce", "85f454b044894f83a57e1bacfd2f1beb")
3. 线索分配
allocate(<List accountIds>, <String leadsPoolId>, <String ownerId>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
accountIds | List | 线索Id列表 |
leadsPoolId | String | 线索池Id |
ownerId | String | 用户id |
返回值类型
APIResult
返回值说明
返回的数据类型: String
Java举例
APIResult ret = Fx.crm.getLeads().allocate(Lists.newArrayList("3ed01dcafbe4402d99d7a521aaa4e9c3"), "85f454b044894f83a57e1bacfd2f1beb", "1025");
if (ret.isError()) {
log.info(ret.message());
} else {
log.info(ret.getData());
}
Groovy举例:
Fx.crm.leads.allocate(["3ed01dcafbe4402d99d7a521aaa4e9c3"], "85f454b044894f83a57e1bacfd2f1beb", "1025")
4. 线索收回
takeBack(<List accountIds>, <String leadsPoolId>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
accountIds | List | 线索Id列表 |
leadsPoolId | String | 线索池Id |
返回值类型
APIResult
返回值说明
返回的数据类型: String
Java举例
APIResult ret = Fx.crm.getLeads().takeBack(Lists.newArrayList("3ed01dcafbe4402d99d7a521aaa4e9c3"), "85f454b044894f83a57e1bacfd2f1beb");
if (ret.isError()) {
log.info(ret.message());
} else {
log.info(ret.getData());
}
Groovy举例:
Fx.crm.leads.takeBack(["3ed01dcafbe4402d99d7a521aaa4e9c3"], "85f454b044894f83a57e1bacfd2f1beb")
5. 线索一转三
transfer(<Boolean combineCRMFeed>, <Boolean putTeamMembersIntoCustomer>, <String leadsId>, <Map account>, <Map contact>, <Map newOpportunity>, <Map opportunity>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
combineCRMFeed | Boolean | 销售线索的销售记录自动带入客户 |
putTeamMembersIntoCustomer | Boolean | 销售线索的相关团队自动带入客户 |
leadsId | String | 销售线索的id |
account | Map | 客户的Map , 如果存在_id 则关联旧客户,如果不存在id 则创建新客户 |
contact | Map | 转换成联系人的Map |
newOpportunity | Map | 转换成商机2。0的数据 |
opportunity | Map | 转换成商机的数据 |
返回值类型
APIResult
Java举例
String leadsId = "05f3f656feb9496abaa4cf50f1fa22ce";
Map<String, Object>account = Maps.newHashMap();
account.put("object_describe_api_name", "AccountObj");
account.put("record_type", "default__c");
account.put("created_by", Lists.newArrayList("1109"));
account.put("name", "hello");
Map<String, Object>contact = Maps.newHashMap();
Map<String, Object>newOpportunity = Maps.newHashMap();
Map<String, Object>opportunity = Maps.newHashMap();
APIResult ret = Fx.crm.getLeads().transfer(true, true, leadsId, account, contact, newOpportunity, opportunity);
if (ret.isError()) {
log.info(ret.message());
} else {
log.info(ret.getData());
}
Groovy举例:
String leadsId = "05f3f656feb9496abaa4cf50f1fa22ce"
Map account = [
"object_describe_api_name": "AccountObj",
"record_type": "default__c",
"created_by": [
"1109"
],
"name": "hello"
]
Map contact = [:]
Map newOpportunity = [:]
Map opportunity = [:]
def(boolean error, Object data, String msg) = Fx.crm.leads.transfer(true, true, leadsId, account, contact, newOpportunity, opportunity)
if (error) {
log.info(data)
} else {
log.info(msg)
}
参考类 com.fxiaoke.functions.api.AccountAPI
1. 客户转移公海
move(<String accountId>, <String highSeaId>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
accountId | String | 客户Id |
highSeaId | String | 公海Id |
返回值类型
APIResult
返回值说明
返回的数据类型: String
Java举例
Fx.crm.getAccount().move("ad14bbbcede240a48dc2f65787a8763d","6c1a6a54617245fe90aae5a162eb191d").result();
Groovy举例:
Fx.crm.account.move("ad14bbbcede240a48dc2f65787a8763d","6c1a6a54617245fe90aae5a162eb191d").result()
2. 客户移除公海
remove(<String accountId>, <String highSeaId>, <String owner>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
accountId | String | 客户Id |
highSeaId | String | 公海Id |
owner | String | 负责人id |
返回值类型
APIResult
返回值说明
返回的数据类型: String
Java举例
Fx.crm.getAccount().remove("ad14bbbcede240a48dc2f65787a8763d","6c1a6a54617245fe90aae5a162eb191d","1000").result();
Groovy举例:
Fx.crm.account.remove("ad14bbbcede240a48dc2f65787a8763d","6c1a6a54617245fe90aae5a162eb191d","1000").result()
3. 客户退回公海
giveBack(<String accountId>, <String highSeaId>, <String backReason>, <String otherReason>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
accountId | String | 客户Id |
highSeaId | String | 公海Id |
backReason | String | 退回原因,对应对象上退回原因选项值,传选项值的value,默认为"return by function",非必填 |
otherReason | String | backReason 如果是other的话,可以在 otherReason 中传其它的详细内容,非必填 |
返回值类型
APIResult
返回值说明
返回的数据类型: String
Java举例
Fx.crm.getAccount().giveBack("ad14bbbcede240a48dc2f65787a8763d","6c1a6a54617245fe90aae5a162eb191d", "other", "不符合").result();
Groovy举例:
Fx.crm.account.giveBack("ad14bbbcede240a48dc2f65787a8763d","6c1a6a54617245fe90aae5a162eb191d", "other", "不符合").result()
4. 客户领取
takeOut(<List accountIds>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
accountIds | List | 客户Id列表 |
返回值类型
APIResult
返回值说明
返回的数据类型: String
Java举例
Fx.crm.getAccount().takeOut(Lists.newArrayList("ad14bbbcede240a48dc2f65787a8763d", "6c1a6a54617245fe90aae5a162eb191d")).result();
Groovy举例:
Fx.crm.account.takeOut(["ad14bbbcede240a48dc2f65787a8763d", "6c1a6a54617245fe90aae5a162eb191d"]).result()
5. 客户分配
allocate(<List accountIds>, <String highSeaId>, <String ownerId>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
accountIds | List | 客户Id列表 |
highSeaId | String | 公海Id |
ownerId | String | 用户Id |
返回值类型
APIResult
返回值说明
返回的数据类型: String
Java举例
Fx.crm.getAccount().allocate(Lists.newArrayList("cd097b120f584533b627c40239ece7d0"),"0ebc054e55254b8b89f09d7ac7602972","1025").result();
Groovy举例:
Fx.crm.account.allocate(["cd097b120f584533b627c40239ece7d0"],"0ebc054e55254b8b89f09d7ac7602972","1025").result()
6. 客户收回
takeBack(<List accountIds>, <String highSeaId>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
accountIds | List | 客户Id列表 |
highSeaId | String | 公海Id |
返回值类型
APIResult
返回值说明
返回的数据类型: String
Java举例
Fx.crm.getAccount().takeBack(Lists.newArrayList("cd097b120f584533b627c40239ece7d0"),"0ebc054e55254b8b89f09d7ac7602972").result();
Groovy举例:
Fx.crm.account.takeBack(["cd097b120f584533b627c40239ece7d0"],"0ebc054e55254b8b89f09d7ac7602972").result()
参考类 com.fxiaoke.functions.api.BomAPI
1. 保存产品选配明细
bomDeploy(<String rootProductId>, <List nodeList>, <List deletedBomAndGroupList>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
rootProductId | String | 根节点产品id |
nodeList | List | 新增修改数据数组 |
deletedBomAndGroupList | List | 删除数据数组 |
返回值类型
APIResult
返回值说明
返回的数据类型: Map
Java举例
// 需要删除的节点数据
List deletedBomAndGroupList= Lists.newArrayList();
// 需要新增和修改的节点数据
List nodeList = Lists.newArrayList();
String rootProductId = "6406f80060c1980001a23560";
APIResult ret = Fx.crm.getBom.bomDeploy(rootProductId, nodeList, deletedBomAndGroupList);
log.info(ret);
if (ret.isError()) {
log.info(ret.message());
} else{
log.info(ret.getData());
}
Groovy举例:
// 需要删除的节点数据
def deletedBomAndGroupList=[]
// 需要新增和修改的节点数据
def nodeList = [
[
"object_describe_api_name": "ProductGroupObj",
"name": "分组一",
"group_options_control": false,
"min_prod_count": null,
"max_prod_count": null,
"children": [
[
"record_type": "default__c",
"object_describe_api_name": "BOMObj",
"price_editable": true,
"price_mode": "1",
"amount": "3",
"min_amount": "2",
"selected_by_default": true,
"increment": "1",
"is_required": false,
"life_status": "normal",
"enabled_status": true,
"amount_editable": true,
"max_amount": "5",
"product_id": "640716930f8b230001378dea",
"action_type": "create",
"adjust_price": "3.00"
]
],
"action_type": "create",
"record_type": "default__c"
]
]
// 根节点产品id
def rootProductId="6406f80060c1980001a23560"
def(boolean error, Map data, String message) = Fx.crm.bom.bomDeploy(rootProductId, nodeList, deletedBomAndGroupList)
if (error) {
log.info("error: " + message)
} else {
log.info(data)
}
2. 产品组合新建
add(<Map objectData>, <Map details>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
objectData | Map | 主对象 |
details | Map | 从对象Map |
返回值类型
APIResult
返回值说明
Map
Groovy举例:
Map masterData = [
"product_id" : "6600e02fab2ffd00073faad2",//父项产品,必填,产品ID
"category" : "configure",//BOM类型(configure-配置BOM,standard-标准BOM)
"purpose" : "sale", //BOM用途,sale-销售BOM (固定,不要改)
"object_describe_api_name": "BomCoreObj", //(固定,不要改)
"owner" : ["-10000"],
"record_type" : "default__c"
];
List details = [];
Map product1 = [
"record_type" : "default__c",
"object_describe_api_name": "BOMObj", //表示子件
"product_id" : "65fd50dd9f9a2d000128c294", //必填
"amount" : "1",//数量
"price_mode" : "1",//定价模式 1-配置价格 2-价目表价格
"adjust_price" : 200, //定价模式为 价目表价格 时,可以不设置此字段
"is_required" : true,//是否必须
"selected_by_default" : true,//是否默认选中
"price_editable" : false,//价格是否可编辑
"amount_editable" : false,//数量是否可编辑
"increment" : 1,//增加数量幅度
"enabled_status" : true,//启用状态
"order_field" : "1",//显示顺序
"action_type" : "create",
"children" : [] //子件下允许挂子件,如果没有子件,可以不设置
];
details.add(product1);
List children = [
[
"action_type" : "create",
"record_type" : "default__c",
"object_describe_api_name": "BOMObj",//必填
"product_id" : "65fd50dd9f9a2d000128c294", //必填
"amount" : "1",
"price_mode" : "1",
"adjust_price" : 300,
"is_required" : true,
"selected_by_default" : true,
"price_editable" : false,
"amount_editable" : false,
"increment" : 1,
"enabled_status" : true,
"order_field" : "1"
],
[
"action_type" : "create",
"record_type" : "default__c",
"object_describe_api_name": "BOMObj", //必填
"product_id" : "6603c02d491f7e00079431ca", //必填
"amount" : "1",
"price_mode" : "1",
"adjust_price" : 300,
"is_required" : true,
"selected_by_default" : true,
"price_editable" : false,
"amount_editable" : false,
"increment" : 1,
"enabled_status" : true,
"order_field" : "1"
]
];
Map group = [
"record_type" : "default__c",
"object_describe_api_name": "ProductGroupObj",////表示分组
"name" : "测试分组信息",
"order_field" : "1",//设置显示顺序
"group_options_control" : true,
"action_type" : "create",
"children" : children //分组下所挂的子件
];
details.add(group);
def (boolean error, Map data, String message) = Fx.crm.bom.add(masterData, ["BOMObj": details]);
if (error) {
log.info("错误信息:" + message);
} else {
log.info("返回结果:" + data);
}
3. 产品组合编辑
edit(<Map objectData>, <Map details>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
objectData | Map | 主对象 |
details | Map | 从对象Map |
返回值类型
APIResult
返回值说明
Map
Groovy举例:
Map masterData = [
"product_id" : "6600e02fab2ffd00073faad2",//父项产品,必填,产品ID
"category" : "configure",//BOM类型(configure-配置BOM,standard-标准BOM)
"purpose" : "sale", //BOM用途,sale-销售BOM (固定,不要改)
"object_describe_api_name": "BomCoreObj", //(固定,不要改)
"owner" : ["-10000"],
"record_type" : "default__c"
];
List details = [];
Map product1 = [
"record_type" : "default__c",
"object_describe_api_name": "BOMObj", //表示子件
"product_id" : "65fd50dd9f9a2d000128c294", //必填
"amount" : "1",//数量
"price_mode" : "1",//定价模式 1-配置价格 2-价目表价格
"adjust_price" : 200, //定价模式为 价目表价格 时,可以不设置此字段
"is_required" : true,//是否必须
"selected_by_default" : true,//是否默认选中
"price_editable" : false,//价格是否可编辑
"amount_editable" : false,//数量是否可编辑
"increment" : 1,//增加数量幅度
"enabled_status" : true,//启用状态
"order_field" : "1",//显示顺序
"action_type" : "create",
"children" : [] //子件下允许挂子件,如果没有子件,可以不设置
];
details.add(product1);
List children = [
[
"action_type" : "create",
"record_type" : "default__c",
"object_describe_api_name": "BOMObj",//必填
"product_id" : "65fd50dd9f9a2d000128c294", //必填
"amount" : "1",
"price_mode" : "1",
"adjust_price" : 300,
"is_required" : true,
"selected_by_default" : true,
"price_editable" : false,
"amount_editable" : false,
"increment" : 1,
"enabled_status" : true,
"order_field" : "1"
],
[
"action_type" : "create",
"record_type" : "default__c",
"object_describe_api_name": "BOMObj", //必填
"product_id" : "6603c02d491f7e00079431ca", //必填
"amount" : "1",
"price_mode" : "1",
"adjust_price" : 300,
"is_required" : true,
"selected_by_default" : true,
"price_editable" : false,
"amount_editable" : false,
"increment" : 1,
"enabled_status" : true,
"order_field" : "1"
]
];
Map group = [
"record_type" : "default__c",
"object_describe_api_name": "ProductGroupObj",////表示分组
"name" : "测试分组信息",
"order_field" : "1",//设置显示顺序
"group_options_control" : true,
"action_type" : "create",
"children" : children //分组下所挂的子件
];
details.add(group);
def (boolean error, Map data, String message) = Fx.crm.bom.edit(masterData, ["BOMObj": details]);
if (error) {
log.info("错误信息:" + message);
} else {
log.info("返回结果:" + data);
}