Custom Function - Clone Products from Potential

Custom Function - Clone Products from Potential

Hi All,

I'm in the midst of trying to create a function associated to a button which will clone all products associated to the Potential you are currently in, here is what I have so far:

relatedProducts = zoho.crm.getRelatedRecords("Products","Potentials",PotentialID);
info relatedProducts;
for each  Product in relatedProducts
{
productMap = Map();
productMap.put("Product Owner",ifnull(Product.get("Product Owner"),""));
productMap.put("Product Name",ifnull("CLONE-" + Product.get("Product Name"),""));
productMap.put("Product Code",ifnull(Product.get("Product Code"),""));
productMap.put("Generic Course",ifnull(Product.get("Generic Course"),""));
productMap.put("Product Active",ifnull(Product.get("Product Active"),""));
productMap.put("Product Category",ifnull(Product.get("Product Category"),""));
productMap.put("Related Customer",ifnull(Product.get("Related Customer"),""));
productMap.put("Product Type",ifnull(Product.get("Product Type"),""));
productMap.put("Sales Start Date",ifnull(Product.get("Sales Start Date"),""));
productMap.put("License Start Date",ifnull(Product.get("License Start Date"),""));
productMap.put("License End Date",ifnull(Product.get("License End Date"),""));
productMap.put("Unit Price",ifnull(Product.get("Unit Price"),""));
productMap.put("Tax",ifnull(Product.get("Tax"),""));
productMap.put("No. Of Licenses",ifnull(Product.get("No. Of Licenses"),""));
productMap.put("Course Live Date",ifnull(Product.get("Course Live Date"),""));
productMap.put("Course Template",ifnull(Product.get("Course Template"),""));
productMap.put("Course Version",ifnull(Product.get("Course Version"),""));
productMap.put("Product Structure",ifnull(Product.get("Product Structure"),""));
productMap.put("Course Type",ifnull(Product.get("Course Type"),""));
productMap.put("Used By",ifnull(Product.get("Used By"),""));
productMap.put("Site1",ifnull(Product.get("Site1"),""));
productMap.put("Site2",ifnull(Product.get("Site2"),""));
productMap.put("Description",ifnull(Product.get("Description"),""));
createProduct = zoho.crm.create("Products",productMap);
}
return "All done";

It saves correctly, runs without throwing an error, when run from within the Potentials view, but no products are created.

This is my first script, so I've likely missed something.

The JSON that's returned via info does look very weird...

INFO
{"License_Start_Date":"null","Owner":{"name":"Admin User","id":"2876862000000131011"},"Expiry_Date":"null","$currency_symbol":"AU$","Sales_Start_Date":"null","Tax":[],"Purchase_Date":"null","Product_Active":true,"$process_flow":false,"id":"2876862000000541930","$approved":true,"$approval":{"delegate":false,"resubmit":false,"approve":false,"reject":false},"Created_On":"2016-11-04T02:24:08+11:00","Created_Time":"2018-01-02T23:55:17+11:00","$followed":false,"Product_Name":"Privacy (AD)","$editable":true,"Course_Version":"Overhauled","Product_Type1":"eLearning","Product_Structure":"Product","Mutuals_Purchaser":"null","Created_By":{"name":"Admin User","id":"2876862000000131011"},"Product_Category":"null","Description":"null","Vendor_Name":"null","Modified_By":{"name":"Admin User","id":"2876862000000131011"},"Course_Live_Date":"2016-11-04T00:00:00+11:00","Product_Code":"PRNEWAD","Is_Kit":false,"No_Of_Licenses":"null","Course_Template":"Immersive","Mutuals_Product_Type":"null","License_End_Date":"null","Modified_Time":"2018-02-14T12:12:51+11:00","Mutuals_Account":"null","Site2":"null","Site1":"Adaptive","Site5":"null","Mutuals_Product":false,"Site4":"null","Mutuals_Purchaser_Old":"null","Site3":"null","Used_By":"Content Team","Generic_Course":["Privacy"],"Related_Customer":"null","Tag":[],"Product_Type":"Generic","Unit_Price":0},{"License_Start_Date":"null","Owner":{"name":"Admin User","id":"2876862000000131011"},"Expiry_Date":"null","$currency_symbol":"AU$","Sales_Start_Date":"null","Tax":[],"Purchase_Date":"null","Product_Active":true,"$process_flow":false,"id":"2876862000000541929","$approved":true,"$approval":{"delegate":false,"resubmit":false,"approve":false,"reject":false},"Created_On":"2016-11-04T02:15:12+11:00","Created_Time":"2018-01-02T23:55:17+11:00","$followed":false,"Product_Name":"Competition and Consumer Protection (AD)","$editable":true,"Course_Version":"Overhauled","Product_Type1":"eLearning","Product_Structure":"Product","Mutuals_Purchaser":"null","Created_By":{"name":"Admin User","id":"2876862000000131011"},"Product_Category":"null","Description":"null","Vendor_Name":"null","Modified_By":{"name":"Admin User","id":"2876862000000131011"},"Course_Live_Date":"2014-01-21T00:00:00+11:00","Product_Code":"CCPNEWAD","Is_Kit":false,"No_Of_Licenses":"null","Course_Template":"Immersive","Mutuals_Product_Type":"null","License_End_Date":"null","Modified_Time":"2018-02-14T12:12:53+11:00","Mutuals_Account":"null","Site2":"null","Site1":"Adaptive","Site5":"null","Mutuals_Product":false,"Site4":"null","Mutuals_Purchaser_Old":"null","Site3":"null","Used_By":"Content Team","Generic_Course":["Competition and Consumer Protection"],"Related_Customer":"null","Tag":[],"Product_Type":"Generic","Unit_Price":0},{"License_Start_Date":"null","Owner":{"name":"Admin User","id":"2876862000000131011"},"Expiry_Date":"null","$currency_symbol":"AU$","Sales_Start_Date":"null","Tax":[],"Purchase_Date":"null","Product_Active":true,"$process_flow":false,"id":"2876862000000139024","$approved":true,"$approval":{"delegate":false,"resubmit":false,"approve":false,"reject":false},"Created_On":"null","Created_Time":"2017-11-22T21:03:19+11:00","$followed":false,"Product_Name":"Anti Bribery and Corruption","$editable":true,"Course_Version":"Overhauled","Product_Type1":"eLearning","Product_Structure":"null","Mutuals_Purchaser":"null","Created_By":{"name":"Admin User","id":"2876862000000131011"},"Product_Category":"null","Description":"null","Vendor_Name":"null","Modified_By":{"name":"Content Team","id":"2876862000001145021"},"Course_Live_Date":"null","Product_Code":"ABCNEW","Is_Kit":false,"No_Of_Licenses":"null","Course_Template":"Immersive","Mutuals_Product_Type":"null","License_End_Date":"null","Modified_Time":"2018-02-14T14:19:44+11:00","Mutuals_Account":"null","Site2":"null","Site1":"All Sites","Site5":"null","Mutuals_Product":false,"Site4":"null","Mutuals_Purchaser_Old":"null","Site3":"null","Used_By":"null","Generic_Course":["Anti Bribery and Corruption"],"Related_Customer":"null","Tag":[],"Product_Type":"Generic","Unit_Price":0}

Any help appreciated.