Список форумов BOSSForum.RU - Форум. БОСС-Кадровик
Независимый форум, посвященный системе БОСС-Кадровик
и всему, что с ней связано
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

"Подвисание" после вывода сообщения в TAB-процедур

 
Начать новую тему   Ответить на тему    Список форумов BOSSForum.RU - Форум. БОСС-Кадровик -> X-язык
Предыдущая тема :: Следующая тема  
Автор Сообщение
tveritin



Зарегистрирован: 26.01.2016
Сообщения: 180
Откуда: Санкт-Петербург

СообщениеДобавлено: Чт Апр 21, 2022 10:32    Заголовок сообщения: "Подвисание" после вывода сообщения в TAB-процедур Ответить с цитатой

Есть tab-процедура

Код:
if dlgfield[''] == '-1' then {

  let _old_from_d := @leaves_ahead_dlg:from_d[''];
  let _old_d_to := @leaves_ahead_dlg:d_to[''];

};

if @leaves_ahead_dlg:from_d > @leaves_ahead_dlg:d_to then {

  if @leaves_ahead_dlg:from_d[''] <> _old_from_d[''] then {
   let @leaves_ahead_dlg:from_d = _old_from_d[''] as date;
   let _old_from_d := @leaves_ahead_dlg:from_d[''];
   let _old_d_to := @leaves_ahead_dlg:d_to[''];
--   msg 2041, @leaves_ahead_lst;
  };
  if @leaves_ahead_dlg:d_to[''] <> _old_d_to[''] then {
   let @leaves_ahead_dlg:d_to = _old_d_to[''] as date;
   let _old_from_d := @leaves_ahead_dlg:from_d[''];
   let _old_d_to := @leaves_ahead_dlg:d_to[''];
--   msg 2041, @leaves_ahead_lst;
  };
  msg[\3Дата начала больше даты окончания] 0x01;
};

if year(@leaves_ahead_dlg:from_d) <> @leave_sched_main_dlg:cur_year then {

  if @leaves_ahead_dlg:from_d[''] <> _old_from_d[''] then {
   let @leaves_ahead_dlg:from_d = _old_from_d[''] as date;
   let _old_from_d := @leaves_ahead_dlg:from_d[''];
   let _old_d_to := @leaves_ahead_dlg:d_to[''];
--   msg 2041, @leaves_ahead_lst;
  };
  if @leaves_ahead_dlg:d_to[''] <> _old_d_to[''] then {
   let @leaves_ahead_dlg:d_to = _old_d_to[''] as date;
   let _old_from_d := @leaves_ahead_dlg:from_d[''];
   let _old_d_to := @leaves_ahead_dlg:d_to[''];
--   msg 2041, @leaves_ahead_lst;
  };
  msg[\3Дата начала за границами выбранного года] 0x01;
};

--let _old_from_d := @leaves_ahead_dlg:from_d[''];
--let _old_d_to := @leaves_ahead_dlg:d_to[''];

msg 2041, @leaves_ahead_lst;


Если в диалоге поставить d_from больше, чем d_to и ткнуть мышью в поле d_to, то мы получаем сообщение "Дата начала больше даты окончания" и после нажатия кнопки ОК "крутящийся" курсор мыши.
Если после установки d_from перейти на поле d_to клавишей tab, то подвисания не происходит.
Ситуация, в целом не очень критичная, выйти из нее можно повторным щелчком на поле d_to, но хотелось бы понять почему так происходит.
Кстати, если убрать команду вывода сообщения, "Дата начала больше даты окончания", то никакого подвисания не происходит.
msg заменяли на return, но это не решает проблему.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов BOSSForum.RU - Форум. БОСС-Кадровик -> X-язык Часовой пояс: GMT + 4
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Pоwerеd by рhpВB © 2001, 2005 рhpВB Grouр
Русская поддержка phрВB
Rambler's Top100 Рейтинг@Mail.ru Список форумов BOSSForum.RU