Как отключить добавление/редактирование/удаление подсписка suitescript

Как отключить редактирование подсписка с помощью пользовательского события Suitescript (перед загрузкой) в netsuite?

Мне также нужно отключить встроенное редактирование.

Спасибо.


person newbie    schedule 28.08.2014    source источник


Ответы (3)


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

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

-Затем нажмите на пользовательский код.

-Добавить скрипт для «Проверить функцию строки», чтобы предотвратить редактирование этой строки.

-Используйте пример NetSuite в качестве основы, чтобы предотвратить редактирование строки, вам просто нужно вернуть false.

function sampleValidateLine(type)
{
    if ( (nlapiGetCurrentLineItemValue('item', 'custcol_service_item') == true) &&
        (!nlapiGetCurrentLineItemText('item', 'custcol_service_rep')) )
    {
        alert("You must choose a Service Rep for this service item.");
        return false;
    }
    return true;
}
person felipechang    schedule 29.08.2014

В идеале в NetSuite вы должны ограничить это на основе разрешений. Для пользовательских записей можно отключить встроенное редактирование, а также отключить редактирование дочерних записей. В справочной документации об этом сказано следующее:

Установите флажок Разрешить редактирование дочерних записей, чтобы разрешить непосредственное редактирование записей этого типа, когда они отображаются как дочерние записи в подсписке родительской записи.

https://system.netsuite.com/app/help/helpcenter.nl?topic=CARD_-29 см. пункт 14.

person starholme    schedule 04.09.2014

Вы также можете использовать объект формы для достижения того же. См. пример кода ниже: -

var form = scriptContext.form; var serviceItemColumn = form.getSublist({id: 'timeitem'}).getField({id: 'item'}); serviceItemColumn.updateDisplayType({ displayType : 'disabled' })

person NetSuite Help    schedule 05.03.2019