Ich bin ein neuer Entwickler und habe eine Aufgabe, die ich erledigen muss, und ich weiß nicht genau, wie ich damit umgehen soll. Dies ist eine eckige Kalender App. Und meine Aufgabe in diesem großen Projekt besteht darin, es so einzurichten, dass ein Nutzer, der ein Feld in die Suchanfrage eingibt, nach einem bestimmten "Agency" - und "MasterAgenty" -Konto sucht, anstatt nach allen Konten zu suchen. Dies ist also eine Apex, Angular-Anwendung. Ich habe eine RecordHelper Klasse und hier ist ein Ausschnitt unten:Durchforsten von Salesforce-Konten
public static Set<Id> getAgencyRecordTypeIds(){
Set<Id> recordTypeIds = new Set<Id>();
recordTypeIds.add(GetRecordTypeIdByDeveloperName('Account','Agency'));
recordTypeIds.add(GetRecordTypeIdByDeveloperName('Account','MasterAgency'));
return recordTypeIds;
}
Dann habe ich eine andere Klasse erstellt, so dass ich die remoteAction es auf Angular passieren können, Schnipsel unten dargestellt:
@RemoteAction
public static Set<Id> passRecordsIds() {
Set<Id> fetchRecordTypeIds = RecordTypeHelper.getAgencyRecordTypeIds();
return fetchRecordTypeIds;
}
Dann habe ich Verwenden Sie eine .vfr-Methode, um diese Remoteaktionsergebnisse an Angular zu übergeben. Hier ist der Winkel Code dafür:
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);
});
Also, wo ich stecken bin, ist, dass in meinem Angular Code, ich brauche die Abfrage-Anweisungen zu ändern, damit es sucht gegenüber dem Konto und MasterAccount nur. Ich denke, meine Abfrage nach der AND-Anweisung ist völlig falsch. Mein Chef hat gesagt, dass ich es durchgehen muss, aber ich weiß nicht, wie ich das angehen soll.
var queryString = $scope.ACCOUNT_SELECT_PART + " FROM Account WHERE" + " (Name Like '%" + searchTerm + "%' OR Safeco_Sub_Stat__c Like '%" + searchTerm + "%') AND RecordTypeId IN ('Agency', 'MasterAgency')";
Ich hatte ursprünglich
geschriebenvar queryString = $scope.ACCOUNT_SELECT_PART + " FROM Account WHERE" + " (Name Like '%" + searchTerm + "%' OR Safeco_Sub_Stat__c Like '%" + searchTerm + "%') AND typeRecord IN :passRecordsIds";
Aber es hat nicht funktioniert und der Chef sagte, es sei falsch, und dass ich brauchte den Feldnamen RecordTypeId aufzunehmen. Ich weiß, ich habe eine Menge Code übersprungen, aber das sind die Änderungen, die ich gemacht habe. Jede Hilfe würde sehr geschätzt werden. Danke
Ihre Frage mit einem Beispiel für die Daten neu zu schreiben (voll geblasen) Sie möchten holen und die Abfrage Sie verwenden. weil ich glaube nicht, dass jemand hier versteht, was Sie versuchen zu tun – Sam
Hallo Sam, können Sie bitte erklären, was Sie mit "Beispiel für Daten (vollständig durchgebrannt)" meinen? Ich selbst kenne mich nicht gut aus, ich versuche nur mit dem Teilcode zu arbeiten, den meine Firma mir gegeben hat. – afzaaldeveloper1
Ich bin kein Salesforce-Typ, aber werfen Sie einen Blick auf diese Frage http://stackoverflow.com/questions/21059620/salesforce-apex-query-accounts-based-on-activity-history?rq=1 – Sam