zoukankan      html  css  js  c++  java
  • Salesforce Sales Cloud 零基础学习(一) Product 和 Price Book

    以前的博客大部分都是基于force.com以及lightning展开的自定义开发,其实salesforce提供了很多的标准的功能以及平台, Sales Cloud便是作为Salesforce核心的平台之一,Sales Cloud实现的是 L2C的流程,即 Lead to Cash。 Salesforce 封装了很多标准对象,其中有一部分标准对象以及功能应用实现Sales Cloud,构造成基于销售漏斗的模式的庞大的Sales Cloud。

    此篇主要讲述Sales Cloud中的 Product以及 Price Book。

    一. Product

    Product 是所有你要卖的产品和服务。Product 在salesforce 中的API 名称为 Product2.

    一个公司的产品会特别多,可以通过 Product Family 来对Product进行分类,Product Family 是Product上一个自带的Picklist字段。

    不同公司或者不同行业所卖的产品不一样, Product Family定义也会不同

    比如华为等国内著名的通信公司,Family可能包括软件,硬件,通信,手机,电脑等等;
    针对外语教学的公司,Family可能包括 小学,初中,高中,大学,托业,雅思等等;

    如果你的org有自定义的预测,也可以通过 Product Family 对你的用户进行不同的配额 ,所以设置好Product Family 还是很重要的。

    在salesforce中创建一个Product特别简单,只需要必须输入Product Name,可选择的输入 Product Code等信息,点击Save便完成了一个Product的创建,只有将Active勾选才可以将这个Product添加到 Price book , opportunities , quotes。

    二. Price Book

    一个产品创建以后不可能独立存在,必须有一个标准的价格才可以引用在报价单中。产品价格维护在哪里,这里引出Price Book的概念。

    Price Book 是一个定价的产品的集合,包括两种类型: 标准的价格手册以及自定义的价格手册;

    标准价格手册是所有的产品以及服务默认的价格,无论什么产品,必须要有标准的价格手册。

    针对公司来说,很多都是基于global市场的,不同的市场成熟度以及关税,竞争对手等原因,可能不同区域地区定价不同,这时就需要根据国家或者区域等 创建自定义的价格手册;

    创建自定义的价格手册(Price Book)只需要创建 Price Book 的名称以及是否将他启用就创建好了。 Price Book 在Salesforce中的API名字叫 Pricebook2。

    如果公司的销售业务是全球的,可以将Price Book 分成多种,比如亚太,欧美,欧洲,拉丁美,国内等等。

    三. PriceBookEntry

    Pricebook2 与 Product2 是多对多的关系,一个价格手册可以存在在多个产品上,一个产品也可以有多个价格手册,他们中间有一个关联表API名字为 PricebookEntry, 可以在 Product的关联列表以及 PriceBook的关联列表关联 PricebookEntry实现 PriceBook2 与 Product2的关联。

    我们创建好一个 Product以后,必须先添加一个标准的价格手册,才可以继续添加自定义的价格手册。

     

    下图展示此产品中添加了标准的价格手册为5000元,针对EMEA我们设置此产品的价格手册为6000元,针对AP设置为6500元。

    针对此部分数据,其实在数据库中生成了3条 PriceBookEntry,分别绑定了standard/AP/EMEA的PriceBook2以及Test Hardware Product这个Product2。

    Product2 / PriceBook2 / PriceBookEntry 表字段可以参看:https://help.salesforce.com/articleView?id=products_fields.htm&type=5 

    针对上面的记录,我们可以搜索PriceBookEntry获取具体信息:

    SELECT Product2.Name,Product2.ProductCode, Product2.Family,
        Pricebook2.Name,UnitPrice 
    FROM PricebookEntry 
    WHERE Product2.Name = 'Test Hardware Product'

     结果展示:

    {
        "done": true, 
        "records": [
            {
                "Product2": {
                    "Name": "Test Hardware Product", 
                    "ProductCode": "THP001", 
                    "Family": "Hardware", 
                    "attributes": {
                        "type": "Product2", 
                        "url": "/services/data/v35.0/sobjects/Product2/01t0I000006vngqQAA"
                    }
                }, 
                "UnitPrice": 6000.0, 
                "attributes": {
                    "type": "PricebookEntry", 
                    "url": "/services/data/v35.0/sobjects/PricebookEntry/01u0I00000AUZ5mQAH"
                }, 
                "Pricebook2": {
                    "Name": "EMEA", 
                    "attributes": {
                        "type": "Pricebook2", 
                        "url": "/services/data/v35.0/sobjects/Pricebook2/01s0I00000DFFk0QAH"
                    }
                }
            }, 
            {
                "Product2": {
                    "Name": "Test Hardware Product", 
                    "ProductCode": "THP001", 
                    "Family": "Hardware", 
                    "attributes": {
                        "type": "Product2", 
                        "url": "/services/data/v35.0/sobjects/Product2/01t0I000006vngqQAA"
                    }
                }, 
                "UnitPrice": 6500.0, 
                "attributes": {
                    "type": "PricebookEntry", 
                    "url": "/services/data/v35.0/sobjects/PricebookEntry/01u0I00000AUZ5rQAH"
                }, 
                "Pricebook2": {
                    "Name": "AP", 
                    "attributes": {
                        "type": "Pricebook2", 
                        "url": "/services/data/v35.0/sobjects/Pricebook2/01s0I00000DFFnsQAH"
                    }
                }
            }, 
            {
                "Product2": {
                    "Name": "Test Hardware Product", 
                    "ProductCode": "THP001", 
                    "Family": "Hardware", 
                    "attributes": {
                        "type": "Product2", 
                        "url": "/services/data/v35.0/sobjects/Product2/01t0I000006vngqQAA"
                    }
                }, 
                "UnitPrice": 5000.0, 
                "attributes": {
                    "type": "PricebookEntry", 
                    "url": "/services/data/v35.0/sobjects/PricebookEntry/01u0I00000AUZ5hQAH"
                }, 
                "Pricebook2": {
                    "Name": "Standard Price Book", 
                    "attributes": {
                        "type": "Pricebook2", 
                        "url": "/services/data/v35.0/sobjects/Pricebook2/01s28000004fVQMAA2"
                    }
                }
            }
        ], 
        "totalSize": 3
    }
    查询结果

    当我们希望Product2 active/inactive时,自动将其上面所有PriceBook2 active/inactive时,我们可以在Setup搜索 Product Settings,将‘When changing active flag on a product record, automatically update active flag on related prices’ 勾选即可。

    Product2的信息可能存在于以下的关联列表中:

    Opportunity / Quote / Order / Contract.

    Product 关联列表和 Quote Line Item 关联列表会显示 相关联的 Product信息。

    总结:Salesforce的Sales Cloud的功能很强大,本篇只是描述最基本的Product以及Pricebook之间的关系,后期还会持续更新Lead -> Cash 过程中的业务以及相关的表和功能。篇中有错误地方欢迎指出,有问题欢迎留言。

  • 相关阅读:
    Spring RedisTemplate操作-注解缓存操作(11)
    Spring RedisTemplate操作-通道操作(10)
    Spring RedisTemplate操作-事务操作(9)
    Spring RedisTemplate操作-发布订阅操作(8)
    Spring RedisTemplate操作-HyperLogLog操作(7)
    Spring RedisTemplate操作-Set操作(5)
    Spring RedisTemplate操作-ZSet操作(6)
    Spring RedisTemplate操作-List操作(4)
    Spring RedisTemplate操作-哈希操作(3)
    Spring RedisTemplate操作-String操作(2)
  • 原文地址:https://www.cnblogs.com/zero-zyq/p/10180291.html
Copyright © 2011-2022 走看看