При запуске окна появляется окно отладчика с подсвеченной
строкой 2 из кода ниже
2 if ((!Control.IsVisible) || (Control.Tag == ctDisabledByTableGroupRight)) {
3 return;
4 }
5 Control.IsEnabled = IsEnabled;
6 Control.Tag = ((IsEnabled) ? ctEnabledByRecordRight :
7 ctDisabledByRecordRight);
8 }
Это кусок кода из скрипта scr_WindowUtils.
При этом в логе появляется сообщение
Ошибка выполнения метода 'wnd_CommercialOfferOnPrepare'. Неопознанная ошибка
Вот код этой функции
{
wnd_BaseDBEditOnPrepare(Window);
}
Как можно выявить эту ошибку и исправить, если отладчик не пишет, в чем состоит ошибка?
При этом окно открывается и его инициализация проходит нормально.
Нравится
Валерия, здравствуйте.
Уточните, пожалуйста, от какого окна унаследовано Ваше окно wnd_CommercialOffer ?
Правильно унаследовать его от wnd_BaseDBEdit. Судя по тому, что ранее Вам пришлось вручную подключать скрипт scr_BaseDBEdit, у Вас это не так.
Обратите внимание, что если Вы унаследуете Ваше окно от wnd_BaseDBEdit, то скрипт scr_BaseDBEdit необходимо удалить из перечня используемых скриптов скрипта Вашего окна.
Если Вы унаследуете свое окно от wnd_BaseDBEdit, то отпадет необходимость в строках наподобие этой:
function wnd_CommercialOfferOnPrepare(Window){ wnd_BaseDBEditOnPrepare(Window); }
так как обработка этих событий уже заложена в базовом окне и работает абсолютно корректно (если Вы не поменяете обработчик события OnPrepare своего окна, который по умолчанию будет равен wnd_BaseDBEditOnPrepare). А уж если понадобится реализовать в обработчике OnPrepare какую-то свою дополнительную логику, тогда можно будет написать так, как Вы сделали изначально:
function wnd_CommercialOfferOnPrepare(Window){ //своя логика wnd_BaseDBEditOnPrepare(Window); //своя логика }
Спасибо за ответ,
скорее всего причина и была в этом,
буду разбираться