【Zoho CRM】帳票サブフォームのカスタム項目の更新について

【Zoho CRM】帳票サブフォームのカスタム項目の更新について

1. はじめに

Zoho CRMの帳票系のタブにある商品サブフォームにつきまして、カスタム項目を追加できるようになりました。しかし、こちらの項目の更新につきましてはカスタム関数のみでは更新できかねます。カスタム関数内でAPIを呼ぶ必要ございます。APIをカスタム関数で呼ぶには下記の手順を踏んでいただく必要がございます。

本件でご紹介したカスタム関数のコードについては、あくまでサンプルのものでございます。
カスタマイズ・デバッグ・テストについてはお客様自身にて行っていただく必要がございます。本サポート窓口では承りかねます。
本サンプルコードの利用を以って、上記に同意したものと見做します。

2. 手順

2.1 手順1:APIコネクションの作成

下記FAQを参考に、Zoho CRMのAPIを呼び出すためのコネクションを作成します。

上記FAQの手順5)にて下記のようなコードを生成できればOKです。

  1. update = invokeurl
  2. [
  3. url : ""
  4. type :PUT
  5. parameters: params
  6. connection:"crmconnection"
  7. ];

2.2 手順2:引数の設定

引数は次の2つです。[Edit Argument]から設定可能です。
  1. recordId:見積書/発注書/受注書/請求書のID (Int)
  2. moduleName:固定値 (String)
    1. 見積書タブのデータを更新する場合:"Quotes"
    2. 発注書タブのデータを更新する場合:"Purchase_Orders"
    3. 受注書タブのデータを更新する場合:"Sales_Orders"
    4. 請求書タブのデータを更新する場合:"Invoices"


2.3 手順3:コード作成

  1. apiNamesOfItemsList = {"Quotes": "Quoted_Items", "Invoices": "Invoiced_Items", "Purchase_Orders": "Purchase_Items", "Sales_Orders": "Ordered_Items"};

  2. record = zoho.crm.getRecordById(moduleName, recordId);
  3. products = ifnull(record.get("Product_Details"),"");

  4. pdlist = List();
  5. for each product in products
  6. {
  7. mp = product;
  8. // デフォルトの項目を転記
  9. mp.put("Product_Name", product.get("product"));
  10. mp.put("Quantity", product.get("quantity"));
  11. mp.put("Total_After_Discount", product.get("total_after_discount"));
  12. mp.put("Net_Total",product.get("net_total"));
  13. mp.put("List_Price",product.get("list_price"));
  14. mp.put("Total",product.get("total"));
  15. mp.put("Description",product.get("product_description"));
  16. mp.put("Line_Tax",product.get("line_tax"));

  17. // カスタム項目
  18. // mp.put("unit","個");
  19. // mp.put("項目のapi名", [値] );

  20. pdlist.add(mp);
  21. }
  22. info pdlist;

  23. dataList = List();
  24. data = Map();
  25. data.put(apiNamesOfItemsList.get(moduleName),pdlist);
  26. dataList.add(data);
  27. param = Map();
  28. param.put("data",dataList);
  29. update = invokeurl
  30. [
  31. url :"https://www.zohoapis.com/crm/v2.1/" + moduleName + "/" + recordId.toString()
  32. type :PUT
  33. parameters:param + ""
  34. connection:"(手順5のコネクション名をここに追記ください)"
  35. ];
  36. info update;
カスタムボタンの場合は最後に return ""; を追記ください

3. テスト例

見積書の帳票サブフォームのカスタム項目「単位」(unit)の列に「個」という値を入れる

<更新前>


<関数のコンソール>


<更新後>






      • Related Articles

      • 【Zoho CRM】 見積書/請求書「税」の設定

        税は手動で追加する必要がございます。 商品情報書類には税を入力する箇所が2つあります。 小計前そして小計後2箇所とも税 を適用できます。 (重複設定にご注意ください。) 但し、どちらにも税を適用すると二重に税が適用します。 その為、必要でない場合はどちらか一つにのみ入力してください。 例えば、小計前の税の適用を外し、 下記画像のように小計後の税項目にて税を適用すると税を表示できます。
      • 【Zoho Sign】Zoho CRMとZoho Sign連携の設定

        Zoho CRMとZoho Sign連携 Zoho SignとZoho CRMは連携可能です。 Zoho CRMのZoho Sign拡張機能を使用すると、CRMに保存されている連絡先に、署名文書を直接送信できます。Zoho CRMの差し込み文書や会計テンプレートにも適用され、テンプレートから電子署名文書を送信できます。 例:会社の営業担当者がで署名のために同じ契約を異なる取引先に送信したい場合、名前、住所、添付ファイル、金額が異なる場合、差し込み印刷と在庫テンプレートの連携でスムーズ化します。 ...
      • 【Zoho CRM】Card Scannerアプリで名刺データをZoho CRMに取り込む方法

        2019.07 時点の画像です 手順をご案内します。 事前にZoho製品との同期と追加言語の設定を行ってください。 カメラアプリの起動時に、右下の歯車マークをタップしていただくことで、ご自身のアカウント名の表示がされているか、また追加言語設定が完了しているか確認ができます。 1)Card Scannerアプリを起動し、「スキャンを開始する」をタップしてください 2)カメラへのアクセスを許可して、名刺を撮影してください 3)名刺のデータが自動で解析されます ...
      • 【Zoho CRM】メール上限

        Zoho CRMでは、個別メールまたは一括メールを送信できます。 個別メール、一括メールのそれぞれの送信数に上限が設定されています。 ​ 個別メールの上限は、有料ユーザーかどうかと、ユーザー数によって変わります。 一括メールの上限は、ご利用のプランによって変わります。ユーザー数は影響しません。 上限についての詳細は以下をご参照ください。 メールの制限
      • 【Zoho CRM】 Zoho Campaignsとのメール機能の違い

        【Zoho CRM】 Zoho Campaignsとのメール機能の違い メール配信機能の豊富さと、配信数が無制限であるところが大きく異なります。 まず、Zoho Campaignsでは、ステップメールをより柔軟に設定することが可能です。 例えば、メールを開封した人に次のメールを自動で送信したり、 リンクをクリックした人に自動でメールを送信できます。 また、配信するメールのA/Bテストの実施ができます。 事前に設定をしておくと、より閲覧されやすいメールを自動で送信することができます。 ...

      Zoho Community

      Zoho ユーザーが集うオンラインフォーラムでは、サービスの使いこなしに関する活発な議論や情報交換が行われています。