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