Преобразовать стандартный элемент в дочерний элемент матрицы

У меня есть сценарий, с которым я немного озадачен и надеюсь, что гуру Stack могут помочь.

У меня есть продукт ABC123.WHT (пример) в качестве стандартного инвентаря с более чем 12-месячной историей / транзакциями и т. Д. ABC123.WHT - это белый продукт, а ABC123.BLK, конечно, черный.

Первоначально они создавались как стандартные (нематричные) элементы во время реализации, но по разным причинам теперь я хочу, чтобы они были как матричные элементы, ABC123, естественно, как родительский, и ABC123.BLK и ABC123.WHT как дочерние элементы.

Теперь, глядя на информацию о записи элемента в F12-Console, мой скрипт изменил несколько полей:

hasparent = 'T'                                // changed from 'F' to 'T'
parent = '1234'                                // internal id of the parent code
itemoptions = ['CUSTCOL_COLOUR']               // set the option array with the colour list id
matrixoptioncustitem_colour = '100'            // colour list id for WHITE
matrixoptioncustitem_colour_display = 'White'  // colour name
matrixtype = 'CHILD'

Мой сценарий может успешно изменять эти поля, и вроде связывает новый дочерний элемент с родительским (т. Е. В списках отображается как ABC123 : ABC123.BLK), однако дочерний код не отображается в записи родительского элемента кода в списке элементов матрицы.

В элементе child поле subitem of заполнено, но не read-only, как настоящий дочерний элемент, и поэтому может быть удалено любым пользователем с разрешениями на редактирование элемента.

Кроме того, true дочерние элементы показывают подзаголовок MATRIX-SUBITEM рядом с именем элемента при отображении записи элемента, тогда как стандартный элемент child ed не показывает. Он также не показывает параметры элемента (например, цвет) в дочерней записи.

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

Для меня это был бы гораздо более простой и безопасный метод для моего сценария, чем объединение всей истории транзакций из одного идентификатора элемента в другой.

У кого-нибудь есть ответ на этот вопрос?


person Steve Reeder    schedule 28.05.2016    source источник
comment
не могли бы вы добавить сюда больше деталей? что вы имеете в виду под the child code does not show up in the parent code item record in the Matrix Items list? Я реализовал какой-то подобный сценарий раньше, но те, которые мне приходилось создавать динамически через внешнюю систему.   -  person Rockstar    schedule 30.05.2016
comment
В родительской записи элемента дочерние элементы отображаются в подсписке. Я сделаю несколько скриншотов, чтобы показать экраны   -  person Steve Reeder    schedule 30.05.2016
comment
Ага, возможно, я только что нашел его. Как только я упомянул подсписок выше, я подумал, что, возможно, мне нужно вставить элемент в подсписок родительской записи 'matrixmach' ... протестирую позже сегодня вечером   -  person Steve Reeder    schedule 30.05.2016
comment
Привет, @SteveReeder, у вас есть образец сценария, который вы использовали для перемещения дочерних элементов от одного родителя к другому? Насколько я понял из SuiteAnswers, это не то, что вы можете сделать с помощью экспорта / импорта CSV, поэтому сценарии могут быть единственным жизнеспособным вариантом.   -  person Sheldmandu    schedule 20.02.2017


Ответы (2)


Единственный способ перенести дочернюю запись от одного родителя к другому - это изменить поле parent в дочерней записи с исходного родительского элемента на альтернативный идентификатор родительского элемента.

Для этого новый родительский код должен быть настроен с теми же itemoptions данными, что и старый родительский код, иначе ссылка не будет создана.

Надеюсь это поможет.

person Steve Reeder    schedule 22.02.2017
comment
Привет, Стив, перемещение дочерних элементов новому родителю работает хорошо. Я только что создал сценарий массового обновления с новым родительским элементом в качестве параметра. Удалось ли вам придумать, как переместить простой элемент, чтобы он стал родителем элемента матрицы? - person Sheldmandu; 20.03.2017

У меня точно такая же проблема, как и у вас, нет способа сделать это через пользовательский интерфейс Netsuite, и поэтому он не будет хорошо работать и через suitescript. В качестве альтернативы вы можете создать пользовательскую запись, например Custom Matrix Children, и добавить ее в запись Item. В этой настраиваемой записи будут храниться все дочерние записи.

person dennysutanto    schedule 01.09.2020