Is there a easy way to customize Acumatica build-in dropdown list?

孤街浪徒 提交于 2019-12-12 06:06:58

问题


For example, in screen CR301000, source field is having 5 items right now, but I want to have 6 different items listing here, please advice how to do it. Thanks.


回答1:


You can do it a few ways.

1) Customization to create a custom string/int list then override the dac attribute in the BLC to point to your custom list.

First create the custom stringlist:

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"
    })
    {
    }
}

Then override the dac attribute in a BLC Extension:

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

This sample is from the Opportunity screen but the same holds true w/ leads

2) Automation step to provide the new values.

See here for automation step locations

the second way doesn't require customization but does take more work if there is already automation steps defined. You need to create the custom list for each step that exists.

For something like Leads, I'd go with option 1 as there is tons of steps




回答2:


Add the Values you want: Just a quick note if you chose to add via automation - to add a new field click in the white space of the lookup field - You will see the current values - in the white space below - dbl click.



来源:https://stackoverflow.com/questions/34096583/is-there-a-easy-way-to-customize-acumatica-build-in-dropdown-list

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!