database - Salesforce 记录类型和机会阶段关系数据库位置

标签 database salesforce

我正在尝试构建一个视觉力页面,您可以在其中选择一个机会,然后选择与该机会相关的阶段。机会保存在表 RecordTypes 中,阶段保存在表 OpportunityStage 中。

关系保存在哪个表中?

最佳答案

RecordTypes 不是表格,它们实际上是为特定对象定义的一组类型,因此该对象的任何记录(例如任何机会)都可以具有其中一种类型。它基本上是对象上的一个 super 特殊字段,用于驱动整个行为堆——您可以为每种记录类型设置不同的页面布局、不同的选择列表值,您可以自定义验证规则等。

阶段再次成为 Salesforce 配置的“特殊”部分,因为它们属于销售流程,我相信可用的值取决于记录类型(即它们就像一个选择列表)。

长话短说,您无需担心这些字段之间的任何关系,在数据库术语中它们是机会表中的列,在 SFDC 术语中它们是机会对象中的字段。

编辑 澄清要求后,即需要两个机会的可用阶段名称。

无需任何描述信息即可轻松使用 Visualforce。

确保您的销售流程已定义并链接到机会的适当记录类型(听起来这已经完成了)。接下来,只需使用自定义 Controller (或 Controller 扩展)加载所需的机会——您可以通过页面参数指定它们,如下所示,尽管这是一个人为的示例,不包括任何错误处理等(或机会选择):

public with sharing class DualOpptyController
{
    public Opportunity oppty1 {get; set;}
    public Opportunity oppty2 {get; set;}

    public DualOpptyController()
    {
        oppty1 = [select Id, StageName from Opportunity where id = : ApexPages.currentPage().getParameters().get('o1')];
        oppty2 = [select Id, StageName from Opportunity where id = : ApexPages.currentPage().getParameters().get('o2')];
    }
}

然后简单地使用<apex:inputField>StageName页面上的字段:

<apex:page controller="DualOpptyController">
    <apex:form >
        <apex:inputField value="{!oppty1.StageName}"/>
        <apex:inputField value="{!oppty2.StageName}"/>
    </apex:form>
</apex:page>

当您想搜索帐户时,您可以使用 StageName两个领域 opptyoppty2在你的 Controller 中。查询将类似于以下内容(未经测试):

[Select Id, Name, (select Id, Name from Opportunities where StageName in : liStageNames) from Account]

当然,这个问题是它会返回所有帐户,所以我认为你最好搜索 Opportunity其中 StageName等于oppty1返回相关详细信息以及关联的帐户 ID。 然后 进行第二次查询以查找机会 StageName等于oppty1帐户 ID 位于第一个查询中的帐户 ID 集中。您仍然可能会遇到返回过多记录的问题,因此您可能会找到一种方法来改进此方法,或者您也可以指定其他参数(例如,本月结束的机会)。

关于database - Salesforce 记录类型和机会阶段关系数据库位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8560522/

相关文章:

php - 将 .txt 文件的最后 25 行发布到网站?

c++ - 如何通过函数 C++ 链接数组值

.net - 站点 "Notes And Attachments"的 Salesforce SOQL 查询

c# - Salesforce SOAP 创建记录

java - VisualForce 编程不会产生输出

php - MySQL 错误代码 1054 ......需要帮助的新手

mysql - 使用 Ruby on Rails 进行安全/更好的 SQL 查询

mysql - 将数据和索引数据保存在内存中——InnoDB 与 MyISAM

PostgreSQL 在选择查询中转义 Microsoft 特殊字符

python-2.7 - 使用 python 导入 Salesforce 报告数据