Преобразование частичных позиций и преобразование в заказ клиента - PullRequest
0 голосов
/ 24 марта 2020

Ниже приведен код для преобразования предложения в SO в NetSuite, когда для настраиваемого поля установлено значение «Одобрено». Я могу удалить строку, если значение настраиваемого поля не заполнено.

Любая идея о том, как я go вернусь к Цитате и конвертирую любые новые строки с настраиваемым полем, установленным в 'Approved', когда пользователь редактирует цитату?

define (['N / record'],

function(record) {


    function afterSubmit(context) {

        var quote = context.newRecord;

        if ((context.type == context.UserEventType.EDIT) || (context.type == context.UserEventType.CREATE)) {

            var approvedCount = quote.getLineCount({
                sublistId: 'item'
            });


            for (var i = 0; i < approvedCount; i++) {

                var approved = quote.getSublistValue({
                    sublistId: 'item',
                    fieldId: 'custom_field',
                    line: i
                });

                if (approved) {


                    var order = record.transform({
                        fromType: record.Type.ESTIMATE,
                        fromId: quote.id,
                        toType: record.Type.SALES_ORDER,
                        isDynamic: true
                    })


                }

                var orderLine = order.getLineCount({
                    sublistId: 'item'
                });

                for (var j = 0; j < orderLine; j++) {

                    var approved = quote.getSublistValue({
                        sublistId: 'item',
                        fieldId: 'custom_field',
                        line: j
                    });

                    var selectLine = order.selectLine({
                        sublistId: 'item',
                        line: i
                    })
                    order.setCurrentSublistValue({
                        sublistId: 'item',
                        fieldId: 'custom_field',
                        value: approved
                    })
                    order.commitLine({
                        sublistId: 'item'
                    })

                }

            }

            order.save();

        }

    }

    return {
        beforeLoad: beforeLoad,
        beforeSubmit: beforeSubmit,
        afterSubmit: afterSubmit
    };

});
...