2010-12-28 2 views
0

일부 입력을 원합니다. 모든 계정을 포함하지 않는 "계좌 순위"필드가 있어야하며 풀에 추가하고 풀에서 제거하고 순위를 변경할 수 있어야합니다. 내 문제는 내가 풀에서 레코드를 제거하거나 새로운 위치로 이동할 때마다 모든 레코드 (최대 10,000 개가 될 수 있음)를 위아래로 이동해야한다는 것입니다. Salesforce에는 한 번에 200 건의 개별 업데이트에 대한 제한이 있으며 최대 100 만 개까지 배치 할 수 있습니다. 일괄 처리에 대한 제 관심사는 사람들이 짧은 시간에 5 개 이상의 레코드를 업데이트하지 않을 것이므로 허용 된 일괄 처리 수에 대한 판매 수 제한을 초과하게됩니다.salesforce.com의 apex를 통해 레코드 순위 관리

누구나 이러한 문제를 처리했으며 최상의 접근 방법에 대한 제안이 있습니까?

답변

0

(이 글은 댓글로 게시하고 싶습니다. 그러나 새롭고 아직 할 수 없습니다.)

@future 또는 배치를 사용하여 꽤 정교한 꼭지점을 사용하거나 salesforce API를 통해이 재 계산을 수행하는 자체 통합을 사용하지 않고 설명하는 방식으로 모델을 작성하는 좋은 방법을 생각할 수 없습니다.

계급 결정은 무엇입니까? 수식 필드에서 계산할 수 있습니까?

0

어려운 문제입니다. SFDC와 비슷한 방식으로 생각해볼 수 있습니까? 당신이 다이나믹 방식으로 순위를 생성한다면 어떨까요? 예를 들어 투표 시스템 또는 일부 등급 시스템을 만들고 SFDC에서 순위를 계산하도록 할 수 있습니다.

의 당신이 등급은 다음과 같은 SOQL 쿼리가 제공 하나 이상의 필드가 있다고 가정 해 봅시다 :

[계정에서 SELECT ID를 WHERE _ Vote1, Vote2, BY ORDER]

0

하는 경우 데이터 모델을 변경하면 매우 간단합니다.

  1. 순위 개체 Ranking__c을 만들고이를 Account 개체와 연결합니다.
  2. 각 순위 유형 또는 숫자에 대해 레코드를 작성하십시오.
  3. 는 해당 Ranking__c 기록은 단지 Ranking__c 기록 대신에 계정 레코드를 변경 순위를 계정을 업데이트 할 시간

에 해당 계정을 기록을 연결합니다. 이렇게하면 넘쳐야 할 레코드 수가 대폭 줄어 듭니다.