Workflow 如何使用CRM Dynamics 4.0中已知的字符串值动态设置第二个选择列表值

Workflow 如何使用CRM Dynamics 4.0中已知的字符串值动态设置第二个选择列表值,workflow,dynamics-crm,dynamics-crm-4,workflow-activity,Workflow,Dynamics Crm,Dynamics Crm 4,Workflow Activity,我在汽车详细信息实体中有两个选择列表。我正在使用自定义工作流活动的输入参数(即CrmNumber)设置模型(cir\u Model)选取列表值,并且它按预期工作,第二个选取列表选取(cir\u Marque)将使用模型选取列表进行逻辑设置 如果模型设置为“Ac Ace”,则逻辑应为,则品牌应设置为“Ac”。使用字符串“Ac Ace”中的Split()获取值“Ac” 通常在C#中,这很容易做到,但在CRM 4.0中,如何实现这一点(我将如何将“Ac”设置为Marque) 公共静态Dependen

我在汽车详细信息实体中有两个选择列表。我正在使用自定义工作流活动的输入参数(即CrmNumber)设置模型(cir\u Model)选取列表值,并且它按预期工作,第二个选取列表选取(cir\u Marque)将使用模型选取列表进行逻辑设置

如果模型设置为“Ac Ace”,则逻辑应为,则品牌应设置为“Ac”。使用字符串“Ac Ace”中的Split()获取值“Ac”

通常在C#中,这很容易做到,但在CRM 4.0中,如何实现这一点(我将如何将“Ac”设置为Marque)

公共静态DependencyProperty模型属性=DependencyProperty.Register(“模型”, typeof(int),typeof(CreateCardetails)); [CrmInput(“模型”)] 公共整数模型 { 得到 { return(int)base.GetValue(modelProperty); } 设置 { base.SetValue(modelProperty,value); } } 公共静态从属属性ContactProperty= DependencyProperty.Register(“联系人”、类型(查找)、类型(CreateCardDetails)); [CrmInput(“联系人ID”)] [CrmReferenceTarget(“联系人”)] 公众查询联系人 { 得到 { 返回(查找)base.GetValue(ContactProperty); } 设置 { base.SetValue(ContactProperty,value); } } 受保护的覆盖ActivityExecutionStatus执行(ActivityExecutionContext executionContext) { //创建将链接到联系人记录的车辆详细信息记录 dynamiccentity cardetails=新的dynamiccentity(“cir_cardetails”); cardetails[“cir_carsdetailsid”]=联系人; //设置模型的picklist值 Picklist model Picklist=新建Picklist(); modelPickList.Value=model.Value; 添加(新的PicklistProperty(“cir_模型”,modelPickList)); /* 在这里,应执行设置Marque(cir_模型)值的逻辑 Picklist=new Picklist(); 侯爵表。值=??? 添加(新的PicklistProperty(“cir_marque”,marquePickList)); */ //创建汽车详细信息记录 Guid carkey=crmService.Create(cardetails); } 如何在逻辑上设置Marque值,下面的代码为空

/*
在这里,应执行设置Marque(cir_Marque)值的逻辑
Picklist=new Picklist();
侯爵表。值=???
添加(新的PicklistProperty(“cir_marque”,marquePickList));
*/

请安排帮助我,欢迎所有建议。

CRM 4.0没有语言,在CRM 4.0中,您用c#编写代码。唯一改变的是你处理新类型的方式


在工作流中,您不使用控件,而是使用实体和相关属性。所以你“只”需要得到属性cir_模型,做一个子串,在Marque中找到可用的选项并设置正确的值。检查SDK中的示例。

您可以使用JavaScript或C#(插件、工作流)来完成此操作。在选择使用哪种方法时,需要考虑一些因素

如果您希望用户能够实时看到结果(当他们选择时),那么您可以使用JavaScript

如果您不希望用户看到结果,或者有来自外部源(而不是用户表单)的数据,请考虑使用插件


我认为您不应该使用WF来实现这一点,插件同样容易编写,并且会立即发生,而不是等待异步过程完成

请参阅RetrieverRequest请求指定记录,这很好。我想要的东西有两个不同值的选择列表。但它们的值是逻辑设定的。i、 E1名单上有法拉利,但第二名单可以是“法拉利360”、“法拉利220”等中的任何一个。我将“法拉利220”设置为第二名单,但我想将法拉利设置为第一名单。我想要一个CRM代码来实现这一点。如果我知道插件中要使用的代码来实现这一点,那么我可以在自定义工作流活动中使用相同的代码。对于如何使用C#代码插件获取任何实体选择列表的所有下拉列表,您有什么建议吗。如果你有任何想法,请张贴在这里。非常感谢。您可以通过检索属性的元数据来检索该属性的所有选项。将AttributeMetadata强制转换为PicklistAttributeMetadata对象,它将有一个包含标签和值的选项列表。用户更改表单时,是否希望结果在表单上可见?如果是这样的话,你不能用插件或工作流来实现,你需要用javascript来实现。不,不是那样的。我将在第一个选择列表上传递输入值,如“Ferrari 360”(索引值),因此它应该将“Ferrari”(但这里不知道索引,获取所有列表项,比较并设置)设置为第二个选择列表。