如何使用RESTlet在Netsuite中获取特定记录类型的所有自定义字段?

时间:2016-02-03 13:48:25

标签: restlet netsuite

我可以使用RESTlet创建客户,主管,联系人。但我的代码由创建具有必需选项的自定义字段的人使用。当我尝试创建客户时,我会收到自定义必填字段的错误。

我也希望传递自定义必填字段的数据。如何知道使用RESTlet分类所需的所有自定义字段?

2 个答案:

答案 0 :(得分:3)

您可以使用

var record = nlapiCreateRecord(RECORD_TYPE);
var fields = record.getAllFields();
var requiredFields = [];
fields.forEach(function(fieldName){
 var field = record.getField(fieldName);
 //I am not very sure, its true or T but, below code will work
 if(field.mandatory === true || field.mandatory === 'T'){
   requiredFields.push(field.getName()) //getLabel() for UI label, as getName returns id;
 }
});

// requiredFields数组是您的需要。

答案 1 :(得分:3)

实际上,在这种情况下,我采用两种方法中的一种(或组合它们):

首先是忽略必填字段。您查看代码的工作是获取Netsuite的信息,用户必须负责将来的更新。您可以通过告诉Netsuite在代码保存时忽略必填字段来执行此操作:

nlapiSubmitRecord(nlobjRecord, doSourcing, ignoreMandatoryFields); //doSourcing and ignoreMandatoryFields are booleans

或者我在restlet中添加一个文本区域参数,其中配置restlet的人必须输入你想要做的事情的额外字段列表(例如在对话框中显示并且需要)