有没有一种简单的方法来自定义Acumatica内置下拉列表?

时间:2015-12-04 20:07:13

标签: acumatica

例如,在屏幕CR301000中,源字段现在有5个项目,但我想在此列出6个不同的项目,请建议如何操作。感谢。

2 个答案:

答案 0 :(得分:6)

你可以通过几种方式实现。

1)自定义以创建自定义字符串/ int列表,然后覆盖BLC中的dac属性以指向您的自定义列表。

首先创建自定义字符串列表:

public class CustomSourceAttribute : PXStringListAttribute
{
    public const string _LEADPROSPECT = "1";
    public const string _INITIALCONTACT = "2";
    public const string _QUALIFIED = "3";
    public const string _INITIALPRICE = "4";
    public const string _PROPOSALSENT = "5";
    public const string _POSITIVEPROPOSAL = "6";
    public const string _VERBALCOMMIT = "7";
    public const string _READYFORCONTRACT = "R";
    public const string _CONTRACTSENT = "8";
    public const string _CONTRACTSIGNED = "9";
    public const string _CLOSEDLOST = "0";
    public const string _TARGET = "T";
    public CustomSourceAttribute()
        : base(new string[]
    {
        _LEADPROSPECT,
        _INITIALCONTACT,
        _QUALIFIED,
        _INITIALPRICE,
        _PROPOSALSENT,
        _POSITIVEPROPOSAL,
        _VERBALCOMMIT,
        _READYFORCONTRACT,
        _CONTRACTSENT,
        _CONTRACTSIGNED,
        _CLOSEDLOST,
        _TARGET
    },
            new string[]
    {
        "Lead/Prospecting",
        "Initial Contact",
        "Qualified",
        "Initial Pricing Sent",
        "Proposal Sent",
        "Positive Proposal Discussions",
        "Verbal Commitment",
        "Ready for Contract",
        "Contract Sent",
        "Contract Signed",
        "Closed Lost",
        "Target"
    })
    {
    }
}

然后覆盖BLC扩展中的dac属性:

        [PXDBString(1, IsFixed = true)]
    [PXUIField(DisplayName = "Stage")]
    [CustomSourceAttribute]
    [PXDefault(CustomSourceAttribute._INITIALCONTACT)]
    [PXMassUpdatableField]
    protected void CROpportunity_StageID_CacheAttached(PXCache cache)
    { 
    }

此样本来自商机屏幕,但同样适用

2)自动化步骤提供新值。

See here for automation step locations

第二种方式不需要定制,但如果已经定义了自动化步骤,则确实需要更多工作。您需要为存在的每个步骤创建自定义列表。

对于像潜在客户这样的东西,我会选择1,因为有很多步骤

答案 1 :(得分:0)

添加您想要的值: 如果您选择通过自动化添加,只需快速注释 - 在查找字段的空白处添加新字段单击 - 您将在下面的空白区域中看到当前值 - dbl click。