2013-04-09 11 views
5

アプリケーションでは、数千の電話帳レコードを作成します。各電話機は、いくつかの基準に基づいていくつかのランダムなSystemUserを検出するGetAnyAppropriateSystemUser()というメソッドによって決定される異なる所有者を持つ必要があります。CRM 2011でAssignRequestを呼び出さずに特定の所有者で新しいレコードを作成

以下のコード例では、フォーンコールを作成し、後でその所有者を指定するためにAssignRequestを使用します。

PhoneCall phoneCall = new PhoneCall(); 

// 
// stuff to set up the new PhoneCall instance here; populate fields, etc... 
// 

// determine this phonecall's owner through some algorithm 
Guid appropriateOwner = GetAnyAppropriateSystemUser(); 

Guid createdPhoneCallId = _serviceProxy.Create(phoneCall); 
if (createdPhoneCallId != Guid.Empty) 
{ 
    AssignRequest phoneCallAssign = new AssignRequest(); 
    phoneCallAssign.Assignee = new EntityReference(SystemUser.EntityLogicalName, appropriateOwner); 
    phoneCallAssign.Target = new EntityReference(PhoneCall.EntityLogicalName, createdPhoneCallId); 
    _serviceProxy.Execute(phoneCallAssign); 
} 

これは問題なく動作しますが、2つの呼び出し、作成する呼び出し、割り当てを行う呼び出しがあります。 Create()メソッドを呼び出す前にPhoneCallレコードの "ownerid"を設定するだけでよいので、後でAssignRequestを呼び出す必要はありませんか?それはうまくいくように思えますし、以下に示すように、SDKでも同様のことをする例が見つかりました。

SDKサンプル:動作しているようですが、私たちが作成する前にOWNERID設定されている場合を知っていなければならないものがあり、ターゲット収益

// Create three goals: one parent goal and two child goals. 
Goal parentGoal = new Goal() 
{ 
    Title = "Parent Goal Example", 
    RollupOnlyFromChildGoals = true, 
    ConsiderOnlyGoalOwnersRecords = true, 
    TargetMoney = new Money(300.0M), 
    IsFiscalPeriodGoal = false, 
    MetricId = new EntityReference 
    { 
     Id = _metricId, 
     LogicalName = Metric.EntityLogicalName 
    }, 
    GoalOwnerId = new EntityReference 
    { 
     Id = _salesManagerId, 
     LogicalName = SystemUser.EntityLogicalName 
    }, 
    OwnerId = new EntityReference 
    { 
     Id = _salesManagerId, 
     LogicalName = SystemUser.EntityLogicalName 
    }, 
    GoalStartDate = DateTime.Today.AddDays(-1), 
    GoalEndDate = DateTime.Today.AddDays(30) 
}; 
_parentGoalId = _serviceProxy.Create(parentGoal); 

に対するカスタム期間の目標データをロールアップ新記録?相違はありますか?

ありがとうございます。

答えて

5

すでに作成されているので、レコードの作成時にowneridを設定することができます。

既存のレコードのオーナーを同じ方法で編集することはできません。その場合は、AssignRequestを使用する必要があります。

この質問をもチェック: ETL Software, can't retrieve owner of a contact

関連する問題