Zoho WriterのマージAPI使用時のマージフィールドIDとサブフォームフィールドの管理

Zoho WriterのマージAPI使用時のマージフィールドIDとサブフォームフィールドの管理

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

1. 差し込み処理中に差し込み項目の値が正しく差し込まれない、または置換されない理由

差し込み値が出力ドキュメントで適切に置換されない、または欠落している場合は、差し込み入力データで項目の値が正しい項目IDに渡されていない可能性があります。この問題を避けるため、正確な項目IDを使用してください。

2. 差し込み項目IDの取得とMerge APIでの使用方法

オプションA:Writerのユーザー操作画面での項目IDの取得
  1. 差し込みテンプレートを開き、右パネルの[自動化]タブに移動します。
  2. 差し込みパネルで[項目の管理]をクリックし、正確な項目IDを取得するために[項目IDを表示]を選択します。
  3. サブフォームの項目IDについて。
    • [サブフォーム]タブに移動します。
    • サブフォームを展開し、[項目IDを表示]をクリックして、項目IDを表示してコピーします。


オプションB:APIを使用した項目IDの取得

項目IDは、WriterのREST APIまたはDelugeタスクを使用してプログラムから取得することもできます。

3. PDFテンプレートでサブフォームまたは複数行項目の値が正しく差し込まれない理由

PDFテンプレートの繰り返し領域内でサブフォームの値をレンダリングまたは置換する際には、既知の技術的な制限があります。当社では、この制限に対処し、PDFテンプレートでの繰り返し領域の差し込みにおけるユーザー体験を改善するために取り組んでいます。

回避策データが正しく入力されるようにするには、テンプレートにテキストボックスを挿入し、その中に繰り返しテーブルまたは領域を配置します。これにより、データが想定どおりに差し込まれます。



差し込みテンプレートでは、サブフォームまたは関連リスト項目は特殊な差し込み項目であり、正しく差し込むには適切な形式で渡す必要があります。

サブフォーム項目の関連付け手順
  1. Writerの差し込みテンプレートで、[繰り返し]ボタン([高度な差し込み項目]の下)を使用して、サブフォームテーブルまたは繰り返し領域を挿入します。
  2. 前述(質問2)の手順で、サブフォームまたは関連リスト項目の差し込み項目IDを取得し、以下の形式を使用して入力JSONデータの値を関連付けます。
例1:APIでサブフォームまたは関連リスト項目を含む差し込み入力データを送信するサンプルコード

{

'data': [

{

'customer_name': 'Amelia',

'customer_address': '13th Street, USA',

'customer_email_address': 'amelia@ジルカー.com',

'customer_phone_number': '9876543210',

'invoice_number': '123456',

'items': [

{

'items.item_code': '123',

'items.item_name': 'Fastrack Revoltt FS1',

'items.item_description': 'Specifications',

'items.item_replacement': 'Yes'

},

{

'items.item_code': '1278',

'items.item_name': 'Samsung Refrigerator',

'items.item_description': 'Specifications',

'items.item_replacement': 'Yes'

}

]

},

{
'customer_name': 'John',
'customer_address': '15th Street, India',
....
}

]

}
例2:Delugeでサブフォーム/関連リスト項目を関連付けるサンプルコード

差し込みデータにitemsrepairsのような2つのサブフォームが含まれている場合は、次の方法を使用します。
  • 連携(CRM、Recruit、Peopleなど)では、getRecordsなどのAPIを使用してデータを取得します。
  • 上記のように、メイン項目とサブフォーム項目の両方の値を関連付けます。

dataMap = Map();

recordsData.put('customer_name': 'Amelia');

recordsData.put('customer_address': '13th Street USA');

recordsData.put('customer_email_address': 'amelia@ジルカー.com');

recordsData.put('customer_phone_number': '9876543210');

recordsData.put('invoice_number': '123456');

 

//Subform1

itemsList = list();

itemMap = Map();

itemmap.put('items.item_code': '123');

itemmap.put('items.item_name': 'Fastrack Revoltt FS1');

itemmap.put( 'items.item_description': '<p><b>Specifications</b></p>');

itemmap.put('items.item_replacement': 'Yes');

itemsList.add(itemmap);

 

//subform2

repairList = list();

repairDetails = Map();

repairDetails.put('Repairs.Service_code', 'R100');

repairDetails.put('Repairs.説明', 'Faulty belt');

repairDetails.put('Repairs.Quantity', '5');

repairDetails.put('Repairs.Price', 10000);

repairList.add(repairDetails);

 

recordsData.put('items', itemsList);

recordsData.put('Repairs', repairList)

 

mergedata = Map();

mergedata.put('merge_data', {'data': recordsData});

//pass this merge data to respective merge api like mentioned below

 

zoho.writer.mergeAndSend('eb4kob4cf65bb6d074af7a7de21e561119eb9', 'pdf', 'amelia@ジルカー.com', mergedata, 'writer_name');

詳細については、CRM連携ガイドを参照してください。

Notesすべての差し込み項目の種類に値を渡す方法に関する完全なガイドについては、差し込み項目の包括的なドキュメントを参照してください。