Страница 1 из 1

Проблемы с событием.

Добавлено: 26 янв 2010, 19:41
Sheinina
Имеется интерфейс, содержащий, в частности, поля РЕЖИМ (rejim) и ДАТА (data1). При значении rejim=0 предполагается работа с таблице SaldMoun, и, соответственно, data1 должна быть первым днем месяца. При другом значении rejim data1 может быть любой. Проверочка реализована следующим кодом

Код: Выделить всё

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;
Так вот если в data1 задан не первый день месяца, то при переключении значения поля rejim изменение значения data1 происходит, а если задать неправильное значение в поле data1 и перейти в другое поле (вроде как должно быть cmCheckField) - то нет. Где ошибаюсь - не понимаю... Помогите, пожалуйста!

Добавлено: 26 янв 2010, 19:55
Screw
А чему равен rejim в момент правки значения date1?

Добавлено: 27 янв 2010, 12:56
Sheinina
Screw писал(а):А чему равен rejim в момент правки значения date1?
Естественно, меня волнует именно та ситуация, когда выбран rejim=0, а дату случайно завели не первое число, а другое. Именно эту ситуацию и проверяла.

Добавлено: 27 янв 2010, 14:37
Sheinina
Тааак... Оказывается, это не у меня голова дурная... Проблема оказалась не в реакции, а в механизме подхвата ресурсов. Забыв сделать анализ даты при выгрузке сальдо, я зарегистрировала ресурс в репозитарии. Потом хватилась, написала обработку события, скомпилировала. Компиляция идет в debug.res. Так вот, имея одинаковые интерфейсы в зарегистрированном ресурсе и в debug'е Галактика решила взять не из debug, а из ресурса. Странно, я думала debug все перешибает...

Добавлено: 27 янв 2010, 15:19
edward_K
как приоритет поставите так и будет - чем выше тем главнее.