發表文章

目前顯示的是有「opportunity product」標籤的文章

在 Opportunity 要新增 Product 時的頁面,欄位到底要在哪裡設定啊!!!Where should the fields be set on the page when adding a Product to an Opportunity?

圖片
問題 「在 Opportunity 要新增 Product 時的頁面,欄位到底要在哪裡設定?」 這個問題屬於一個多層次的複雜問題,因為當我們要在 opportunity 下新增 product 時通常會做三個主要的點擊,其間會經過三個 layout,每個 layout 的設定方式都不一樣。 三個動作 在 opportunity 頁面上點擊 product,進入 Opportunity Product 的 list view 在 Opportunity Product 的 list view 上點擊 Add Products,進入 Price Book Entry 的 search layout 在 Price Book Entry 的 search layout 上勾選了所欲新增的 product 後,點擊 Next,進入 Opportunity Product 的 Multi-Line Layout 解法 基本上只要認識了三個動作背後所實質對應的東西,要去哪裡設定就不難找了。 三個動作各自對應的是 Opportunity object 的 Page Layout 的 Related List  Price Book Entry object 的 Search Layout Opportunity Product 的 Page Layout 的 Multi-Line Layout 第三個比較少見一點、比較不好找,請見示意圖:

為什麼 Validation 無效? Validation of Opportunity Product (OpportunityLineItem) doesn't work.

症狀 明明設了 validation 規定某些特定 product 不可以打折 (  UnitPrice  不能低於  ListPrice ) Opportunity Product Validation Rule: AND(   CONTAINS( Product2.Name , "Usage_"),   UnitPrice < ListPrice ) 但 user 仍然可以成功地在 create new opportunity product 的時候輸入較低的 UnitPrice。 不過如果嘗試再回頭編輯這筆 opportunity product,validation rule 又會作動如常。 除非 user 把 UnitPrice 調整到不低於 ListPrice 的數字,不然 validation rule 就會讓他無法存檔。 原因 概念上來說,這是因為在 OpportunityLineItem record 被創建的當下,OpportunityLineItem 上 Product2 這個欄位還沒有建立起這個關聯。 所以在 validation rule 裡面任何參照到 Product2 的條件都是一場空。 解方 不要參照 Product2,改成參照 PricebookEntry.Product2。 不要參照 ListPrice,改成參照 PricebookEntry.UnitPrice。 將 validation rule 改寫如下,即可: AND(   CONTAINS( PricebookEntry.Product2.Name , "Usage_"),   UnitPrice < PricebookEntry.UnitPrice  ) 參考資料 https://salesforce.stackexchange.com/questions/254096/validation-rule-that-limits-what-products-to-add-to-opportunity-by-opprecordid-n