NetSuite Script 2.0, как отключить поле «Сумма» в позиции, в форме предложения - PullRequest
0 голосов
/ 13 октября 2019

Есть ли способ отключить поле «Сумма» для позиции:

В настоящее время поле «Сумма» является видимым, и пользователи могут редактировать «Сумму», если захотят. Финансирование запросило отключение суммы Fiedl в форме предложения («Смета»), чтобы торговый представитель не мог изменить сумму.

Если щелкнуть форму «Настройка» и просмотреть сумму поля подсписка, опция НЕТотключить поле.

Ответы [ 2 ]

0 голосов
/ 15 октября 2019

Вы должны создать клиентский скрипт:

/**
* @NApiVersion 2.x
* @NScriptType ClientScript
*/
define(['N/record'],
    function (record) {
        function lineInit(context) {
            try {
                /** this will disable the amount for existing line */
                var rec = context.currentRecord;
                var itemCount = rec.getLineCount('item');
                var sublistName = context.sublistId;
                var line = rec.getCurrentSublistIndex({ sublistId: sublistName });
                if (itemCount > line) {
                    var theField = rec.getSublistField({
                        sublistId: sublistName,
                        fieldId: 'amount',
                        line: line
                    });
                    theField.isDisabled = true;
                }
                /** this will hide the amount label for the new line : inspect the tag ID input#amount_formattedValue*/
                if (!document.getElementById('hidden-amount-style')) {
                    var css = 'input#amount_formattedValue { display: none; }',
                        head = document.getElementsByTagName('head')[0],
                        style = document.createElement('style');
                    head.appendChild(style);
                    style.type = 'text/css';
                    style.id = 'hidden-amount-style';
                    style.appendChild(document.createTextNode(css));
                }
            } catch (e) {
                console.error('? lineInit', JSON.stringify(e, null, 4));
            }
        }
        function pageInit(context) { }
        function validateField(context) { return true; }
        function fieldChanged(context) { }
        function postSourcing(context) { }
        function lineInit(context) { }
        function validateDelete(context) { return true; }
        function validateInsert(context) { return true; }
        function validateLine(context) { return true; }
        function sublistChanged(context) { }
        function saveRecord(context) { return true }
        return {
            pageInit: pageInit,
            fieldChanged: fieldChanged,
            postSourcing: postSourcing,
            sublistChanged: sublistChanged,
            lineInit: lineInit,
            validateField: validateField,
            validateLine: validateLine,
            validateInsert: validateInsert,
            validateDelete: validateDelete,
            saveRecord: saveRecord,
        };
    });
0 голосов
/ 14 октября 2019

Вам нужно либо просто не показывать это в форме, в столбцах (небезопасный способ избежать проблемы). Или вы можете написать сценарий для отключения поля при его загрузке в форму.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...