如何添加潜在客户来源选项

How do I add a Lead Source option

我正在尝试向“潜在客户”屏幕上的“来源”下拉列表添加选项。该字段使用 CRMSourcesAttribute class 来定义现有列表。在简单地创建一个新属性 class 来添加我自己的项目之后,我扩展了 CRLead.Source CacheAttached 事件以使用我的新属性 class。结果是没有变化——新的下拉项没有显示。这样做之后,如果我检查字段和 select 下拉值按钮,我确实会在下拉值弹出窗口 window 中看到新选项。关于可能阻止新选项显示在下拉列表中的任何想法?

以下是我在 LeadMaint 图形扩展中的配置方式:

    [PXMergeAttributes(Method = MergeMethod.Append)]
    [PXRemoveBaseAttribute(typeof(CRMSourcesAttribute))]
    [CRMSourcesExt]  // list with old + new options
    protected virtual void _(Events.CacheAttached<CRLead.source> e) { }

(v20R2)

在一位同事的帮助下,我能够通过屏幕工作流程自定义使其“无需代码”运行。我删除了我的代码,然后使用从默认值复制的新自定义工作流对其进行了自定义。还不确定这样做的后果,比如我们是否可以在其他真实代码中访问新选项,但我现在看到了如何创建这些选项。在这种情况下,还必须为潜在客户和商机完成此操作。不过,这有点乏味和空灵(好词)。我可以看到这很容易给我们带来问题和意想不到的结果,我们需要注意。

21 年 5 月 28 日更新: 我在字段的工作流自定义中添加了选项,然后将默认工作流复制到新工作流,激活它,并激活每个 state/transition 的新选项。我不喜欢它,但 Acumatica 告诉我“这就是现在的样子”。注意:您还需要对其他引用 CRMSourcesAttribute 的地方执行此操作,例如 Opportunity。

另一种选择是使用代码并使用新选项创建新属性 class,然后覆盖 DAC 字段以改为使用它。但是,据我所知,您仍然需要完成在工作流自定义 UI 中为您覆盖的每个字段激活新选项的步骤。但随后您可以在代码中引用新选项,而无需在运行时搜索列表的 AllowedValues。