Jira code: EN-617
Tthe client script to set values in Payment detailed fields as null when selecting customer in sales order.When each time the user selects a customer in the sales order, the payment details will be set to null.
Note:
- Only considering the sales orders which are created through the UI.
- The script is only deployed for sales orders and if customers accept payment, create cash sales,s, etc the card details will populate and not consider these transactions.
- If the sales order is created using the make a copy function, if that sales order contains credit card details, the card details will also be set on the new sales order.
Client Script
/**
* @NApiVersion 2.x
* @NScriptType ClientScript
* @NModuleScope SameAccount
*/
/************************************************************************************************
EN-573 | Client Actions for field validations
* This script sets Payment details in sales order as null when selecting customer
*********************************************************************************************
*
* Author: Jobin & Jismi IT Services LLP
*
* Date Created : 16-March-2021 - Anjo
*
* REVISION HISTORY
*
*
***********************************************************************************************/
define(['N/currentRecord'],
function(currentRecord){
function pageInit(scriptContext) {
console.log('page initiated.....!');
if (scriptContext.mode !== 'create')
return;
var currentRecord = scriptContext.currentRecord;
currentRecord.setValue({
fieldId: 'paymentmethod',
value: "",
ignoreFieldChange: true
});
currentRecord.setValue({
fieldId: 'creditcard',
value: "",
ignoreFieldChange: true
});
currentRecord.setValue({
fieldId: 'ccnumber',
value: null,
ignoreFieldChange: true
});
currentRecord.setValue({
fieldId: 'ccexpiredate',
value: null,
ignoreFieldChange: true
});
currentRecord.setValue({
fieldId: 'ccname',
value: null,
ignoreFieldChange: true
});
currentRecord.setValue({
fieldId: 'ccstreet',
value: null,
ignoreFieldChange: true
});
currentRecord.setValue({
fieldId: 'cczipcode',
value: null,
ignoreFieldChange: true
});
currentRecord.setValue({
fieldId: 'creditcardprocessor',
value: "",
ignoreFieldChange: true
});
}
function fieldChanged(scriptContext) {
var currentRecord = scriptContext.currentRecord;
if (scriptContext.fieldId == 'entity') {
console.log('customer is selected.....!');
console.log('currentRecord',currentRecord);
}
}
function postSourcing(scriptContext) {
var currentRecord = scriptContext.currentRecord;
if (scriptContext.fieldId == 'entity') {
currentRecord.setValue({
fieldId: 'paymentmethod',
value: "",
ignoreFieldChange: true
});
currentRecord.setValue({
fieldId: 'creditcard',
value: "",
ignoreFieldChange: true
});
currentRecord.setValue({
fieldId: 'ccnumber',
value: null,
ignoreFieldChange: true
});
currentRecord.setValue({
fieldId: 'ccexpiredate',
value: null,
ignoreFieldChange: true
});
currentRecord.setValue({
fieldId: 'ccname',
value: null,
ignoreFieldChange: true
});
currentRecord.setValue({
fieldId: 'ccstreet',
value: null,
ignoreFieldChange: true
});
currentRecord.setValue({
fieldId: 'cczipcode',
value: null,
ignoreFieldChange: true
});
currentRecord.setValue({
fieldId: 'creditcardprocessor',
value: "",
ignoreFieldChange: true
});
}
}
return {
pageInit:pageInit,
fieldChanged:fieldChanged,
postSourcing:postSourcing
};
});