Задать поля подсписка в существующих записях из клиентского скрипта, прикрепленного к Suitelet - PullRequest
1 голос
/ 14 июня 2019

У меня есть клиентский скрипт, прикрепленный к форме подсписка Suitelet.Подсписок имеет флажки.Мне нужно получить записи заказов на продажу, связанные с каждой проверенной строкой подсписка (получая из сохраненного поиска).Затем мне нужно загрузить эту запись заказа на продажу и закрыть все позиции в записи.Я могу установить поле тела в записи заказа на продажу, но не могу установить поля подсписка.Я могу получить значения из списка элементов, но не могу их установить.

Можно ли установить поле подсписка в существующей записи заказа клиента из клиентского скрипта, который прикреплен к пакету?Если так, то как?

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

        var salesOrderRec = record.load.promise({
            type: record.Type.SALES_ORDER,
            id: salesOrderId
        });
        salesOrderRec.then(function (objRecord) {
            var itemLines = objRecord.getLineCount({
                sublistId: 'item'
            });
            console.log("itemLines: " + itemLines);
            for (var i = 0; i < itemLines; i++) {
                var isClosed = objRecord.getSublistValue({
                    sublistId: 'item',
                    fieldId: 'isclosed',
                    line: i,
                });
                console.log("isClosed: " + i + ", " + isClosed);
                objRecord.setSublistValue({
                    sublistId: 'item',
                    fieldId: 'isclosed',
                    line: i,
                    value: true
                });
            }
            var recordId = objRecord.save();
        });

1 Ответ

2 голосов
/ 14 июня 2019
       var salesOrderRec = record.load.promise({
            type: record.Type.SALES_ORDER,
            id: salesOrderId,
            isDynamic: true
        });
        salesOrderRec.then(function (objRecord) {
            var itemLines = objRecord.getLineCount({
                sublistId: 'item'
            });
            console.log("itemLines: " + itemLines);
            for (var i = 0; i < itemLines; i++) {
                objRecord.selectLine({
                    sublistId: "item",
                    line: i
                });
                //console.log("isClosed: " + i + ", " + isClosed);
                objRecord.setCurrentSublistValue({
                    sublistId: 'item',
                    fieldId: 'isclosed',
                    line: i,
                    value: true
                });
                objRecord.commitLine({ sublistId: "item" });
            }
            var recordId = objRecord.save();
        });
...