發行、修訂、還原、淘汰及啟用產品 (產品週期)
發行︰ 2017年1月
適用於: Dynamics 365 (online)、Dynamics 365 (on-premises)、Dynamics CRM 2016、Dynamics CRM Online
根據預設,當您建立時,產品記錄處於草稿狀態,且無法供銷售專員使用。 只有在記錄發行時,其狀態變成使用中,記錄就可以供銷售專員使用。 對於未與產品系列相關的產品,也就是說沒有上層產品系列記錄的產品,您可以直接在使用中狀態下建立它們,透過設定 Organization.CreateProductsWithoutParentInActiveState 屬性為 1 (true)。 根據預設,如果是新安裝的 Microsoft Dynamics 365,此屬性設為 0 (false),如果您從舊版 Dynamics 365 升級,則設為 1 (true),確保您的應用程式與舊版 Dynamics 365 相容,其中的產品記錄是在使用中狀態下建立。
您也可以使用 Microsoft Dynamics 365 或 Microsoft Dynamics 365 for Outlook 系統設定區域的 [銷售] 索引標籤,指定產品是否在使用中狀態下建立。其他資訊:TechNet:管理產品類別目錄設定
進一步,您可以修訂、還原、淘汰及啟用產品記錄,根據業務需求維護產品類別目錄。 下列圖解顯示在 Dynamics 365 執行產品記錄的各個作業時,產品的狀態移轉。
啟用*:啟用作業僅適用於特定類型的產品記錄。其他資訊:啟用產品或套件產品
本主題內容
發行產品系列、產品或搭售方案
修訂產品系列、產品或搭售方案
還原產品系列、產品或搭售方案
淘汰產品系列、產品或搭售方案
啟用產品或套件產品
發行產品系列、產品或搭售方案
使用 SetStateRequest 訊息發行個別產品系列、產品或搭售方案記錄。 在此情況下,目標記錄的狀態從草稿變更為使用中。 只有在上層產品系列記錄已發行 (在使用中 狀態),下層產品或在產品系列記錄下的搭售方案記錄才能發行。 您無法同時發行多項產品系列、產品或搭售方案記錄。
使用 PublishProductHierarchyRequest 訊息發行產品系列階層,包括下層產品與搭售方案。 此訊息僅能與產品系列記錄搭配使用。 目標產品系列記錄與任何下層產品或搭售方案記錄的狀態從草稿變更為使用中。
下列程式碼範例示範如何發行個別產品系列、產品或搭售方案記錄。
SetStateRequest publishRequest = new SetStateRequest
{
EntityMoniker = new EntityReference(Product.EntityLogicalName, _productId),
State = new OptionSetValue((int)ProductState.Active),
Status = new OptionSetValue(1)
};
_serviceProxy.Execute(publishRequest);
下列程式碼範例示範如何發行產品系列,包括其下層記錄。
PublishProductHierarchyRequest publishRequest = new PublishProductHierarchyRequest
{
Target = new EntityReference(Product.EntityLogicalName, _productFamilyId)
};
_serviceProxy.Execute(publishRequest);
如需完整的範例程式碼,請參閱範例:建立和發行產品。
重要
針對未與產品系列關聯的產品或搭售方案記錄,您必須在建立或編輯它們後個別發行,提供給您的銷售專員使用。 針對與同一個產品系列關聯的產品或搭售方案記錄,請在上層產品系列記錄使用 PublishProductHierarchyRequest 訊息,同時發行多個下層產品或搭售方案記錄以及上層產品系列記錄。
此外,對於未與產品系列相關的產品,您可以直接在使用中狀態下建立它們,透過設定 Organization.CreateProductsWithoutParentInActiveState 屬性為 1 (true)。 另外,使用 Microsoft Dynamics 365 或 Microsoft Dynamics 365 for Outlook 系統設定區域的 [銷售] 索引標籤,指定未與產品系列的關聯產品是否在使用中狀態下建立。其他資訊:設定產品類別目錄資訊
修訂產品系列、產品或搭售方案
使用 SetStateRequest 訊息修訂產品系列、產品或搭售方案記錄。
針對產品系列記錄叫用時,它會修訂該產品系列和其下層記錄。
針對產品或搭售方案記錄叫用時,它僅修訂個別記錄。
目標記錄的狀態從使用中變更為修訂中。
在產品屬性 (屬性) 更新之後,必須發行目標記錄,才能反映變更。 發行時,目標記錄的狀態從修訂中變更為使用中。
注意
當您修訂產品及變更屬性時,Dynamics 365 內部建立新版的產品和複製現有產品的產品詳細資料至新版本。 新產品版本有所有詳細資料,包括價目表、產品關聯和屬性。 舊版產品中建立的商機可以繼續參照舊版產品。 在產品修訂或淘汰之後建立的商機將參照目前 (較新) 產品版本。
還原產品系列、產品或搭售方案
使用 RevertProductRequest 訊息,將產品系列、產品或搭售方案記錄還原至其上次使用中狀態。 自上次發行 (使用中狀態) 後,對記錄所做的所有產品屬性 (屬性) 變更都會遺失。
針對產品系列記錄叫用時,它會將產品系列和其下層記錄還原至上次使用中狀態,而且自上次發行後,對記錄的產品屬性所做的所有變更都會遺失。
針對產品或搭售方案記錄叫用時,它會將個別產品或搭售方案記錄還原至其上次使用中狀態,而且自上次發行後,對記錄的產品屬性所做的所有變更都會遺失。
目標記錄的狀態從修訂中變更為使用中。
下列程式碼範例示範如何還原產品記錄。
RevertProductRequest revertReq = new RevertProductRequest
{
Target = new EntityReference(Product.EntityLogicalName, _productId)
};
RevertProductResponse reverted = (RevertProductResponse)_serviceProxy.Execute(revertReq);
淘汰產品系列、產品或搭售方案
使用 SetStateRequest 訊息淘汰產品系列、產品或搭售方案記錄。
針對產品系列記錄叫用時,它會淘汰整個產品系列階層。
針對產品或搭售方案記錄叫用時,它僅淘汰個別記錄。
目標記錄的狀態變更為已淘汰。
注意
您無法淘汰屬於已發行 (使用中) 搭售方案的產品。 另外,您無法新增淘汰的產品至搭售方案,也無法將產品新增至淘汰的搭售方案。
啟用產品或套件產品
使用 SetStateRequest 訊息只啟用下列類型的記錄:
沒有上層記錄、已淘汰的產品記錄。
已淘汰的套件記錄。
目標記錄的狀態從已淘汰的變更為使用中。
注意
您無法啟用已淘汰的產品系列或已淘汰的搭售方案記錄。
另請參閱
產品定價方式
建立並管理產品系列、產品、搭售方案及產品屬性
產品類別目錄實體
Microsoft Dynamics 365
© 2017 Microsoft. 著作權所有,並保留一切權利。 著作權