2012-05-06 2 views
2

Я создал простую страницу класса и визуальной силы, которая отображает «группу». Выходной сигнал является совершенным, он будет отображать количество возможностей данная учетная запись имеет:Как я могу переназначить возможности в Salesforce на основе количества возможностей для каждой учетной записи?

lstAR = [ select Account.Name AccountName, AccountId, Count(CampaignID) CountResult from Opportunity where CampaignID != null group by Account.Name,AccountId having COUNT(CampaignID) > 0 LIMIT 500 ]; 

Я хотел бы быть в состоянии сказать, если учетная запись имеет более 10 возможностей, а затем назначить возможность на другой счет, что имеет менее 10

Я использовал следующий код, чтобы получить результаты в моей визуальной силы страницы:

public list<OppClass> getResults() { 
    list<OppClass> lstResult = new list<OppClass>(); 
    for (AggregateResult ar: lstAR) { 
    oppClass objOppClass = new oppClass(ar); 

     lstResult.add(objOppClass); 
    } 

    return lstResult; 
} 

class oppClass { 
    public Integer CountResult { get;set; } 

    public String AccountName { get;set; } 

    public String AccountID { get;set; } 

    public oppClass(AggregateResult ar) { 
    //Note that ar returns objects as results, so you need type conversion here 
    CountResult = (Integer)ar.get('CountResult'); 

    AccountName = (String)ar.get('AccountName'); 
    AccountID = (String)ar.get('AccountID'); 
    } 

что бы лучший подход, чтобы проверить счетчик больше чем заданное число, а затем ассоциировать счет с меньшим, чем данный номер, opp ortunities?

Как я уже сказал, код мудрый У меня есть хороший небольшой контроллер и vf-страница, которая будет отображать учетную запись и подсчитывать в сетке. Просто не уверен в хорошем подходе к возможности переназначения.

Благодаря Frank

+2

Не ответ, но я просто любопытно - что объекты Возможность представления в вашей бизнес-модели? «Назначение возможности для учетной записи с менее чем 10 возможностями» - очень необычное требование в мире SFDC. – jkraybill

ответ

0

Я не уверен, почему вы бы двигая возможность другого счета б/с, как правило, учетной записью является организация/лица для покупки вещи? Но что сказал, не обращая внимания, почему и сосредоточиться на том, как ...

Trigger на возможность, перед тем вставить

петлю на trigger.new и подсчитать, сколько oppties у вас есть за счет (или владельца) в что пакет, поместите это в карточку accountId, чтобы подсчитать [потому что вы можете вставлять 10 опций для одной и той же учетной записи!]. Если когда-либо ваш счетчик> 10, измените назначение, используя любой вспомогательный класс назначения, который у вас есть. Также укажите набор учетных записей.

Затем запустите свой агрегат для каждой учетной записи, где Id в наборе учетных записей, вам придется группировать AccountId.

Пройдите по результатам и обновите карту счета, чтобы подсчитать.

Затем перейдите через trigger.new и для каждого пута, посмотрите на карту по счетуИсточник. Если счетчик> 10, то выполняйте свое задание с помощью вспомогательного класса.

И сделано.

Конечно, ваш вспомогательный класс назначения - это еще одна проблема для решения проблемы - как вы узнаете, какую учетную запись/пользователя назначить возможность, собираетесь ли вы использовать очереди, пользовательские объекты, пользовательские настройки для управления правилами и т. Д. .

но понятие выше должно работать ...

Смежные вопросы