有沒有一種方法可以使用不與數據庫字段對應的表單字段進行臨時處理?ClearQuest表單上的非數據庫字段
I.e.我想補充:
- 溫度場物品1,ITEM2
- 數據庫字段總和
- 按鈕與記錄掛鉤,設置總和 = 物品1 + ITEM2
有沒有一種方法可以使用不與數據庫字段對應的表單字段進行臨時處理?ClearQuest表單上的非數據庫字段
I.e.我想補充:
到目前爲止因爲我知道使用ClearQuest根本不可能。 我試圖做類似的事情,並被我們的IBM顧問告知唯一的方法是爲所有變量創建一個DB字段。
您無法真正將數據附加到表單字段 - 這些是底層數據的表示,而不是腳本直接與之交互的內容。
將臨時數據添加到底層記錄(實體)本身聽起來也不太可能。也許有可能濫用perl API並動態地將數據附加到實體對象上,但我個人不會嘗試它,您可能會隨時隨地丟失數據;-)
但這並不意味着暫時的數據是不可能的。 對我來說,最好的方法似乎是使用會話對象,明確是爲此目的而設計的。
從幫助文件:
IBM Rational ClearQuest的支持 存儲信息的 使用sessionwide變量。在創建會話範圍變量 後,您可以通過當前會話 訪問 對象使用函數或子例程 (包括掛接),該會話對象具有訪問 的權限。當前會話結束時,刪除與該會話對象 相關的所有變量 。會話結束時,用戶註銷 或終止對象的最終參考 停止存在。
在file:///C:/Program%20Files/Rational/ClearQuest/doc/help/cq_api/c_session_vars.htm中有一些關於此主題的有用文檔(當然,假設在Windows機器上進行默認安裝。)
翻譯在那裏的代碼示例爲你似乎是想要什麼,首先你保存你的會話對象中計算的數據:
$session->SetNameValue("item1", $value1);
$session->SetNameValue("item2", $value2);
然後在你的計算鉤您檢索存儲的值和設置總計字段的值是這樣的:
my $item1 = GetNameValue("item1");
my $item2 = GetNameValue("item2");
my $sum = $item1 + $item2;
$entity->SetFieldValue("some_totals_record", $sum);
調整的味道當然;-)
ClearQuest方案設計者通常的他們的記錄類型中的'臨時'字段。他們這樣做是爲了讓他們在鉤子上執行操作來產生另一個值。
例如,對於Notes字段,有一個'temporary'Notes_entry字段,用戶鍵入最新的筆記,並且當記錄被保存時,該值將被添加到Notes_Log字段中。下次記錄被編輯時,Notes_entry字段將被清除,以便用戶可以鍵入新的Notes_entry。