Интересная дисскуссия получилась
Энштейн вообще был очень умный человек
Я разобрался где был баг, всетаки после UPDATE срабатывает OnAfterGetRecord. Все заработало.
На этой же форме правда столкнулся с еще 1 проблемой с которой сталкивался и раньше в других местах:
TempHRDep - переменная типа Record (Temporary = TRUE) на основе той же таблицы, что и у SourceTable формы.
Код:
Form - OnNextRecord(Steps : Integer) : Integer
TempHRDep.COPY(Rec);
ResultSteps := TempHRDep.NEXT(Steps);
Rec := TempHRDep;
EXIT(ResultSteps);
Код:
Form - OnModifyRecord() : Boolean
TempHRDep.TRANSFERFIELDS(Rec);
TempHRDep.MODIFY;
Вот значит запускаю форму. Редактирую какое-нибудь поле у записи, перехожу на другую запись - отредактированные изменения сохраняются. Перехожу на отредактированное поле записи, опять его редактирую, перехожу на другую запись - вылазит ошибка:
"Другой пользователь изменил запись НазваниеТаблицы после того, как она была прочитана из базы данных... и т.д."