- 
     
      //キオスク画面から渡されたデータを関数でリストとして扱う
     
 
    - 
     
      list1 = id.toList();
     
 
    - 
     
      tid = list1.取得する(0);
     
 
    - 
     
      //タスク、case、および商品を取得する
     
 
    - 
     
      タスク = Zoho.crm.getRecordById('タスク',tid);
     
 
    - 
     
      case = Zoho.crm.getRecordById('Cases',タスク.取得する('What_Id').取得する('id'));
     
 
    - 
     
      商品 = Zoho.crm.searchRecords('商品','(Product_Name:equals:' + タスク.取得する('Case_Product') + ')');
     
 
    - 
     
      //新しい受注書を作成するためのリストとマップの作成
     
 
    - 
     
      ordereditemslist = list();
     
 
    - 
     
      ordereditems = Map();
     
 
    - 
     
      ordereditems.put('Product_Name',商品.取得する(0).取得する('id'));
     
 
    - 
     
      ordereditems.put('List_Price',商品.取得する(0).取得する('Unit_Price'));
     
 
    - 
     
      ordereditems.put('数量',1);
     
 
    - 
     
      ordereditemslist.追加する(ordereditems);
     
 
    - 
     
      salesorder = Map();
     
 
    - 
     
      salesorder.put('件名',case.取得する('件名'));
     
 
    - 
     
      salesorder.put('Case',case.取得する('id'));
     
 
    - 
     
      salesorder.put('Contact_Name',case.取得する('Related_To').取得する('id'));
     
 
    - 
     
      salesorder.put('Ordered_Items',ordereditemslist);
     
 
    - 
     
      data = list();
     
 
    - 
     
      data.追加する(salesorder);
     
 
    - 
     
      salesorder1 = Map();
     
 
    - 
     
      salesorder1.put('data',data);
     
 
    - 
     
      createsorder = invokeurl
     
 
    - 
     
      [
     
 
    - 
     
 
    - 
     
      種類 :POST
     
 
    - 
     
      パラメーター:salesorder1.toString()
     
 
    - 
     
      connection:'modulestest'
     
 
    - 
     
      ];
     
 
    - 
     
      info createsorder;
     
 
    - 
     
      salesorderid = createsorder.取得する('data').取得する(0).取得する('詳細').取得する('id');
     
 
    - 
     
      info 'salesorderid ' + salesorderid;
     
 
    - 
     
      //カスタム項目内の受注書件数を更新します。この項目はKioskでの判断に使用されています。
     
 
    - 
     
      if(case.取得する('Total_SOs') == 0)
     
 
    - 
     
      {
     
 
    - 
     
      a = Zoho.crm.updateRecord('Cases',case.取得する('id'),{'Total_SOs':1});
     
 
    - 
     
      info a;
     
 
    - 
     
      }
     
 
    - 
     
      else
     
 
    - 
     
      {
     
 
    - 
     
      asalesorder = Zoho.crm.getRelatedRecords('Sales_Orders','Cases',タスク.取得する('What_Id').取得する('id'));
     
 
    - 
     
      //info updatetask;
     
 
    - 
     
      asalesordersize = asalesorder.size();
     
 
    - 
     
      //info asalesordersize;
     
 
    - 
     
      updcase = Zoho.crm.updateRecord('Cases',case.取得する('id'),{'Total_SOs':asalesordersize + 1});
     
 
    - 
     
      }
     
 
    - 
     
      //タスクのチェックボックスを更新し、それが受注書に追加されたことを示します。このチェックボックスは、Kioskの画面表示条件でタスクを表示するために使用されています。
     
 
    - 
     
      updatetask = Zoho.crm.updateRecord('タスク',tid,{'Added_to_SO':真});
     
 
    - 
     
      //リスト1に複数のタスクIDが含まれている場合、それらを同じ受注書に追加するには、受注書を更新してください。
     
 
    - 
     
      for each index i in list1
     
 
    - 
     
      {
     
 
    - 
     
      if(i >= 1)
     
 
    - 
     
      {
     
 
    - 
     
        info i;
     
 
    - 
     
        tid1 = list1.取得する(i);
     
 
    - 
     
        タスク = Zoho.crm.getRecordById('タスク',tid1);
     
 
    - 
     
        //info 'tid1:'+ タスク;
     
 
    - 
     
        case = Zoho.crm.getRecordById('Cases',タスク.取得する('What_Id').取得する('id'));
     
 
    - 
     
        商品 = Zoho.crm.searchRecords('商品','(Product_Name:equals:' + タスク.取得する('Case_Product') + ')');
     
 
    - 
     
        ordereditemslist = list();
     
 
    - 
     
        ordereditems= Map();
     
 
    - 
     
        ordereditems.put('Product_Name',商品.取得する(0).取得する('id'));
     
 
    - 
     
        ordereditems.put('List_Price',商品.取得する(0).取得する('Unit_Price'));
     
 
    - 
     
      ordereditems.put('数量',1);
     
 
    - 
     
        ordereditemslist.追加する(ordereditems);
     
 
    - 
     
        salesorder = Map();
     
 
    - 
     
        salesorder.put('Ordered_Items',ordereditemslist);
     
 
    - 
     
        data = list();
     
 
    - 
     
        data.追加する(salesorder);
     
 
    - 
     
        salesorder1 = Map();
     
 
    - 
     
        salesorder1.put('data',data);
     
 
    - 
     
        info salesorder1;
     
 
    - 
     
        updatesorder = invokeurl
     
 
    - 
     
        [
     
 
    - 
     
 
    - 
     
         種類 :PUT
     
 
    - 
     
         パラメーター:salesorder1.toString()
     
 
    - 
     
         connection:'modulestest'
     
 
    - 
     
        ];
     
 
    - 
     
        //info 'updatesorder' + updatesorder;
     
 
    - 
     
        updatetask1 = Zoho.crm.updateRecord('タスク',tid1,{'Added_to_SO':真});
     
 
    - 
     
        info '更新する Task1: ' + updatetask;
     
 
    - 
     
      }
     
 
    - 
     
      else
     
 
    - 
     
      {
     
 
    - 
     
        info '失敗';
     
 
    - 
     
      }
     
 
    - 
     
      }