1

CRM ビューを使用して、特定のアカウントにリンクされたすべてのアクティビティのリストを取得する方法はありますか?

アカウントに直接関連付けられているものだけでなく、アカウントの連絡先、ケースなどに関連付けられているものも取得したいと考えています。アカウント内から [アクティビティ] オプションをクリックしたときに生成されるリストを複製しようとしています。

これまでのところ、アカウントの連絡先とその活動を取得しました。また、CRM が期待どおりの結果を返すとは限らないことにも気付きました。アカウントの連絡先に関連するアクティビティが表示されないことがあります。それ以外の場合は、アカウントに論理的に関連しているが、aboutobjectid フィールドに何もないメール/予定が表示されます。

これが、すべての結合の母を作成したり、各アクティビティ タイプを個別にクエリしたりすることを意味しないことを願っています。特に、関連するすべてのケース アクティビティ、商談アクティビティなどが必要なためです。

4

3 に答える 3

1

タスクを実行するには、ロールアップリクエストを使用する必要があります(SDK Webサービスを使用している場合)。

ロールアップアクションMicrosoftDynamicsCRMには、アカウントなどのエンティティインスタンスを開き、アカウントの関連レコード(商談、見積もり、注文、請求書、契約、ケース)に関する情報だけでなく、情報も検索できる強力なロールアップメッセージがあります。アカウントのサブアカウントと連絡先の関連レコードについて。

もっと:

TargetRollupActivityPointerByAccountクラス(CrmService)指定されたアカウントに関連するすべてのアクティビティを取得するために必要なパラメーターを指定します。

于 2009-01-05T10:19:52.717 に答える
0

私はこのようなものを使用しました。事実上、検索するアイテム(私の場合はアカウントと連絡先)のすべてのGUIDを使用してテーブル変数を作成し、アクティビティのパーティであるすべてのアクティビティについてAcitivtyPartyにクエリを実行します。次に、Activityに移動して詳細を取得します。

Declare @account_guid varchar(200)
Select @account_guid = 'insert some guid here'

Declare @GUIDS as Table(id varchar(200), fullname varchar(200), objecttype char(2)) 
Declare @ActivityIds as Table(id varchar(200))

--grab all guids we need activities for
    Insert Into @GUIDS
    Select contactid, fullname, 'C'
    From FilteredContact
    Where accountid = @account_guid
    UNION ALL
    Select accountid, [name], 'A'
    From FilteredAccount
    Where accountid = @account_guid 

--find all activities where the account/contact are referred to
Insert Into @ActivityIds
Select activityid
From FilteredActivityParty fap
Join @GUIDS g on g.id=fap.partyid
Group By activityid

Select *
From FilteredActivityPointer fap
Join @ActivityIds a on fap.activityid = a.id
Where statecode<>2 --hide canceled items
于 2008-12-29T18:12:17.707 に答える