Как реализовать алгоритм

Добрый день.
Подскажите, пожалуйста, как реализовать следующий алгоритм (где имено делать событийный процесс):
при переводе Активность.Состояние в "Требует доработки" , если активность.ЗИ - уже заполнено, то при нажатии на ОК должно появиться предупреждение "ЗИ уже создан" и окно активности не закрываться. Заранее спасибо.

Нравится

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

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

Здравствуйте, Татьяна!

В обработчике события нажатия на кнопку ОК считывайте значение поля "Состояние" и если оно равно "Требует доработки" И поле "Запрос на изменение" заполнено, то выводите предупреждение и не сохраняйте карточку.

Написала следующее в процессе страницы карточки задачи:

Guid rez1 = new Guid("8c1db28c46874b3bb696c32413d5825e");
var rez = (Guid)Page.ResultEdit.Value;
var zi11 = (Guid)Page.ChangeRequestEdit.Value;

if ((zi11 != null)&&(rez == rez1))
{
Page.BaseMessagePanel.AddMessage(Warning, "Запрос на изменение был создан ранее!", MessageType.Warning);
return false;
}
else
{
return true;
}

return true;

Все опубликовалось без ошибок, но не работает - предупреждение не появляется.

Здравствуйте, Татьяна!

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

Попробуйте выполнить отладку согласно инструкции и остановиться на условии и проверить значения переменных, чтобы понять, выполняется ли условие или нет.

Также, перед отладкой, попробуйте еще следующим образом:

Guid rez1 = new Guid("8c1db28c46874b3bb696c32413d5825e");
Guid rez = (Guid)Page.ResultEdit.Value;
Guid zi11 = (Guid)Page.ChangeRequestEdit.Value;
 
if ((zi11 != Guid.Empty)&&(rez == rez1))
{
...
Показать все комментарии