Как составить список компонентов элемента комплекта в SuiteScript?

У меня есть переменная, структурированная, как показано ниже (или структурированная, как показано ниже, после того, как она будет красиво напечатана). Назовем его kitRecord.

{
  "id": "11212",
  "type": "kititem",
  "isDynamic": false,
  "fields": {
    "custitem_item_validation_required_on_c": "F",
    "type": "item",
    "id": "11212",
    ...
    "haschildren": "F",
    "vendormapchange": "F"
  },
  "sublists": {
    "recmachcustrecord_item": {
      "currentline": {
        "custrecord_estore_stock_value": "",
        "custrecord_item": "11212",
        "custrecord_process_inv_adj": "F",
        "id": "",
        ...
        "#": "1"
      }
    },
    "sitecategory": {
      "currentline": {
        "category": "",
        ...
        "#": "1"
      }
    },
    "member": {
      "currentline": {
        "dropshipmember": "",
        "item": "",
        "linenumber": "",
        ...
        "#": "3"
      },
      "line 1": {
        "dropshipmember": "F",
        "item": "3848",
        ...
        "sitemtype": "InvtPart",
        "sys_id": "7975557957776222",
        "sys_parentid": "7975557957776222",
        "taxschedule": "3",
        "weight": "11.023115"
      },
      "line 2": {
        "dropshipmember": "F",
        "item": "6034",
        ...
        "sitemtype": "InvtPart",
        "sys_id": "7955851117326628",
        "sys_parentid": "7955851117326628",
        "taxschedule": "3",
        "weight": "63.934067"
      }
    },
    "price5": {
      "line 1": {
        "currency": "5",
        ...
        "pricelevelname": "Base Price",
      },
      "line 2": {
        "currency": "5",
        ...
        "pricelevelname": "Base Price",
      },
      "line 3": {
        "currency": "5",
        ...
        "pricelevelname": "Base Price",           
      },
      ...
    },
    "presentationitem": {
      "currentline": {
        "baseprice": "",
        "description": "",
        "item": "",
        "itemtype": "",
        ...
        "#": "1"
      }
    },
    ...
  }
}

Я хочу создать список с идентификатором каждого компонента в комплекте (значение элемента «item» в подсписке «член») для всех реальных строк (то есть всех строк, исключая «currentline»). Возникли большие трудности с запуском этого в NetSuite. В настоящее время есть приведенный ниже фрагмент, но нет буэно (журнал отладки показывает, что kitRecord.sublists ничего не возвращает). Я также пытался использовать JSON.parse(kitRecord), но получал синтаксическую ошибку («Неожиданный токен в JSON в позиции 0 [в JSON.parse (собственный)»). Довольно новый для SuiteScript, поэтому любые указатели/ресурсы будут очень признательны.

var kitRecordSublists = kitRecord.sublists;
var components = [];
for (var component in kitRecordSublists.member) {
  if (kitRecordSublists.member.hasOwnProperty(component)) {
    var memberLine = kitRecord.sublists.member[component];
    var componentId = memberLine.item;
    components.push(componentId);
  }
}
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
72
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

var kitRecord = record.load({ type: record.Type.KIT_ITEM, id: itemId });
var componentCount = kitRecord.getLineCount({ sublistId: 'member' });
for (var line = 0; line < componentCount; line++) {
  var componentId = kitRecord.getSublistValue({
    sublistId: 'member',
    fieldId: 'item',
    line: line
  });
  var componentRecord = record.load({ type: record.Type.INVENTORY_ITEM, id: componentId });

и т. д.

Другие вопросы по теме