本件でご紹介したカスタム関数のコードについては、あくまでサンプルのものでございます。
カスタマイズ・デバッグ・テストについてはお客様自身にて行っていただく必要がございます。本サポート窓口では承りかねます。
1. はじめに
Zoho CRMの帳票系のタブにある商品サブフォームにつきまして、カスタム項目を追加できるようになりました。しかし、こちらの項目の更新につきましてはカスタム関数のみでは更新できかねます。カスタム関数内でAPIを呼ぶ必要ございます。APIをカスタム関数で呼ぶには下記の手順を踏んでいただく必要がございます。
2. 手順
2.1 手順1:APIコネクションの作成
下記FAQを参考に、Zoho CRMのAPIを呼び出すためのコネクションを作成します。
上記FAQの手順5)にて下記のようなコードを生成できればOKです。
- update = invokeurl
- [
- url : ""
- type :PUT
- parameters: params
- connection:"crmconnection"
- ];
2.2 手順2:引数の設定
引数は次の2つです。[Edit Argument]から設定可能です。
- recordId:見積書/発注書/受注書/請求書のID (Int)
- moduleName:固定値 (String)
- 見積書タブのデータを更新する場合:"Quotes"
- 発注書タブのデータを更新する場合:"Purchase_Orders"
- 受注書タブのデータを更新する場合:"Sales_Orders"
- 請求書タブのデータを更新する場合:"Invoices"
2.3 手順3:コード作成
- apiNamesOfItemsList = {"Quotes": "Quoted_Items", "Invoices": "Invoiced_Items", "Purchase_Orders": "Purchase_Items", "Sales_Orders": "Ordered_Items"};
- record = zoho.crm.getRecordById(moduleName, recordId);
- products = ifnull(record.get("Product_Details"),"");
- pdlist = List();
- for each product in products
- {
- mp = product;
- // デフォルトの項目を転記
- mp.put("Product_Name", product.get("product"));
- mp.put("Quantity", product.get("quantity"));
- mp.put("Total_After_Discount", product.get("total_after_discount"));
- mp.put("Net_Total",product.get("net_total"));
- mp.put("List_Price",product.get("list_price"));
- mp.put("Total",product.get("total"));
- mp.put("Description",product.get("product_description"));
- mp.put("Line_Tax",product.get("line_tax"));
- // カスタム項目
- // mp.put("unit","個");
- // mp.put("項目のapi名", [値] );
- pdlist.add(mp);
- }
- info pdlist;
- dataList = List();
- data = Map();
- data.put(apiNamesOfItemsList.get(moduleName),pdlist);
- dataList.add(data);
- param = Map();
- param.put("data",dataList);
- update = invokeurl
- [
- url :"https://www.zohoapis.com/crm/v2.1/" + moduleName + "/" + recordId.toString()
- type :PUT
- parameters:param + ""
- connection:"(手順5のコネクション名をここに追記ください)"
- ];
- info update;
カスタムボタンの場合は最後に return ""; を追記ください
3. テスト例
見積書の帳票サブフォームのカスタム項目「単位」(unit)の列に「個」という値を入れる
<更新前>
<関数のコンソール>
<更新後>