管理 Oracle CRM On Demand > 應用程式自訂 > 記錄類型應用程式自訂頁面 > 關於條件式必要欄位
關於條件式必要欄位
您可以設定欄位,使該欄位在預設上並非必要,而是在符合所定義的條件時才會變成必要。依此方式設定的欄位即稱為條件式必要欄位。例如,您可能會決定當使用者將機會狀態設成「喪失」時,必須先選取「得失原因」欄位值,才能儲存記錄。若要實作這項程序,您可以在欄位管理中為「得失原因」欄位輸入下列條件:
[{Status}]=LookupValue("OPTY_STATUS", "Lost")
依此方式設定欄位後,如果使用者為機會選取「喪失」狀態,則除非在「得失原因」欄位中選取一個值,否則將無法儲存機會。此時欄位旁邊會出現紅色星號 (*),且如果欄位顯示標籤,將會以紅色文字顯示。
設定條件式必要欄位時,請注意下列要點:
- 您必須確定條件式必要欄位是顯示在相關頁面版面配置上。否則,當欄位成為必要時,使用者將無法輸入欄位值。同理,建議最好在「頁面版面配置精靈」中,為條件式必要欄位勾選「一律顯示於版面配置上」核取方塊,讓使用者無法從頁面版面配置中移除該欄位。如果部分使用者已將頁面版面配置個人化,則在您設定條件式必要欄位之後,可能需將個人化的頁面版面配置重設為預設版面配置。如需詳細資訊,請參閱重設個人化頁面版面配置。
- 如果想讓條件式必要欄位成為特定角色的必要欄位,您可以在用於該角色的頁面版面配置中將欄位設為必要。只要是使用該頁面版面配置,此欄位均為必要欄位,即便不符合在欄位層次為該欄位所定義的條件亦無影響。若是使用其他頁面版面配置,該欄位僅在符合條件時方為必要欄位。
下表說明在欄位管理中以及「頁面版面配置精靈」中,讓欄位成為必要或條件式必要的設定方式。
欄位管理中的必要核取方塊
|
欄位管理中的條件式必要欄位
|
頁面版面配置精靈中的必要核取方塊
|
頁面版面配置精靈中的條件式必要核取方塊
|
結果
|
已選取
|
空白
|
已選取且唯讀
|
未選取且唯讀
|
一律為必要欄位。
|
未選取
|
包含運算式
|
未選取且可編輯
|
已選取且唯讀
備註:如果在「頁面版面配置精靈」中勾選「必要」核取方塊,則會自動清除「條件式必要」核取方塊。
|
除非在「頁面版面配置精靈」中勾選「必要」核取方塊,否則欄位僅在符合指定給欄位的條件時才為必要。
|
未選取
|
空白
|
未選取且可編輯
|
未選取且唯讀
|
如果在「頁面版面配置精靈」中勾選「必要」核取方塊,則欄位在使用該頁面版面配置的所有情況中均為必要。否則,欄位為非必要。
|
條件式必要欄位的 Expression Builder 功能
Expression Builder 功能適用下列限制,可供您用於為條件式必要欄位建立的條件:
- 函數。僅支援下列 Expression Builder 函數:
- 資料類型。您無法在條件式必要欄位的運算式中使用欄位類型為「日期」或「日期時間」的欄位。您可以使用 Expression Builder 支援的所有其他欄位類型。
- 運算子。不適用任何限制。
如需有關使用 Expression Builder 的詳細資訊,請參閱 Expression Builder。
編輯條件式必要欄位時的限制
編輯條件式必要欄位時,管理員與使用者必須考量下列限制:
- 條件式必要欄位上的運算式可包含來自相關聯記錄的欄位。例如,您可以在「聯絡人詳細資料」頁面中,設置僅在特定客戶關聯至聯絡人記錄時才需要的欄位。運算式可包含客戶的 ID 欄位或名稱欄位,如下列範例所示:
[{Account Id}]="1QA2-1IRPI7"
[{Primary Account Name}]="ACME Computer Parts"
當您執行 Web 服務或 REST API 呼叫來更新記錄,且要求中包含關聯時,為確保條件式必要欄位中的運算式會正確進行評估,則要求必須包含來自相關聯記錄的正確欄位。在聯絡人範例中,取決於條件式必要欄位的設定方式,要求中必須包含 ID 或名稱欄位。或者,要求可同時包含 ID 欄位與名稱欄位。
- 條件式必要欄位的運算式可評估當更新兩筆記錄間的關聯時即會自動進行更新的唯讀欄位,如聯絡人記錄的「客戶地點」欄位。不過,此種組態在下列情況中並不會正確運作:
- 若條件式必要欄位目前並非必要 (亦即,欄位的運算式會評估成偽),而記錄是在內嵌於記錄「詳細資料」頁面時進行編輯,且更新導致條件式必要欄位的運算式評估為真。在此情況下,條件式必要欄位會繼續保持非必要。
- 若條件式必要欄位目前為必要 (亦即,欄位的運算式會評估為真),而記錄是在記錄「編輯」頁面中進行編輯,且更新導致條件式必要欄位的運算式評估成偽。在此情況下,條件式必要欄位會繼續保持為必要。
- 條件式必要欄位可以使用會評估自訂相關資訊欄位的運算式。不過,當更新自訂相關資訊欄位的來源欄位時,系統會先出現極短暫的延遲後,才更新自訂相關資訊欄位的值。
因此,若條件式必要欄位的運算式在評估自訂相關資訊欄位時,當系統更新自訂相關資訊欄位的來源欄位後,可能不會立即正確評估運算式。
|