-
//キオスク画面から渡されたデータを関数でリストとして扱う
-
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 '失敗';
-
}
-
}