Example
// 1.0
// Revealing Module pattern, structures 1.0 similar to 2.0
var myNamespace = myNamespace || {};
myNamespace.example = (function () {
/** @appliedtorecord employee */
var exports = {};
function beforeLoad(type, form, request) {
showBonusEligibility(form);
}
function showBonusEligibility(form) {
var field = form.addField("custpage_is_bonus_eligible",
"checkbox", "Eligible for Bonus?");
field.setDefaultValue(isEligibleForBonus(nlapiGetNewRecord()) ? "T" : "F");
}
function isEligibleForBonus(rec) {
// Implement actual business rules for bonus eligibility here
return true;
}
exports.beforeLoad = beforeLoad;
return exports;
})();
// 2.0
/**
* @appliedtorecord employee
* @NScriptType UserEventScript
* @NApiVersion 2.x
*/
define(["N/log", "N/ui/serverWidget"], function (log, ui) {
var exports = {};
function beforeLoad(context) {
showBonusEligibility(context.form);
}
function showBonusEligibility(form) {
var field = form.addField({
"id": "custpage_is_bonus_eligible",
"label": "Eligible for Bonus?",
"type": ui.FieldType.CHECKBOX
});
field.defaultValue = (isEligibleForBonus() ? "T" : "F");
}
function isEligibleForBonus(rec) {
// Implement actual business rules for bonus eligibility here
return true;
}
exports.beforeLoad = beforeLoad;
return exports;
});