【问题标题】:In Microsoft Dynamics CRM, how do I get the meaning of an attributemask value?在 Microsoft Dynamics CRM 中,如何获取属性掩码值的含义?
【发布时间】:2021-10-14 18:21:47
【问题描述】:

我没有 Microsoft Dynamics CRM 方面的背景,我所在的公司失去了一名维护该系统的开发人员。有一个函数应用程序,其中包含一些我试图理解的代码。该代码的目的似乎是确定设置价格折扣的用户是否允许。它获取与在 CSV AttributeMask 中包含 115 的销售订单关联的审计实体。

List<Audit> audit = myServiceContext.AuditSet.Where(a => a.ObjectId.Id == x.Id)
    .ToList();

audit = audit.Where(a => a.AttributeMask.Split(',').ToList().Contains("115"))
    .ToList();

我相信这个 115 一定代表了折扣字段,但是我想知道过去的开发者在哪里找到了这个值。

我在网上找到了有关如何从字符串映射表中获取这些带有名称的 AttributeMask 值的建议,例如 this one。我使用 XrmToolBox 的 FetchXML Builder 转储整个表,但它仅从 0 到 113。有些人建议查看 MetadataSchema 表,但我找不到这些表,并且看到这些表仅适用于本地 CRM。

我在哪里可以找到 115 的含义和/或过去的开发人员是如何决定使用这个值的?

【问题讨论】:

    标签: dynamics-crm


    【解决方案1】:

    代码查询 Audit 表并为objectid 标识的记录选择审计行。 (这是第一行。)正如您在 MS Docs 列中看到的那样,audit.attributemetadata 包含属性的 ColumnNumber 元数据属性的 CSV。

    在第二行中,审核行被过滤为包含对目标记录所属表的第 115 列的更新的行。您可以通过检索表的实体元数据来查找此列的名称和其他属性。 EntityMetadata 对象有一个 AttributeMetadata 数组。在此数组中,您可以通过在属性ColumnNumber 中搜索其列号来找到所需的属性。更多信息请访问MS Docs - AttributeMetadata.ColumnNumber Property

    【讨论】:

    • 谢谢。根据您的指导,我能够使用 XrmToolBox 的 MetaData Browser 工具打开 SalesOrder 元数据,选择 Columns 选项卡,滚动到名为 ColumnNumber 的列,单击它进行排序,向下滚动到我正在寻找的 115,名称使感觉是我正在寻找的折扣价。
    猜你喜欢
    • 1970-01-01
    • 2021-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多