CLIENT SCRIPT SET TAX ITEM

This client script is to set the tax item based on the custom field value

/**

 * @NApiVersion 2.1

 * @NScriptType ClientScript

 * @NModuleScope SameAccount

 */

define([‘N/record’,‘N/search’],

/**

 * @param{record} record

 */

function(record, search) {

   

    /**

     * Validation function to be executed when field is changed.

     *

     * @param {Object} scriptContext

     * @param {Record} scriptContext.currentRecord – Current form record

     * @param {string} scriptContext.sublistId – Sublist name

     * @param {string} scriptContext.fieldId – Field name

     * @param {number} scriptContext.lineNum – Line number. Will be undefined if not a sublist or matrix field

     * @param {number} scriptContext.columnNum – Line number. Will be undefined if not a matrix field

     *

     * @returns {boolean} Return true if field is valid

     *

     * @since 2015.2

     */

    function validateField(scriptContext) {

        try {

            let dataObj = scriptContext.currentRecord;

            let customerField = scriptContext.fieldId;

           

   

            // Check if the changed field is ‘entity’ (customer field)

            if (customerField === ‘entity’) {

                console.log(‘customerField changed:’, customerField);

   

                let salesOrderCustomer = dataObj.getValue({

                    fieldId: ‘entity’

                });

   

                console.log(‘salesOrderCustomer:’, salesOrderCustomer);

   

                if (salesOrderCustomer) {

                    let lookUpField = search.lookupFields({

                        type: search.Type.CUSTOMER,

                        id: salesOrderCustomer,

                        columns: [‘custentity_jj_sales_order_type’]

                    });

                    console.log(‘lookupfield’,lookUpField)

                    let valueLook = lookUpField[“custentity_jj_sales_order_type”][0][“value”];

                    console.log(‘valueLook’,valueLook)

                    dataObj.setValue({

                        fieldId: ‘custbody_jj_sales_order_type’,

                        value: valueLook,

                   

                    })

               

                if(valueLook == 1){

                    console.log(‘inside ship’)

                    let address = dataObj.getText({

                        fieldId: ‘shippingaddress_text’

                    })

                    console.log(‘Address’,address)

                    if (address.includes(‘Arizona’) || address.includes(‘AZ’)) {

                        console.log(‘The state is Arizona’);

                       

                        // Set the istaxable checkbox to checked (true)

                        dataObj.setValue({

                            fieldId: ‘istaxable’,

                            value: true

                        });

                       

                        // Set the taxitem to -222

                        dataObj.setValue({

                            fieldId: ‘taxitem’,

                            value: 222

                        });

                       

                        console.log(‘istaxable set to checked and taxitem set to -222’);

                       

                    }  

                    return true;              

                }

               

                return true;

                   

                }

                return true;

               

        }

   

        return true;

    }

        catch(e){

            log.error(‘error@fieldchanged’,e)

        }

    }

    return {

        validateField: validateField,

    };

   

});

Leave a comment

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