Контроль обязательных полей.

добавляю записи в таблицу, после открываю окно с вновь внесенными данными

        var NewID = Connector.GenGUID();
        Attributes.Add('RecordID', NewID);
        ShowEditWindowEx(EditWindowUSI, Attributes, DefaultValues, 1, true);

после нажимаю OK
часть полей не заполнена, но они стоят как обязательные в dataset. выскакивает окно с предупреждением, что поле не заполнено, но окно все равно закрывается.
как сделать чтоб не закрывалось?

Нравится

4 комментария

проверка на заполненность встроена в скрипт scr_BaseDBEdit и работает когда у вас окно редактирования создано на основе BaseDBEdit.
Скорее всего у вас нет проверки на успех проверки в OnOkClick или OnCloseQuery. Посмотрите как это реализовано в базовых окнах.
Конкретные рекомендации возможны только на конкретных примерах

создано на основе wnd_BaseDBEdit
если открывать окно обычным способом (двойным кликом на гриде или кнопкой изменить) то проверки работают нормально, и окно не закрывается пока не заполнишь все обязательные поля

надо добавить получателя оповещения

Attributes.Add('NotifyObject', Self);  // Self или объект из которого вызывается окно (другое окно)

"Андросов Дмитрий" написал:

надо добавить получателя оповещения

Attributes.Add('NotifyObject', Self);  // Self или объект из которого вызывается окно (другое окно)


есть там, такое
и если вызывать окно без атрибута :
Attributes.Add('ShowModal', true);
то контроль полей работает корректно

Показать все комментарии