Блокировка записей в форме редактирования
Добавлено: 09 Февраль 2006, 13:01
В форме редактирования в режиме изменения записи(ей) перед сохранением в БД происходит блокировка всех записей который будут изменяться по следующим правилам (так сейчас работает библиотека):
далее происхродит проверка на изменение этих записей с других рабочих станций.
Так вот в триггерах на UPDATE возможна UPDATE каких то полей этих записей, и получается что после блокировки (UPDATE по сути) триггера меняли значение каких то полей и далее попытка проверки на изменение с других рабочих станций давала ошибку - дескать запись изменилась с другой станции, а на самом деле изменение произошло в триггере с этой рабочей станции.
Так вот, для разруливания таких ситуаций я ввёл для поля дополнительный Options
если такой Option будет выставлен у поля в DCT, то проверка на изменение этого поля с другой рабочей станции будет отсутсвовать (поля инициализируются в триггерах)
После обсуждения с некоторыми пользователями, у которых возникла такая проблема, мы пришли к такому решению.
Если есть возражения, готов выслушать не только возражения но и предложения решения таких ситуаций.
Код: Выделить всё
UPDATE ЛюбоеНеReradOnlyПоле=СамоНаСебя FROM Table WHERE По полям первичного ключа
Так вот в триггерах на UPDATE возможна UPDATE каких то полей этих записей, и получается что после блокировки (UPDATE по сути) триггера меняли значение каких то полей и далее попытка проверки на изменение с других рабочих станций давала ошибку - дескать запись изменилась с другой станции, а на самом деле изменение произошло в триггере с этой рабочей станции.
Так вот, для разруливания таких ситуаций я ввёл для поля дополнительный Options
Код: Выделить всё
CheckOnChange = False
После обсуждения с некоторыми пользователями, у которых возникла такая проблема, мы пришли к такому решению.
Если есть возражения, готов выслушать не только возражения но и предложения решения таких ситуаций.