Синтаксис
PROPERTY [RW, NE] OnSuccessfulChange : SCAL[2] ; |
Описание
Флаг включения программного события "успешное
изменение значения редактируемого поля". По умолчанию сброшен.
Соответствует флагу "successful change" в разделе "Manual control when"
в свойствах поля в WED.
Непрерываемое программное событие
уровня поля
OnSuccessfulChange вызывается
после успешного
изменения значения редактируемого поля при
интерактивном редактировании.
Предназначено для выполнения прикладного контроля.
К моменту возникновения данного события
- выполнены все системные проверки нового значения. В частности, начиная с версии 14.43.1, для полей имеющих
установленный признак FORM_FIELD.MustBeNonempty, а также для полей, в которых редактируется поле мастер файла
зоны, входящее в связь с его USER- или
BORROW- файлами, гарантируется, что к моменту вызова данного события
редактируемое поле имеет непустое значение.
- выполнен REPLACE редактируемой записи, т.е. новое
значение поля уже на диске
- выполнено, если нужно, распространение нового значения в связанные
USER-файлы (SpreadKey)
Особенности программы, обрабатывающей событие OnSuccessfulChange:
- RTI.StartMode=254
- Функция GE_PVALUE в данном событии
возвращает значение, которое было в поле до того,
как пользователь ввел новое значение.
- Данное событие, как и все другие программные события уровня поля,
работает на той же транзакции, что и
процесс редактирования записи. Но данное событие работает на вложенном уровне
этой транзакции, на том же, где
выполняется REPLACE редактируемой записи, а также
REPLACE записей связанных USER-файлов (SpreadKey). Если программа завершится
исключением, это не приводит к прекращению процесса редактирования, а только аннулирует работу этих REPLACE-ов.
Редактируемое поле остается текущим, в нем восстанавливается прежнее
значение. Т.о. создается эффект, будто новое
значение поля и не вводили.