2

ここで私を助けてくれる人がいることを願っています。複数のエンティティ (メンバー) をマーケティング リストに追加するための短いコードを提供する記事を見つけました。ここまでは順調ですね。私はこの問題に遭遇しています。マーケティング メンバー リスト内に別のマーケティング リスト (取引先担当者、取引先、または見込み客を含む) を取得するカスタム ルックアップ フィールドがあります。次に、これらのメンバーを新しいマーケティング リストに移行 (追加) する必要があります。私が持っているコード:

  1. AddListMembersListRequest request = new AddListMembersListRequest();
  2. request.ListId = Origmarketing_List_Id.Id;  
  3. request.MemberIds = new Guid[1];
  4. request.MemberIds[0] = guid;
  5. AddListMembersListResponse resp = (AddListMembersListResponse)service.Execute(request);   

2 行目は EntityReference (別のマーケティング リストを取得するルックアップ フィールド) から取得した ID です。現在、設定している 3 行目と 4 行目は、私が本当に混乱しているものですが、それでもここで正しいと確信しています。 listmemberid に設定しているためです。この例では、それがどのように機能するかを試してみたいという 1 つの理由がありました。4 行目の bdw の guid は正しい値を取得し、コードの先頭で宣言されています (正しい値を取得することを確認するためだけに別のフィールドに出力しました)。また、複数のエンティティを追加したいときにこれを行う方法を誰かに教えてもらえますか? ありがとう。操作前(作成)にプラグインを登録しています。また、プラグイン自体はエラーを発生させませんが、新しいリストにメンバーを追加していないようです. ここで誰かが私を助けてくれれば、本当に感謝しています。

4

1 に答える 1

5

まず、作成されたエンティティの GUID をまだ持っていないため、イベントを操作後に変更します。実際には、エンティティ自体も持っていないため、操作前と呼ばれます。複数のエンティティを追加するには、次のコードのように GUID 配列を渡してみてください。

    // Setup the CrmConnection and OrganizationService instances
    CrmConnectionInstance = new CrmConnection(ConfigurationConstants.CrmConnectionName);
OrgServiceInstance = new OrganizationService(CrmConnectionInstance);
    // Create the marketing list 
    Guid NewMarketingListId = Guid.Empty; 
    Microsoft.Xrm.Sdk.Entity CurrentList = new Microsoft.Xrm.Sdk.Entity(MarketingListConstants.MarketingListEntityName); 
    CurrentList[MarketingListConstants.MarketingListTypeAttribute] = false; 
    CurrentList[MarketingListConstants.ListNameAttribute] = "NameOfList"; 
    // For contacts, a value of 2 should be used. 
    CurrentList[MarketingListConstants.CreatedFromCodeAttribute] = new OptionSetValue(2); 
    // Actually create the list 
    NewMarketingListId = OrgServiceInstance.Create(CurrentList); 
    // Use the AddListMembersListRequest to add the members to the list 
    List<Guid> MemberListIds = new List<Guid>(); 
    // Now you'll need to add the Guids for each member to the list  
    // I'm leaving that part out as adding values to a list is very basic. 
    AddListMembersListRequest AddMemberRequest = new AddListMembersListRequest(); 
    AddMemberRequest.ListId = NewMarketingListId; 
    AddMemberRequest.MemberIds = memberIds.ToArray(); 
    // Use AddListMembersListReponse to get information about the request execution 
    AddListMembersListResponse AddMemberResponse = OrgServiceInstance.Execute(AddMemberRequest) as AddListMembersListResponse;
于 2012-05-16T06:42:34.043 に答える