Есть ли простой способ настроить раскрывающийся список встроенных в Acumatica?

Например, на экране CR301000 поле источника содержит 5 элементов прямо сейчас, но я хочу, чтобы здесь было перечислено 6 различных элементов, пожалуйста, посоветуйте, как это сделать. Спасибо.


person Woody    schedule 04.12.2015    source источник


Ответы (2)


Вы можете сделать это несколькими способами.

1) Настройка для создания настраиваемого списка строк / целых чисел, а затем переопределения атрибута dac в BLC, чтобы он указывал на ваш настраиваемый список.

Сначала создайте настраиваемый список строк:

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

Затем переопределите атрибут dac в расширении BLC:

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

Этот образец взят из экрана возможностей, но то же самое верно и для потенциальных клиентов.

2) Шаг автоматизации для получения новых значений.

См. здесь расположение шагов автоматизации

второй способ не требует настройки, но требует больше работы, если уже определены шаги автоматизации. Вам необходимо создать собственный список для каждого существующего шага.

Для чего-то вроде потенциальных клиентов я бы выбрал вариант 1, так как есть множество шагов

person Jeff Williams    schedule 04.12.2015
comment
Джефф, спасибо, что указали на шаги автоматизации! Это сработало бы для большинства людей. - person Philippe; 18.12.2015

Добавьте нужные значения: просто небольшое примечание, если вы выбрали добавление с помощью автоматизации - чтобы добавить новое поле, щелкните в белом пространстве поля поиска - вы увидите текущие значения - в белом пространстве ниже - щелкните dbl.

person M.Mynatt    schedule 01.04.2016