I have tried many ways to get a way to create a Quote from within a Deal and have it pull the Deal data over, but none have worked. I have the following ode that Zoho provides, but this fails and refuses to save. I am not a developer, so writing code is not my area of expertise:
potDetails = zoho.crm.getRecordById("Deals",potId.toLong());
quotesubject = ifnull(potDetails.get("Deal_Name"),"");
contact = ifnull(potDetails.get("Contact_Name").get("id"),"");
account = ifnull(potDetails.get("Account_Name").get("id"),"");
description = ifnull(potDetails.get("Description"),"");
RelatedProducts = zoho.crm.getRelatedRecords("Products","Deals",potId.toLong());
product_items = List();
sub = 0.0;
for each product in RelatedProducts
{
proid = product.get("id");
proname = product.get("Product_Name");
productDesc= ifnull(product.get("Description"),"Manque Description Produit !!!");
quantity = 1;
price = ifnull(product.get("Unit_Price"),"0.0").toDecimal();
listprice = price * quantity;
lineitem = Map();
lineitem.put("product",{"name":proname,"id":proid});
lineitem.put("product_description",productDesc);
lineitem.put("quantity",quantity);
lineitem.put("net_total",listprice);
lineitem.put("total",listprice);
lineitem.put("list_price",listprice);
sub = sub + listprice;
product_items.add(lineitem);
}
paramap = Map();
paramap.put("Product_Details",product_items);
paramap.put("Subject",quotesubject);
paramap.put("Contact_Name",contact);
paramap.put("Account_Name",account);
paramap.put("Deal_Name",potId.toLong());
paramap.put("Description",description);
createResp = zoho.crm.createRecord("Quotes", paramap);
info paramap;
info createResp;
newid = createResp.get("id");
openUrl("https://crm.zoho.com/crm/orgxxxxxxxx/tab/Quotes/" + newid, "same window");
return "Success";
This code fails to save and gives an error about formatting.
If anyone could advise on a better script, or suggest where this could be corrected, that would be very approeciated.