Я хочу получить подтверждение в моей настройке экрана - PullRequest
0 голосов
/ 14 марта 2019

Я хочу реализовать функцию включения и выключения на экране пользовательской настройки acumatica.

Допустим, я хочу реализовать:

feature1

feature2

feature3

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

Я использую конструктор с тем же именем ClassName, что и GraphName, например

public MyGraphClassName()
{
    throw new PXException("Error goes here for the Initialization method");
}

Но когда я делаю этоЭкран, на котором был применен ЦАП, также выдает ошибку, в то время как он все еще должен продолжаться, потому что это только часть этого экрана.Как я это сделаю? Я также использовал событие _RowSelected (), оно, похоже, не работает.Я потерян.

1 Ответ

1 голос
/ 21 марта 2019

Я думаю, что вы ищете, чтобы добавить PXSetupNotEnteredException в конструктор.Я сделал это для разных экранов, и Acumatica тоже.Типичное использование состоит в том, чтобы заблокировать пользователя от использования страницы, для которой требуется сначала настроить запись установки.В вашем случае вы можете заблокировать, потому что функция не настроена или не включена.

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

public class INSiteMaint : PXGraph<INSiteMaint, INSite>
{
    //..
    public PXSetup<INSetup> insetup;
    //..
    public INSiteMaint()
    {
        //Check for feature enabled or setup complete
        if (insetup.Current == null)
        {
            throw new PXSetupNotEnteredException(ErrorMessages.SetupNotEntered, typeof(INSetup), PXMessages.LocalizeNoPrefix(IN.Messages.INSetup));
        }
        //..

    //..
}

Если объект установки имеет значение null (настройки IN не настроены), то следующая страница хранилища превращается в следующее:

thrown PXSetupNotEnteredException results

Стоит также отметить, что в 2019R1 или более поздней версии вы можете управлять своими функциями с помощью функций включения / выключения Acumatica, добавив свою собственную запись.При правильной реализации Acumatica может автоматически скрывать страницу от карты сайта (нет необходимости реализовывать исключение PXSetupNotEnteredException).В настоящее время нет документации по нему (в бета-версии), но предположим, что когда-нибудь в этом году будет доступно больше подробностей.

...