首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用刚创建的用户记录的id设置查找字段?

如何使用刚创建的用户记录的id设置查找字段?
EN

Stack Overflow用户
提问于 2018-07-29 03:04:52
回答 1查看 292关注 0票数 0

我正在找error - no service provision,有经验的人请帮帮我。

代码语言:javascript
复制
    var clinic = new new_clinic();
            clinic.new_name = "Medinet";

            Account trust = new Account();
            trust.Name = "bIRMINGHAM CITY hOSPITAL";
            Guid trustID = (Guid)Service().Create(trust);

            CrmEntityReference clinic_trust = new CrmEntityReference(trust.LogicalName, trustID);
            clinic.new_Trust = clinic_trust;
            clinic.new_ClinicDate = DateTime.Now;

            new_hospital hospital = new new_hospital();
            hospital.new_name = "Geek-guru";
            Service().Create(hospital);
            Guid hospitalID = (Guid)hospital.Id;
            clinic.new_HostingHospital = new CrmEntityReference(hospital.LogicalName, hospitalID);

            clinic.new_ClinicDate = new DateTime(2018, 07, 28);

            new_serviceprovision ser_contract = new new_serviceprovision();
            ser_contract.new_Trust = clinic_trust;
            ser_contract.new_Specialty = new OptionSetValue(100000018);
            Service().Create(ser_contract);
            Guid ser_con_id = (Guid)ser_contract.Id;
            clinic.new_ServiceContract = new CrmEntityReference(ser_contract.LogicalName, ser_con_id);

            // Account account =  (Account)GetOrgService().Retrieve(trust.LogicalName, trustID, new Microsoft.Xrm.Sdk.Query.ColumnSet("name"));

            //retreive the default business unit needed to create the user
            QueryExpression businessUnitQuery = new QueryExpression
            {
                EntityName = BusinessUnit.EntityLogicalName,
                ColumnSet = new ColumnSet("businessunitid"),
                Criteria = { Conditions = { new ConditionExpression("parentbusinessunitid", ConditionOperator.Null) } }
            };

            BusinessUnit businessUnit = Service().RetrieveMultiple(businessUnitQuery).Entities[0].ToEntity<BusinessUnit>();



            //creating a user
            SystemUser systemUser = new SystemUser();
            systemUser.DomainName = "" + "Chika";
            systemUser.FirstName = "Olabajo";
            systemUser.LastName = "Boss";
            systemUser.InternalEMailAddress = "onyebuchi@gmail.com";
            systemUser.BusinessUnitId = new EntityReference(BusinessUnit.EntityLogicalName, businessUnit.Id);
            Guid systemID = (Guid)Service().Create(systemUser);

           // systemUser = (SystemUser)Service().Retrieve(systemUser.LogicalName, systemID, new Microsoft.Xrm.Sdk.Query.ColumnSet("fullname"));

            //this field is a lookup field to User. Assigned to the user created above
            clinic.new_ClinicCoordinator = new CrmEntityReference(systemUser.LogicalName, systemID);

            clinic.new_BookedBy = new OptionSetValue(100000001);
            clinic.new_Type1 = new OptionSetValue(100000008);
            clinic.new_Type2 = new OptionSetValue(100000001);
            clinic.new_NumberofConsultants = 5;
            clinic.new_NumberofNursesSuppliedByTrust = 6;


            Service().Create(clinic);//getting error here
            MessageBox.Show("Sucessfully added a clinic record");

我已经用了几个星期了,如果能帮上点忙我会很感激的。我现在有“没有serviceprivison问题”,一个用户现在已经创建,但仍然得到错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-29 08:45:49

  1. Go按部就班。你已经完成了3件事情,比如创建用户,检索FullName列,然后更新clinic.new_ClinicCoordinator字段。注释掉这两个步骤&验证用户是否正在创建,如果创建成功,则检索下一步(这不是必需的,因为您已经有了更新所需的systemID )
  2. 使用try catch在代码

中进行更好的异常处理

编辑:无法在代码中创建CRM online交互式用户。Read more

更新:

合并以下行,因为ser_contract对象不会用创建的Guid更新回来。对hospitalID也执行同样的操作。

代码语言:javascript
复制
Service().Create(ser_contract);
Guid ser_con_id = (Guid)ser_contract.Id;

这应该是可行的:

代码语言:javascript
复制
Guid ser_con_id = Service().Create(ser_contract);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51574393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档