Не удается обновить поле подполя в Netsuite в методе .each () - PullRequest
0 голосов
/ 10 июля 2020

Я новичок в Netsuite. У меня странная проблема, и я не могу ее решить.

Я использую WorkFlow с состояниями, и у меня есть сохраненные результаты поиска, они возвращают совпадающие элементы в заказе на продажу. Мне нужно обновить настраиваемое поле в каждой строке для возвращаемых элементов.

У меня это есть в моем сценарии действий

itemSearch.run().each(elem => {
                let lineNum = parseInt(elem.getValue('linesequencenumber'), 10) - 1;
                log.audit({
                    title: 'linesequencenumber',
                    details: {lineNum, type: typeof lineNum}
                });
                newRec.setSublistValue({
                    sublistId: 'item',
                    fieldId: SO_LN_ITEM_PROCESS,
                    line: lineNum,
                    value: 1
                });
                log.debug({ // this one retrieves the field value correctly but when refresh page after WF finished and existed then the fields are empty.
                    title: 'currValue', details: newRec.getSublistValue({
                        sublistId: 'item',
                        fieldId: SO_LN_ITEM_PROCESS,
                        line: lineNum,
                    })
                });
                updatedItemsCnt++;

                return true;
            });

Он должен работать и обновлять значение полей. Если я использую getSublistValue сразу после метода setSublistValue и регистрирую его, он показывает мне ожидаемое значение. После запуска refre sh страница и поле не обновляются. Пусто. И вот странная вещь, которую я не понимаю. Следующий скрипт работает. Но это жестко запрограммировано.

[0, 4].forEach(line => {
            newRec.setSublistValue({
                            sublistId: 'item',
                            fieldId: SO_LN_ITEM_PROCESS,
                            line: lineNum,
                            value: 1
                        });
    });

Если я создаю массив вручную, поля обновляются. Я попытался поместить sh значения в массив и использовать forEach для l oop для перебора значений, но поля все еще не обновляются, только если я создаю массив вручную.

Журнал

1   View    Debug   currValue   7/10/2020   2:40 pm -System-    1
2   View    Audit   linesequencenumber  7/10/2020   2:40 pm -System-    {"lineNum":4,"type":"number"}

currValue - это одно из значений, записанных сразу после setSublistValue.

Что я делаю не так?

...