当前位置:  开发笔记 > 编程语言 > 正文

使用Webservice查询检索Dynamics CRM自定义字段

如何解决《使用Webservice查询检索DynamicsCRM自定义字段》经验,为你挑选了1个好方法。

我正在尝试从CRM安装中提取信息,到目前为止,这对于使用默认字段很好.但是我在检索自定义字段时遇到了困难,例如,Contacts有一个名为web_username的自定义字段.

我目前的代码是

        QueryExpression query = new QueryExpression();
        query.EntityName = "contact";
        ColumnSet cols = new ColumnSet();
        cols.Attributes = new string[] { "firstname", "lastname" };
        query.ColumnSet = cols;

        BusinessEntityCollection beReturned = tomService.RetrieveMultiple(query);
        foreach (contact _contact in beReturned.BusinessEntities)
        {
            DataRow dr = dt.NewRow();
            dr["firstname"] = _contact.firstname;
            dr["lastname"] = _contact.lastname;
            dt.Rows.Add(dr);
        }

如何在查询中包含自定义字段?我已经尝试过搜索但没有运气但我可能会错误地搜索,因为我不熟悉CRM术语.

提前干杯!



1> Fishcake..:

我已经能够解决这个问题了.如果它对任何人都有用,这就是我所做的.除了我已将自定义字段添加到ColumnSet之外,该查询与之前一样设置.

cols.Attributes = new string[] { "firstname", "lastname", "new_web_username" };

然后将RetrieveMultipleResponse和Request与ReturnDynamicEntities设置为true

        RetrieveMultipleResponse retrived = new RetrieveMultipleResponse();

        RetrieveMultipleRequest retrive = new RetrieveMultipleRequest();
        retrive.Query = query;
        retrive.ReturnDynamicEntities = true;

        retrived = (RetrieveMultipleResponse)tomService.Execute(retrive);

如果有更好的方法让我这样做,请仍然评论.

编辑 如果您投射到联系人,请使用我原始问题中的示例

contact myContact = (contact)myService.Retrieve(EntityName.contact.ToString(), userID, cols);

然后,您可以访问该对象的属性

                phone = myContact.telephone1;
            password = myContact.new_password;

如果您更新了您在CRM中添加的CRM Web引用自定义字段,则可以使用.

推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有