Сохранение значения при отмене редактирования строки ТЧ #488908


#0 by IdoL2k
Есть процедура в модуле формы, висящая на событии "ПередОкончаниемРедактирования" табличного поля. Процедура проверяет условие и не дает пользователю ввести всякую чушь. Все замечательно, но если после попытки неправильного ввода пользователь нажмет клавишу Esc (ОтменаРедактирования=Истина), то введенное значение сохраняется. Какая то неважнецкая отмена редактирования получается... Что делать и как быть? Может какой друго обработчик использовать?
#1 by butterbean
а пользователь меняет оба реквизита?
#2 by IdoL2k
1: Может оба, может ни один.. Это имеет значение?
#3 by butterbean
ну по хорошему надо проверять сразу после изменения реквизита пользователем, и отменять изменение этого реквизита
#4 by 73
Было такое. Щас уже не помню, почему, но добавил в код после отказ=истина:
#5 by 73
+ Но все равно, как-то неудобно...
#6 by IdoL2k
по-хорошему то надо... Но только поле ввода строки табличного поля не имеет обработчиков, в которых можно было бы отменить изменение :(
#7 by ptiz
Надо ПриНачалеРедактирования запоминать, что было, и при отмене - восстанавливать. Только так.
#8 by IdoL2k
Ну эт понятно, что можно все ручками дописать. Но какая ж логика работу у этого обработчика? Что ж это за отмена редактирования такая, которая не отменяет произведенное редактирование?
#9 by IdoL2k
Не понял зачем это.. Но все равно не спасло
#10 by IdoL2k
Вобщем вся дрянь в том, что значение записывается в ДанныеСтроки еще до вызова обработчика ПередОкончаниемРедактирования. И откатываться стандартными средствами ему некуда. Решил так: Убрал проверку проверку на ОкончаниеРедактирования. Таким образом, пользователю нужно в любом случае ввести корректные данные, даже в случае если он уже паникует и лупит по "эскейпу". Пусть теперь тыщу раз подумает прежде чем в этот аццкый справочник заходить :)
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С