如何获取netsuite中的内部id列表

时间:2017-09-12 09:51:02

标签: netsuite suitescript

是否有正确的方法来获取Netsuite记录中所有内部ID的列表?

var record = nlapiLoadRecord('customer', 1249);
var string = JSON.stringify(record);
nlapiLogExecution('DEBUG', 'string ', string );

我可以使用json字符串获取大部分id,但我正在寻找一种正确的方法。它打印所有数据,包括内部ID。是否有任何Api或任何其他方式?

2 个答案:

答案 0 :(得分:5)

getAllFields()函数将返回给定记录的所有字段名称(标准和自定义)的数组。

var customer = nlapiLoadRecord('customer', 5069);
var fields = customer.getAllFields();

fields.forEach(function(field) {
  nlapiLogExecution('debug', field);
})

答案 1 :(得分:5)

我实际上开发了一个Chrome扩展名,可以方便的弹出窗口显示此信息。

enter image description here

我遇到同样问题的nlobjRecord没有正确地进行字符串化,而我最终做的是手动请求并解析NS在调用nlapiLoadRecord()时内部使用的相同AJAX页面

  var id = nlapiGetRecordId();
  var type = nlapiGetRecordType();
  var url = '/app/common/scripting/nlapihandler.nl';
  var payload = '<nlapiRequest type="nlapiLoadRecord" id="' + id + '" recordType="' + type + '"/>';

  var response = nlapiRequestURL(url, payload);
  nlapiLogExecution('debug', response.getBody());

您可以查看GitHub上的完整源代码

https://github.com/michoelchaikin/netsuite-field-explorer/