/**
* log("sample logging statement") --> can be used to print any data in the browser console.
* ZDK module can be used for customising the UI and other functionalities.
* return false to prevent <SAVE> action
**/
console.log("running client script");
var accountId = ZDK.Page.getField("Operating_Company").getValue().id;
const accountDetails = ZDK.Apps.CRM.Accounts.fetchById(accountId);
const relatedContacts = ZDK.Apps.CRM.Accounts.fetchRelatedRecords(accountId, 'Contacts')
if (relatedContacts.length) {
for (const contact of relatedContacts) {
var mp = {
'id': contact.id,
'name': contact.Full_Name
}
}
ZDK.Page.getField('Requested_By').setValue(mp);
}
var vendor = {
'id': accountDetails.Referred_By().id,
'name': accountDetails.Referred_By().Vendor_Name
}
if (vendor.id != null)
{
ZDK.Page.getField("Vendor").setValue(vendor);
}
ZDK.Page.getField("Request_Status").setValue("Customer Requested");
const today = new Date();
const formattedDate = today.toISOString().split('T')[0];
console.log(formattedDate);
ZDK.Page.getField("Requested_Date").setValue(formattedDate);
accountId = "575609000057932130";
/////// Fetching From Zoho Analytics ////////
var functionResp = ZDK.Apps.CRM.Functions.execute("fetch_available_tokens", { "accountId": accountId });
// console.log(response);
var message = functionResp.message;
if (message == "function executed successfully");
{
const parsedOutput = JSON.parse(functionResp._details.output);
const columnOrder = parsedOutput.response.result.column_order;
const rows = parsedOutput.response.result.rows;
console.log(columnOrder)
console.log(rows);
tokenDetialsList = new Array();
////////////////// ///////////////////
for (let i = 0; i < rows.length; i++)
{
var row = rows[i];
let promoterId = row[columnOrder.indexOf("Promoter Id")];
let promoterName = row[columnOrder.indexOf("Promoter Name")];
let tokens = parseFloat(row[columnOrder.indexOf("Tokens")]);
let tokenValue = parseFloat(row[columnOrder.indexOf("Token Value")]);
let amount = (tokens * tokenValue).toFixed(2);
console.log(amount);
var promoterMap= {
'id': promoterId,
'name': promoterName
};
var rowMap = {
"Promoter": promoterMap,
"Tokens": tokens,
"Amount": amount
};
tokenDetialsList.push(rowMap);
////
}
console.log(tokenDetialsList);
ZDK.Page.getForm().setValues({
'Token_Details': tokenDetialsList
});
}
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter