Как передать значение из getInputData () в функцию map () в map, чтобы уменьшить suitescript? - PullRequest
0 голосов
/ 08 апреля 2020

Я сделал суллет, который запускает скрипт уменьшения карты и передает параметр, который является датой. Теперь необходимо включить этот объект даты (из набора) в функцию map(). Так что запись, которая будет создана в map(), может иметь эту дату как trandate.

 define(['N/record', 'N/search', 'N/runtime'], function (record, search, runtime) {
  function getInputData() {
    try {
      var slfilter = runtime.getCurrentScript().getParameter({ name: 'custscript_searchfilter_date' });
      slfilter.replace(/\\/g, "");
      var dateSL = JSON.parse(slfilter);
      log.debug('dateSL parsed', dateSL)
      var date = dateSL['date'];
      log.debug('date', date);

      var savedSearch = search.load({ id: 'customsearch_wip_correction' });

      var results = getResults(savedSearch.run())
      log.debug('results:', results)      

      return results;
    }
    catch (e) {
      log.error("GetInputData ", e);
    }
  }

  function map(context) {

    try {
    // date is required here 
    var data = JSON.parse(context.value);
    log.debug('map:' + context.key, context.value)

    var amount = data.values['SUM(amount)'];
    log.debug('amount', amount)

    var location = data.values['GROUP(location)'][0].value;
    log.debug('location', location)
}
catch (e) {
  log.error("map", e)
}


 }

1 Ответ

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

Поместите runtime.getCurrentScript().getParameter в раздел карты.

N/runtime может работать в любой конечной точке, либо клиентский скрипт, либо пользовательские события.

...