Проверка значений поля при редактировании в форме.

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
kreator
✯ Ветеран ✯
Сообщения: 5037
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 23 раза

Проверка значений поля при редактировании в форме.

Сообщение kreator »

Я затупил. Помогите. C8, ABC. Редактирую запись в форме. Нужно при нажатии кнопки OK проверить некое поле по критерию и если значение не правильное, то поставить курсор на это поле запретив Update или Insert. Типа:

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

if FIL:Field1 <> 'Правильное значение'
  select(?FIL:Field1)
  return ???
end
В какой Embed этот код вставить?
We are hard at work… for you. :)
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3144
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 11 раз
Поблагодарили: 32 раза
Контактная информация:

Re: Проверка значений поля при редактировании в форме.

Сообщение Дед Пахом »

Вроде бы в WindowManager.TakeAccepted после Parent call, вернуть Level:Notify.
С уважением, ДП
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Re: Проверка значений поля при редактировании в форме.

Сообщение Yufil »

Всё проще - в обработку Accept для кнопки OK ДО выполнения стандартного обработчика
IF взаписифигня
Select(?Фигня)
Cycle
End
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3144
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 11 раз
Поблагодарили: 32 раза
Контактная информация:

Re: Проверка значений поля при редактировании в форме.

Сообщение Дед Пахом »

Я ошибся - надо в TakeCompleted перед Parent call вернуть Level:Notify.
С уважением, ДП
Shur
Ветеран
Сообщения: 384
Зарегистрирован: 02 Июль 2011, 18:49

Re: Проверка значений поля при редактировании в форме.

Сообщение Shur »

Ну тогда уж и ещё более канонический вариант.

в событии Accepted для проверяемого поля

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

If Window{PROP:AcceptAll} ! проверять только при выходе из формы
   If взаписифигня 
      Window{PROP:AcceptAll} = false ! прекратить выход
      Select(?Фигня) 
      Cycle 
   End
End
kreator
✯ Ветеран ✯
Сообщения: 5037
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 23 раза

Re: Проверка значений поля при редактировании в форме.

Сообщение kreator »

Всем спасибо! Первый вариант Деда Пахома - правильный (особое спасибо!!!). Самое интересное, что я так и делал. Почему не шло - не понятно, полдня убил. А вчерашнюю копию не сохранил, где старый вариант, сравнить теперь не с чем.
We are hard at work… for you. :)
nik190994
Активист
Сообщения: 196
Зарегистрирован: 28 Сентябрь 2009, 16:19

Re: Проверка значений поля при редактировании в форме.

Сообщение nik190994 »

Обычно использую стандартный шаблон RULES....
Ответить