5

このアプリケーションでは、数千の通話レコードを作成します。各通話には、いくつかの基準に基づいてランダムな SystemUser を見つける GetAnyAppropriateSystemUser() という名前のメソッドによって決定される、異なる所有者が必要です。

以下のコード例では、電話を作成し、後で 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 レコードの「所有者 ID」を設定するだけでよいので、後で AssignRequest を呼び出す必要がなくなりますか? それは機能しているようで、以下に示すように、SDK で同様のことを行う例を見つけました。

SDK サンプル: 目標収益に対するカスタム期間の目標データの積み上げ集計

// 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);

動作しているように見えますが、新しいレコードを作成する前に ownerid を設定する場合に注意する必要があることはありますか? 違いはありますか?

事前にどうもありがとうございました。

4

1 に答える 1

5

すでにわかっているように、レコードを作成するときに所有者 ID を設定できます。

ただし、同じ方法で既存のレコードの所有者を編集することはできません。その場合は、AssignRequest.

この質問も確認してください: ETL ソフトウェア、連絡先の所有者を取得できません

于 2013-04-09T09:06:38.033 に答える