Suitescript 2.0 record.load 潜在客户或潜在客户
Suitescript 2.0 record.load either Lead or Prospect
我创建了一个用户事件脚本,用于根据 afterSubmit 上的新 phone 通话记录更新潜在客户自定义字段。它从 phone 调用事件中实体 ID 的 ID 加载客户。它工作正常,但它只加载潜在客户记录。我如何微调此脚本以获取实体类型,然后使用它来确定要加载的记录类型?
function afterSubmit(context) {
var phoneRec = context.newRecord;
var checkbox1 = phoneRec.getValue({
fieldId: 'custevent_field1'
});
var checkbox2 = phoneRec.getValue({
fieldId: 'custevent_field2'
});
var custId = phoneRec.getValue({
fieldId: 'company'
});
if(custId && checkbox1 == true) {
var loadedcust = record.load({
type : record.Type.LEAD,
id : custId});
loadedcust.setValue({
fieldId:'custentity_filed1',
value: true });
loadedcust.save();
}
if(custId && checkbox2 == true) {
var loadedcust = record.load({
type : record.Type.LEAD,
id : custId});
loadedcust.setValue({
fieldId:'custentity_field2',
value: true });
loadedcust.save();
}
}
return {afterSubmit}
不确定如何仅从 id 值中提取更多实体信息。任何见解都会有所帮助。
是的,您应该可以只使用客户。
此外,除非您的值是独占的,否则您还可以执行以下操作以加快 return 速度:
define(['N/record',...], function(record,...){ // include record module in your define
function afterSubmit(context) {
var phoneRec = context.newRecord;
var checkbox1 = phoneRec.getValue({
fieldId: 'custevent_field1'
});
var checkbox2 = phoneRec.getValue({
fieldId: 'custevent_field2'
});
var custId = phoneRec.getValue({
fieldId: 'company'
});
var updates = {};
var anyUpdate = false;
if(custId && checkbox1 == true) {
updates.custentity_filed1 = true; //not field1?
anyUpdate = true;
}
if(custId && checkbox2 == true) {
updates.custentity_field2 = true;
anyUpdate = true;
}
if(anyUpdate){ //single update. No need to load record twice nor submit it twice.
record.submitFields({
type:'customer',
id:custId,
values:updates
})
}
}
return {afterSubmit}
}
我创建了一个用户事件脚本,用于根据 afterSubmit 上的新 phone 通话记录更新潜在客户自定义字段。它从 phone 调用事件中实体 ID 的 ID 加载客户。它工作正常,但它只加载潜在客户记录。我如何微调此脚本以获取实体类型,然后使用它来确定要加载的记录类型?
function afterSubmit(context) {
var phoneRec = context.newRecord;
var checkbox1 = phoneRec.getValue({
fieldId: 'custevent_field1'
});
var checkbox2 = phoneRec.getValue({
fieldId: 'custevent_field2'
});
var custId = phoneRec.getValue({
fieldId: 'company'
});
if(custId && checkbox1 == true) {
var loadedcust = record.load({
type : record.Type.LEAD,
id : custId});
loadedcust.setValue({
fieldId:'custentity_filed1',
value: true });
loadedcust.save();
}
if(custId && checkbox2 == true) {
var loadedcust = record.load({
type : record.Type.LEAD,
id : custId});
loadedcust.setValue({
fieldId:'custentity_field2',
value: true });
loadedcust.save();
}
}
return {afterSubmit}
不确定如何仅从 id 值中提取更多实体信息。任何见解都会有所帮助。
是的,您应该可以只使用客户。
此外,除非您的值是独占的,否则您还可以执行以下操作以加快 return 速度:
define(['N/record',...], function(record,...){ // include record module in your define
function afterSubmit(context) {
var phoneRec = context.newRecord;
var checkbox1 = phoneRec.getValue({
fieldId: 'custevent_field1'
});
var checkbox2 = phoneRec.getValue({
fieldId: 'custevent_field2'
});
var custId = phoneRec.getValue({
fieldId: 'company'
});
var updates = {};
var anyUpdate = false;
if(custId && checkbox1 == true) {
updates.custentity_filed1 = true; //not field1?
anyUpdate = true;
}
if(custId && checkbox2 == true) {
updates.custentity_field2 = true;
anyUpdate = true;
}
if(anyUpdate){ //single update. No need to load record twice nor submit it twice.
record.submitFields({
type:'customer',
id:custId,
values:updates
})
}
}
return {afterSubmit}
}