Публикация

Доброго времени суток.

В BPMonline в большинства базовых карточек редактирования (соответственно и во всех наследуемых от базовой страницы редактирования) существует MessagePanel. По умолчанию в ней выводится различные сообщения-подсказки пользователю. Пример - "Поле ХХХ обязательно к заполнению".

Если у Вас будет необходимость вывести в эту панель свое сообщение, Вы можете сделать это из объекта задание-сценарий в процессе карточки, с помощью следующего кода:

string errorMessage = "Дубли не найдены!";
MessagePanel messagePanel = ControlUtilities.FindControl(
                Page.AspPage.Controls[0], "BaseMessagePanel", true) as MessagePanel;
if (messagePanel != null) {
                messagePanel.AddMessage(Warning, errorMessage, MessageType.Warning);
}

Результат:

1

Поделиться

6 комментариев

Небольшое дополнение:

string warningMessageId = "SomeMessageId";
string errorMessage = "Дубли не найдены!";
MessagePanel messagePanel = ControlUtilities.FindControl(
                Page.AspPage.Controls[0], "BaseMessagePanel", true) as MessagePanel;
if (messagePanel != null) {
		messagePanel.Remove(warningMessageId);
                messagePanel.AddMessage(warningMessageId, Warning, errorMessage, MessageType.Warning);
}

Сообщения желательно создавать с идентификатором (и удалять предыдущее).

Не могли бы вы дать разъяснения по коду построчно?
Особенно интересна строка

MessagePanel messagePanel = ControlUtilities.FindControl(
                Page.AspPage.Controls[0], "BaseMessagePanel", true) as MessagePanel;

Заранее спасибо.

В этой строке мы на странице ищем контрол BaseMessagePanel.

Далее вызываем метод AddMessage, который добавляет в данный контрол сообщение.


Вы можете сделать это из объекта задание-сценарий в процессе карточки

Дмитрий, а есть возможность несколько подробнее рассказать, как попасть туда, куда можно ввести указанный код.
Спасибо.

См. тут на стр. 466 (467).

Спасибо! Ушел читать инструкцию внимательнее.

Войдите или зарегистрируйтесь, чтобы комментировать