netsuite 的新手,我正在尝试将案例系统用作我们物业管理公司的工单系统。我希望能够从案例记录创建采购订单并自动链接回来。我已经在采购订单中添加了自定义字段以链接案例;但是我正在尝试在案例表单上创建一个创建采购订单按钮。
我知道我必须制作一个套件脚本,然后将其附加到表单设置中的自定义操作子选项卡,我需要帮助编写套件脚本文件。
要将按钮添加到案例记录,请在加载案例记录之前设置用户事件。用户事件将是这样的:
function BeforeLoadCase(type, form) {
try {
form.setScript('customscript_create_po');
form.addButton('custpage_custombutton', 'Create PO', 'CreatePO()');
}
catch (err) {
nlapiLogExecution('error', 'BeforeLoadCase', err);
}}
' customscript_create_po ':这是一个客户端脚本,在按钮单击时打开一个新的采购订单记录。它的代码如下:
function CreatePO() {
var url = nlapiResolveURL('record', 'purchaseorder', null, 'edit') + '?case_id=' + nlapiGetRecordId();
window.open(url, "New Purchase Order");}
现在,在采购订单上部署一个用户事件(加载前),代码有点像:
function BeforeLoadPO(type, form, request) {
if (type == 'create' && request.getParameter('case_id') != null) {
var caseRecord = nlapiLoadRecord('supportcase', request.getParameter('case_id'));
}}
您的脚本应如下所示
location.href = nlapiResolveURL('record','purchaseorder',null,'edit') + '?case_id=' + nlapiGetRecordId();
此外,您必须在采购订单的加载事件之前处理此查询字符串参数并将其设置在您的自定义字段中。
请改用此代码:
window.location.href = nlapiResolveURL('record','purchaseorder') + '?record.custbody1=' + nlapiGetRecordId();
该代码应该将您重定向到您的 PO 表单,然后为您预先填充自定义字段。