Netsuite 根据记录类型动态设置条目表单
Netsuite dynamically set entry form based on record type
我想知道如何在创建项目时根据 "record type" 预设“自定义表单”,例如库存项目、序列化库存项目、批号库存项目等
我试过了:
- nlapiSetFieldValue('customform''2') /record.setFieldValeu() 在“beforeLoad”用户事件中 ---> 但不起作用
- 检查记录类型并在“页面初始化”中重新设置"custom form"客户端脚本--->系统将首先加载首选格式,然后重新加载。但是更改 "custom form" 将触发再次调用 "page init"。需要用条件打破死循环。但是性能不好,因为我需要先预置很多字段,而且至少需要加载2次表单。
所以我想知道有没有一种方法可以根据不同的item记录类型先预先设置好表格??
非常感谢!!
这已经在我的 SDN 帐户中测试和工作:
function beforeLoad() {
var formByType = {
"serializedinventoryitem": "33"
};
var recordType = nlapiGetRecordType();
var currentForm = nlapiGetFieldValue("customform");
var desiredForm = formByType[recordType];
if (desiredForm && (currentForm != desiredForm)) {
nlapiSetRedirectURL("RECORD", nlapiGetRecordType(), nlapiGetRecordId(), true, {"cf":desiredForm});
}
}
只需填写 formByType
对象,键是记录类型,值是每种类型应映射到的形式。
如果您在 formByType
中保留特定类型,则不会尝试重定向,而是使用首选形式。
请注意,您将需要多次部署此用户事件脚本,在您需要重定向的各种项目类型中的每一种上部署一次。
我想知道如何在创建项目时根据 "record type" 预设“自定义表单”,例如库存项目、序列化库存项目、批号库存项目等
我试过了:
- nlapiSetFieldValue('customform''2') /record.setFieldValeu() 在“beforeLoad”用户事件中 ---> 但不起作用
- 检查记录类型并在“页面初始化”中重新设置"custom form"客户端脚本--->系统将首先加载首选格式,然后重新加载。但是更改 "custom form" 将触发再次调用 "page init"。需要用条件打破死循环。但是性能不好,因为我需要先预置很多字段,而且至少需要加载2次表单。
所以我想知道有没有一种方法可以根据不同的item记录类型先预先设置好表格??
非常感谢!!
这已经在我的 SDN 帐户中测试和工作:
function beforeLoad() {
var formByType = {
"serializedinventoryitem": "33"
};
var recordType = nlapiGetRecordType();
var currentForm = nlapiGetFieldValue("customform");
var desiredForm = formByType[recordType];
if (desiredForm && (currentForm != desiredForm)) {
nlapiSetRedirectURL("RECORD", nlapiGetRecordType(), nlapiGetRecordId(), true, {"cf":desiredForm});
}
}
只需填写 formByType
对象,键是记录类型,值是每种类型应映射到的形式。
如果您在 formByType
中保留特定类型,则不会尝试重定向,而是使用首选形式。
请注意,您将需要多次部署此用户事件脚本,在您需要重定向的各种项目类型中的每一种上部署一次。