Управление рейтингом записей через apex в salesforce.com - PullRequest
0 голосов
/ 28 декабря 2010

У меня есть требование, по которому я хотел бы получить информацию. Мне нужно иметь поле «Ранг учетной записи», которое не будет включать все учетные записи, и мне нужно будет иметь возможность добавлять в пул, удалять из пула и изменять рейтинг. Моя проблема в том, что каждый раз, когда я удаляю запись из пула или перемещаю ее на новую позицию, все записи после (которые могут достигать 10 000) должны будут перемещаться вверх или вниз. Salesforce имеет ограничения на отдельные обновления в 200 раз, или вы можете разделить его на партии до миллиона. Моя проблема с партиями заключается в том, что я не смогу гарантировать, что люди не будут обновлять более 5 записей за короткое время, поэтому превышение пределов продаж для общего числа разрешенных партий.

Кто-нибудь имел дело с этими вопросами, и есть ли у вас какие-либо предложения для лучшего подхода?

Ответы [ 3 ]

0 голосов
/ 30 декабря 2010

Это сложный вопрос ... Можете ли вы переосмыслить это на что-то более похожее на SFDC? Что делать, если вы должны составить ряды на динамичном пути? Например, вы можете создать систему голосования или какую-нибудь систему оценок, и SFDC рассчитает рейтинг для вас.

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

[ВЫБРАТЬ ID ИЗ УЧЕТНОЙ ЗАПИСИ, ГДЕ _ ЗАКАЗАТЬ ПО ГОЛОСОВАНИЮ1, Голосовать2,]

0 голосов
/ 05 января 2011

Если вы измените свою модель данных, это должно сделать это довольно легко, например

  1. Создайте объект ранжирования Ranking__c и свяжите его с объектом Account.
  2. Для каждого типа ранга или числа создать запись с подробностями.
  3. Связать соответствующую учетную запись записи с соответствующими Рейтинг__c рекорд

Когда пришло время обновить рейтинг Аккаунтов, просто измените записи Ranking__c вместо записей Аккаунтов. Это должно значительно сократить количество записей, которые вам нужно будет просмотреть.

0 голосов
/ 29 декабря 2010

(я бы опубликовал это как комментарий, но я новичок и пока не могу этого сделать. Извините).

Я не могу придумать хороший способ смоделировать это так, как вы описываете, не прибегая к какой-то довольно нестандартной вершине, используя @future или batch, или не имея собственной интеграции, которая выполняет этот пересчет через API Salesforce.

Что определяет рейтинг аккаунта? Можете ли вы рассчитать его внутри поля формулы?

...