循环访问 Salesforce 帐户
Looping through Salesforce Accounts
我是一名新开发人员,我有一项任务需要完成,但我完全不知道如何处理。这是一个 angular 日历应用程序。我在这个大项目中的任务是简单地让它发挥作用,以便当用户在搜索查询中键入一个字段时,它会搜索特定的 "Agency" 和 "MasterAgency" 帐户,而不是搜索所有帐户.所以这是一个 Apex,Angular 应用程序。我创建了一个 RecordHelper class 下面是一个片段:
public static Set<Id> getAgencyRecordTypeIds(){
Set<Id> recordTypeIds = new Set<Id>();
recordTypeIds.add(GetRecordTypeIdByDeveloperName('Account','Agency'));
recordTypeIds.add(GetRecordTypeIdByDeveloperName('Account','MasterAgency'));
return recordTypeIds;
}
然后我创建了另一个 class 以便我可以使用 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 代码中,我需要修改查询语句,以便它只搜索帐户和 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";
我是一名新开发人员,我有一项任务需要完成,但我完全不知道如何处理。这是一个 angular 日历应用程序。我在这个大项目中的任务是简单地让它发挥作用,以便当用户在搜索查询中键入一个字段时,它会搜索特定的 "Agency" 和 "MasterAgency" 帐户,而不是搜索所有帐户.所以这是一个 Apex,Angular 应用程序。我创建了一个 RecordHelper class 下面是一个片段:
public static Set<Id> getAgencyRecordTypeIds(){
Set<Id> recordTypeIds = new Set<Id>();
recordTypeIds.add(GetRecordTypeIdByDeveloperName('Account','Agency'));
recordTypeIds.add(GetRecordTypeIdByDeveloperName('Account','MasterAgency'));
return recordTypeIds;
}
然后我创建了另一个 class 以便我可以使用 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 代码中,我需要修改查询语句,以便它只搜索帐户和 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";