Проблемы с событием.
Добавлено: 26 янв 2010, 19:41
Имеется интерфейс, содержащий, в частности, поля РЕЖИМ (rejim) и ДАТА (data1). При значении rejim=0 предполагается работа с таблице SaldMoun, и, соответственно, data1 должна быть первым днем месяца. При другом значении rejim data1 может быть любой. Проверочка реализована следующим кодом
Так вот если в data1 задан не первый день месяца, то при переключении значения поля rejim изменение значения data1 происходит, а если задать неправильное значение в поле data1 и перейти в другое поле (вроде как должно быть cmCheckField) - то нет. Где ошибаюсь - не понимаю... Помогите, пожалуйста!
Код: Выделить всё
Handleevent
cmInit: {
......
}
cmPick: {
.......
}
cmCheckField:
case curField of
#rejim:
if rejim=0 then {
set c:='На'; set po:='';
ClearFieldOption(#data2,ofSelectable);
SetFieldOption(#data2,ofProtected);
ClearFieldState(#po, sfVisible);
ClearFieldState(#data2, sfVisible);
if day(data1)<>1 then set data1:=date(01, month(data1), year(data1));
}
else {
set c:='С'; set po:='По';
SetFieldOption(#data2,ofSelectable);
ClearFieldOption(#data2,ofProtected);
SetFieldState(#po, sfVisible);
SetFieldState(#data2, sfVisible);
}
#data1:
if rejim=0 then {
if day(data1)<>1 then set data1:=date(01, month(data1), year(data1));
}
end;
cmOK: {
.....
}
cmCancel:
CloseInterface(cmOK);
end;