Open Email Message Popup Window using a custom button and set default values

The following User Event Script deployed to Sales Order record places a button on the sales order page named Email CS. Once this button is clicked, an email message window popup will be opened with predefined values of recipient and template category.

We could pass many field values through the URL parameters. For those values which we couldn’t send via URL parameters. we used an additional User Event Script that is deployed to the Email Message record to check the conditions and set values.

User event script deployed to sales order

function beforeLoad(scriptContext) {

    thisForm = scriptContext.form;
   ['entity',document.forms['main_form'].elements['companyid'].value],
    var btnFunction = "new_message([['transaction',document.forms['main_form'].elements['id'].value]," +
        "['entity',14132]," +  
        "['templatecategory',1]," +
 
        "], 'EMAIL'); return false;"
 
    thisForm.addButton({
        id: 'custpage_buttonemailpopup',
        label: 'Email CS',
        functionName: btnFunction


    });

}

User event script deployed to Email Message

function beforeLoad(scriptContext) {

try {
// log.debug("scriptContext",scriptContext.request.parameters);
var requestParams = scriptContext.request.parameters;
var transaction_internal_id = requestParams.transaction;

//validating transaction type
var type = search.lookupFields({
type: search.Type.TRANSACTION,
id: transaction_internal_id,
columns: ['type']
});
//validation if the transaction is equal to Sales Order
// objRecord could be currentRecord/Record.load/record.create/etc

if (type.type[0].value == 'SalesOrd') {

var objRecord = scriptContext.newRecord;
objRecord.setValue({
fieldId: 'templatecategory',
value: '1'
});

}
} catch (e) {
log.error("e@main", e);
}

}

Leave a comment

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