Как добавить условие к кнопке процесса на экране AP 503000 - PullRequest
0 голосов
/ 08 ноября 2018

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

image01

Но, нажав ОК. показать это сообщение

image02

Мой код:

image03 image04

Большое спасибо заранее!

1 Ответ

0 голосов
/ 08 ноября 2018

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

Также проверьте возвращаемое значение в диалоговом окне, чтобы узнать, какая кнопка была нажата.

Чтобы отобразить диалоговое окно при нажатии кнопки «Процесс», переопределите метод «Процесс». Возможно, вам придется изменить «База» в зависимости от контекста (PXGraph / PXGraphExtension):

[PXProcessButton]
[PXUIField(DisplayName = "Process", MapEnableRights = PXCacheRights.Update, MapViewRights = PXCacheRights.Update)]
protected override IEnumerable Process(PXAdapter adapter)
{
    if (Base.Ask("ConfirmationTitle", "ConfirmationMessage", MessageButtons.YesNo) != WebDialogResult.Yes)
    {
        // Click on No, don't execute the base Process action
        return adapter.Get();
    }

    // Click on Yes, execute the base Process action
    return Base.Process(adapter);               
}
...