Показать сообщение отдельно
Старый 13.12.2023, 10:16   #11  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,658 / 1162 (42) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от Player1 Посмотреть сообщение
Не знаю помогу ли как-то, но есть метод checkCloseDialog() быть может тут его использовать взамен validate
Не поможет. Собственно, изнутри него и происходит вызов validate(). Упрощенно и схематично, содержимое этого метода выглядит так

X++:
this.getFromDialog();
ret = this.validate();

return ret;

Пока сделал "костыль"

1. В самом контракте данных добавил метод parmIsBreak()
2. В методе validate() контракта данных

X++:
if (...)
{
    this.parmIsBreak(true);
}

При этом сам validate() возвращает true, чтобы закрыть окно диалога

3. В стартовом методе SysOperation

X++:
if (!this.validate || _contract.parmIsBreak())
{
     return;
}
Ну, есть еще ряд тонкостей, связанных с инициализацией, чтобы из кеша не бралось последнее использованное значение, но это уже детали...
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
За это сообщение автора поблагодарили: Player1 (1).