如何在 Suitelet 1.0 中将项目列表创建为 select 字段

How to create item list as a select field in suitelet 1.0

我想将项目列表添加为 select 选项。当用户开始输入项目名称时,相关项目名称显示在下拉列表中。

创建一个自定义字段并将类型指定为 List/Record,然后在 list/record 下拉列表中 select 现有对象或通过单击 [+] 号创建一个新列表。

首先创建一个列表并获取内部ID。例如内部 id 是 36

form.addField('myselectfield', 'select', 'my label', '36');
//here 36 is the internal id of the list you created

您需要进行搜索 return ID 和姓名:

  var fieldSrch= fieldValueSearch();
  var fld = form.addField('custpage_abc', 'select', 'MY SOURCED FIELD', null).setMandatory(true);
  fld.addSelectOption('', '');
  fieldSrch.forEach(function (opt) {
    fld.addSelectOption(opt.id, opt.value);
  });

你的函数如下:

function fieldValueSearch() {
  var savedSearch = nlapiLoadSearch('your_srch_type', 'your_search_id');
  var results = getResults(savedSearch.runSearch()).map(function (x) {
    return {
      "id": x.getId(),
      "value": x.getValue('name')
    };
  }).sort(function (a, b) {
    return parseFloat(a.id) - parseFloat(b.id);
  });
  return results;
}


function getResults(set) {
  var results = [];
  var i = 0;
  while (true) {
    var result = set.getResults(i, i + 1000);
    if (!result) break;
    results = results.concat(result);
    if (result.length < 1000) break;
    i += 1000;
  }
  return results;
}