2008-10-01 43 views

回答

2

到目前爲止因爲我知道使用ClearQuest根本不可能。 我試圖做類似的事情,並被我們的IBM顧問告知唯一的方法是爲所有變量創建一個DB字段。

2

您無法真正將數據附加到表單字段 - 這些是底層數據的表示,而不是腳本直接與之交互的內容。

將臨時數據添加到底層記錄(實體)本身聽起來也不太可能。也許有可能濫用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); 

調整的味道當然;-)

0

ClearQuest方案設計者通常的他們的記錄類型中的'臨時'字段。他們這樣做是爲了讓他們在鉤子上執行操作來產生另一個值。

例如,對於Notes字段,有一個'temporary'Notes_entry字段,用戶鍵入最新的筆記,並且當記錄被保存時,該值將被添加到Notes_Log字段中。下次記錄被編輯時,Notes_entry字段將被清除,以便用戶可以鍵入新的Notes_entry。

相關問題