Sales order card payment

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

        };

    });

Leave a comment

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