CRM訂單狀態的Open, In process和Completed這些條目是從哪裡來的

i042416發表於2018-03-15

Service Order的狀態欄位裡的這些欄位從哪裡帶出來的?我們可能會想當然的認為是從後臺配的Status profile裡帶出來的。事實並非如此。

CRM訂單狀態的Open, In process和Completed這些條目是從哪裡來的

這個transaction type根本沒有分配任何Status profile,但是仍然可以在UI上看到三個可選的狀態值。

CRM訂單狀態的Open, In process和Completed這些條目是從哪裡來的

Status狀態欄位裡的值並不是我們想象的那樣,完全來自system status profile和user status profile,後者只是資料來源之一。

這個下拉選單裡的值透過下面這個方法取出:可以看到方法執行的結果就是UI上看到的三條記錄。

CRM訂單狀態的Open, In process和Completed這些條目是從哪裡來的
CRM訂單狀態的Open, In process和Completed這些條目是從哪裡來的

這個GET_STATUS_INFO的具體邏輯:

先從crmc_status_proc裡取出全部47個狀態,

CRM訂單狀態的Open, In process和Completed這些條目是從哪裡來的

這47個狀態會根據其RANGE欄位,和CRNC_BO_RANGES的RANGE欄位做一個join,過濾掉那些Join結果裡OBJECT_TYPE欄位不等於BUS2000116的狀態,最後就只剩Open, In Process和Completed三條記錄。

CRM訂單狀態的Open, In process和Completed這些條目是從哪裡來的
CRM訂單狀態的Open, In process和Completed這些條目是從哪裡來的

要獲取更多Jerry的原創技術文章,請關注公眾號"汪子熙"或者掃描下面二維碼:

CRM訂單狀態的Open, In process和Completed這些條目是從哪裡來的
CRM訂單狀態的Open, In process和Completed這些條目是從哪裡來的

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2151907/,如需轉載,請註明出處,否則將追究法律責任。

相關文章