アプリケーションでは、数千の電話帳レコードを作成します。各電話機は、いくつかの基準に基づいていくつかのランダムな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);
に対するカスタム期間の目標データをロールアップ新記録?相違はありますか?
ありがとうございます。