Как правильно использовать заголовки импорта (suitescript)? - PullRequest
1 голос
/ 09 апреля 2020

Попытка запустить скрипт Suitelet для вызова поиска, а затем преобразовать его в счет-фактуру. Но перед тем, как перейти к следующему шагу, я столкнулся с сообщением ниже.

Сообщение об ошибке:

Ошибка оценки скрипта: все модули SuiteScript API недоступны при выполнении обратного вызова определения.

Ниже приведен весь мой сценарий:

/**
 * @NApiVersion 2.x
 * @NScriptType Suitelet
 */
require(['N/search','N/log'], function (search,log) {
  function onRequest(context) {
    // Search
    // ### ORDERS TO BILL 
var salesorderSearchObj = search.create({
    type: "salesorder",
    filters:
    [
       ["type","anyof","SalesOrd"], 
       "AND", 
       ["status","anyof","SalesOrd:E","SalesOrd:F"], 
       "AND", 
       ["mainline","is","T"]
    ],
    columns:
    [
       search.createColumn({name: "amount", label: "Amount"}),
       search.createColumn({name: "entity", label: "Name"}),
       search.createColumn({name: "account", label: "Account"}),
       search.createColumn({
          name: "datecreated",
          sort: search.Sort.DESC,
          label: "Date Created"
       }),
       search.createColumn({name: "billeddate", label: "Date Billed"}),
       search.createColumn({name: "statusref", label: "Status"})
    ]
 });

 var searchResultCount = salesorderSearchObj.runPaged().count;
 log.debug( {"title":"salesorderSearchObj result count", "details":searchResultCount});
 salesorderSearchObj.run().each(function(result){
    // .run().each has a limit of 4,000 results
    return true;
 });

  }

  return {
    onRequest: onRequest
  };
});

Пошаговый процесс для этого кода

В основном отображает и сокращает выбранные заказы на продажу (что является основой * 1023). * функция страницы заказов на продажу в Netsuite)

  1. Загрузка поиска
  2. Карта путем преобразования выбранных заказов в один (по клиенту)
  3. Сокращение в один счет / Ca sh Продажа

1 Ответ

0 голосов
/ 09 апреля 2020

Как подсказывает bknights, примеры скриптов, предоставляемые NetSuite, являются лишь частью скрипта и не являются полноценными скриптами. Поэтому перед их использованием необходимо убедиться, что ваш скрипт действителен и завершен.

Что касается сообщения об ошибке Fail to evaluate script, весь ваш скрипт (использующий модули NetSuite) должен находиться внутри функции внутри перезвонить. т. е. у Suitelet есть одна запись Point onRequest, поэтому смещение всех ваших сценариев (в обратном вызове) под него должно работать.

пример:

/**
 * @NApiVersion 2.x
 * @NScriptType Suitelet
 */
define(['N/search'], function (search) {
  function onRequest(context) {
    // Your search and order transform code should be here
    // ### ORDERS TO BILL 

  }

  return {
    onRequest: onRequest
  };
});

Для дальнейшего чтения проверьте this out.

...