angularjs - 循环访问 Salesforce 帐户

标签 angularjs salesforce apex

我是一名新开发人员,我有一项需要完成的任务,但我完全不知道如何解决。这是一个 Angular 日历应用程序。我在这个大项目中的任务是简单地使其发挥作用,以便当用户在搜索查询中键入一个字段时,它会针对特定的“Agency”和“MasterAgency”帐户进行搜索,而不是针对所有帐户进行搜索。所以这是一个 Apex 的 Angular 应用程序。我创建了一个 RecordHelper 类,下面是一个片段:

public static Set<Id> getAgencyRecordTypeIds(){
        Set<Id> recordTypeIds = new Set<Id>();
        recordTypeIds.add(GetRecordTypeIdByDeveloperName('Account','Agency'));
        recordTypeIds.add(GetRecordTypeIdByDeveloperName('Account','MasterAgency'));

        return recordTypeIds;
    }

然后我创建了另一个类,以便我可以使用 remoteAction 将它传递给 Angular,代码片段如下所示:
@RemoteAction
    public static Set<Id> passRecordsIds() {
        Set<Id> fetchRecordTypeIds = RecordTypeHelper.getAgencyRecordTypeIds();
        return fetchRecordTypeIds;
    }

然后我使用 .vfr 方法将此远程操作结果传递给 Angular。这是它的 Angular 代码:
var passRecordsIds = vfr.send('S1_PAV_CalendarController.passRecordsIds', $scope.data.SFSendOpts, false);
            passRecordsIds().then(function(result){
                                        $scope.typeRecord = result;
                                        $log.debug($scope.typeRecord);
                                    }
                                    ,function(error){
                                        $log.error('passRecordsIds error');
                                        $log.error(error);
                                        $window.alert(error.message);
        });

所以我遇到的问题是在我的 Angular 代码中,我需要修改 Query 语句,以便它仅针对 Account 和 MasterAccount 进行搜索。我认为我在 AND 语句之后的查询是完全错误的。我的老板说我需要遍历它,但我不知道如何解决这个问题。
var queryString = $scope.ACCOUNT_SELECT_PART + "  FROM Account WHERE" + " (Name Like '%" + searchTerm + "%' OR Safeco_Sub_Stat__c  Like '%" + searchTerm + "%') AND RecordTypeId IN ('Agency', 'MasterAgency')";

我原来写过
var queryString = $scope.ACCOUNT_SELECT_PART + "  FROM Account WHERE" + " (Name Like '%" + searchTerm + "%' OR Safeco_Sub_Stat__c  Like '%" + searchTerm + "%') AND typeRecord IN :passRecordsIds"; 

但它不起作用,老板说这是不正确的,我需要包含字段名称RecordTypeId。
我知道我跳过了很多代码,但这些是我所做的修改。任何帮助将不胜感激。
谢谢

最佳答案

我认为你需要结合你的两次尝试。试试下面的代码,因为我相信你想要的记录类型的 id 是 int passRecordIds。

var queryString = $scope.ACCOUNT_SELECT_PART + "  FROM Account WHERE" + " (Name Like '%" + searchTerm + "%' OR Safeco_Sub_Stat__c  Like '%" + searchTerm + "%') AND RecordTypeId IN : passRecordsIds";

关于angularjs - 循环访问 Salesforce 帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38058373/

相关文章:

php - 销售人员在一次通话中保存相关对象

java - 为什么 Apex 在这个集合上向后迭代?

Salesforce:如何使用顶点代码或公式获取日期字段中的周数(检查第 53 周)

c# - 我如何使用 API 从 Salesforce 获取联系人的销售额?

python - 如何使用 Beatbox 或 simple-salesforce 在 Salesforce 中创建自定义表格?

javascript - 了解 java/apex 复杂三元运算符

javascript - 参数如何通过 Ionic Modal 传递?

javascript - AngularJS:无法解析指令 Controller 中的服务

angularjs - Angular 翻译从服务器获取默认语言决定

javascript - 为 Angular 中的字典生成的下拉菜单设置 ng-model