Цитата:
Сообщение от
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;
}
Ну, есть еще ряд тонкостей, связанных с инициализацией, чтобы из кеша не бралось последнее использованное значение, но это уже детали...