2017-06-01 83 views
1

我想保存兒童工作訂單規格值,它不能按預期工作。這是我一直在努力實現的。兒童工作訂單規格不保存

我正在檢索父母和子女工單的清單,以便保持平面結構並過濾要在我的工作分配視圖 (例如,以下是分配給特定用戶的特定站點的工作單。 父WO - 1000有孩子WOS - 1001,1002,1003 父WO - 2000有孩子WOS - 2001年,2002年

  1. 分配工作訂單視圖顯示僅1000年和2000年工作單。
  2. 一旦你選擇了一個工單,它就會顯示工單詳情和子WO的清單。
  3. 有工作單產品詳情屏幕上的標籤相同附件或任務或WorkLogs
  4. 所以流量是選擇父WO - >打開工單詳細信息視圖 - >點擊兒童WOS選項卡 - >顯示孩子的名單例如WO 選擇1000 - >點擊兒童WO選項卡 - >顯示1001,1002,1003
  5. 選擇一個孩子WO並逐個顯示其規格屬性
  6. 輸入規格屬性的值,然後返回(將您帶到兒童WO列表屏幕 - >返回(帶您到工作訂單詳細信息屏幕) - >返回(帶您到我指定的訂單查看視圖)
  7. 問題出在這裏,選擇父母WO,然後選擇子女工作單
  8. 在js文件中,我正在檢索工單和工單順序資源

initialize: function (eventContext) { 
 
    \t \t \t 
 
\t \t var workOrder = eventContext.application.getResource('workOrder').getCurrentRecord(); 
 
\t \t 
 
\t \t var identifier = workOrder.get('identifier'); 
 
\t \t \t \t 
 
\t \t var workorderSpecs = eventContext.application.getResource("workOrder.workOrderSpec"); 
 
    }

令人驚訝的這段代碼的第一次工作正常。但是第二次使用eventRestext.application.getResource(「workOrder.workOrderSpec」);即使var workOrder持有正確的工單信息,也會返回null。

讓我知道你是否對這種情況感到困惑。 任何幫助,非常感謝。

回答

0

我做了類似的事情。在對象結構中,我在工作訂單(WOCHILDREN)上添加了一個新視圖,並且我已更改了工作訂單關係,以包含WorkOrder中的所有規格和子規範下的規格。您應該知道,將規格下載到您的手機後,這種關係會丟失(所有規格仍然參考原始工作訂單)。

然後我使用eventContext.ui.viewHistory來確定我在應用程序中的位置。然後決定是否需要workorderResource currentRecord或wochildrenResource當前記錄。並從該記錄中獲取標識符。

現在您需要使用該標識符(workorderid)來過濾workorderspecs列表。

var specs = eventContext.application.getResource('workOrder.workOrderSpec'); 
specs.filter("refobjectid = $1", workorderid); 

這種方法的問題是過濾資源會改變該設置的狀態。這意味着任何未保存的更改都會丟失。因此,我添加了一個額外的檢查,以查看一組已被過濾和髒(即改變),如果是這樣保存該組。