Dynamic Role-Based Field Visibility

Instead of using simple field-level permissions, we can create a client script that dynamically shows or hides fields based on a user’s role.

define(['N/runtime', 'N/ui/message'], function(runtime, message) {
    function fieldChanged(scriptContext) {
        let currentUser = runtime.getCurrentUser();
        if (currentUser.role !== 3) { // 3 = Administrator Role ID
            scriptContext.currentRecord.getField({ fieldId: 'custbody_hidden_field' }).isDisplay = false;
        }
    }
    return { fieldChanged: fieldChanged };
});

Leave a comment

Your email address will not be published. Required fields are marked *