在Dynamics 365(版本9.0)中为业务流程修改“ LocalizedName”

时间:2018-09-13 12:24:06

标签: dynamics-crm

我需要统一我们环境中业务流程的“显示名称”。

无论使用的UI语言是什么,标准BPF“机会销售流程”都应称为“机会销售流程”(例如,“ Vertriebsprozess Verkaufschance”是德语用户的“ LocalizedName”)。

我还没有找到任何更改“ LocalizedName”值的方法-唯一的选择是直接对customizations.xml进行更新。

是否可以通过代码更新BPF的“ LocalizedName”?

1 个答案:

答案 0 :(得分:1)

IOrganizationService os; // todo - initialize

不清楚要做什么:)如果要更新实体元数据,那是可行的:

var request = new RetrieveEntityRequest { LogicalName = "opportunitysalesprocess" };
var response = (RetrieveEntityResponse)os.Execute(request);
var label = response.EntityMetadata.DisplayName.LocalizedLabels
  .First(l => l.LanguageCode == 1033);
label.Label = "Thats Not My Name";
os.Execute(new UpdateEntityRequest { Entity = response.EntityMetadata });

如果要在进程网格中更新进程名称;是:

var sec = new SetLocLabelsRequest
{
    AttributeName = "name",
    Labels = new LocalizedLabel[]
    {
        new LocalizedLabel
        {
            Label = "Thats not my name",
            LanguageCode = 1033
        }
    },
    EntityMoniker = new EntityReference("workflow", 
        new Guid("3E8EBEE6-A2BC-4451-9C5F-B146B085413A"))
};
var res = (SetLocLabelsResponse)os.Execute(sec);

参考

https://docs.microsoft.com/en-us/dotnet/api/microsoft.crm.sdk.messages.setloclabelsrequest?view=dynamics-general-ce-9

https://docs.microsoft.com/en-us/dotnet/api/microsoft.xrm.sdk.messages.updateentityrequest?view=dynamics-general-ce-9