2016-11-24 67 views
0

我可以查看產品列表,但似乎無法單獨處理它們。該對象是否不是正常的洪水清單?如何使用洪水來解析Zoho銷售訂單(或PO,報價單,發票等)中的產品清單?

這工作:

salesorder = zoho.crm.getRecordById("Salesorders",input.so_id.toLong()); 
lineitems = salesorder.get("product"); 

但是,無論是以下行的節省(百會不會打擾顯示錯誤消息):

salesorder = zoho.crm.getRecordById("Salesorders",input.so_id.toLong()); 
lineitems = salesorder.get("product"); 
liCount = lineitems.size(); 
for each lineitem in lineitems {} 

有另一種方式來遍歷行項目在這些模塊中?

+0

當我發送的電子郵件的正文中salesorder對象,產品屬性在方括號內。這是否表明它是一個列表或別的東西? ...「狀態」:「交付」,「產品」:「[{產品ID = 1663763000000192212,折扣= 0.0 ... – carpiediem

回答

1

您可以循環在Zoho的訂單或發票的項目,像這樣:

items = invoice.get("product").toJSONList(); 
for each item in items 
{ 
    itemMap = item.toMap(); 
    name = itemMap.get("Product Name"); 
} 
+0

這是否工作?我無法再訪問Zoho來檢查。它不會產生一個平面數組而不是一個分層的JSON對象? – carpiediem

+1

它可以工作,最近剛剛實現它,但它不是分層的,這就是爲什麼你必須使用.toMap()方法來投射迭代的項目。 – Corgalore

0

這不是一個漂亮的選擇,但它似乎工作。現在,我只需要弄清楚如何使用洪水來更新具有新數據的訂單項。

salesorder = zoho.crm.getRecordById("Salesorders",input.so_id.toLong()); 
lineitems=salesorder.get("product"); 
li_list=lineitems.subString(1,(lineitems.length() - 1)).toList("},{"); 
for each rec in li_list 
{ 
    lineitem="{" + rec + "}".toMap(); 
    product_id=lineitem.get("Product Id"); 
} 
相關問題