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

How to get all custom fields of a particular record type in Netsuite using RESTlet?

我可以使用 RESTlet 创建客户、潜在客户和联系人。但是我的代码被使用必填选项创建自定义字段的人使用。当我尝试创建客户时,自定义必填字段出现错误。

我也想传递自定义必填字段的数据。如何使用 RESTlet 了解按必填和 none 必填分类的所有自定义字段?

您可以使用

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 数组是你需要的。

实际上在这种情况下,我采用了两种方法之一(或将它们结合起来):

首先是忽略必填字段。您认为您的代码的工作是将信息输入 Netsuite,而用户必须对未来的更新负责。您可以通过告诉 Netsuite 在您的代码保存必填字段时忽略它们来做到这一点:

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

或者我在 restlet 中添加一个文本区域参数,配置 restlet 的人必须输入您想要执行某些操作的额外字段列表(例如,在对话框中显示并设为必需)