Имя: Пароль:
1C
1С v8
Регистр сведений и отмена изменений
0 Soulseller76
 
29.06.17
08:20
Привет всем.
Столкнулась с проблемой. У меня есть регистр сведений и требуется, чтобы при изменениях, вносимых в одну из колонок, был задан вопрос пользователю. Ну, с этим я правилась.
Проблема в другом. Если пользователь на впрос отвечает НЕТ, то нужно, чтобы изменения, которые он внес - не сохранились и все откатилось ДО момента внесения им изменений. Но вот как это сделать НЕ прописывая явно в коде...
Я использую процедуру РегистрСведенийСписокПередОкончаниемРедактирования. Хоть у нее и есть реквизит ОтменаРедактирования, все равно вернуться к состоянию ДО ИЗМЕНЕНИЯ не получается. Наверное, я не то какое-то событие использую. Но тогда - какое?
1 butterbean
 
29.06.17
08:23
Отказ = Истина
2 Soulseller76
 
29.06.17
08:23
(1) Делаю Не помогает. :(
3 butterbean
 
29.06.17
08:25
(2) что не помогает? отказ запрещает окончание редактирования, т.е. юзер просто не сможет сохранить в ячейке свои изменения
4 Soulseller76
 
29.06.17
08:27
(3) Смотри. Не нужно не это. Нужно, чтобы при нажати на НЕТ редактирование закончилось. То есть, ячейка и данные в ней стали такими, как были ДО внесения изменений.
5 breezee
 
29.06.17
08:28
(4) Зачем? Пользователь намеренно ввел данные. Если хочет чтобы даные не изменились - пусть "esc" нажмет
6 Soulseller76
 
29.06.17
08:29
(3) А у меня получается, что ячейка остается с внесенными изменениями и в режиме редактирования. То есть, ждет дальнейших действий от пользователя.
7 Soulseller76
 
29.06.17
08:29
(5) Требования - не мои. :)
8 Рэйв
 
29.06.17
08:31
(6)дальнейшие действия зависяот от пользователя. Либо пусть жмет esc и идет курить или пусть на вопрос отвечает ДА.
Твое дело паровоз, пусть сам решает
9 Рэйв
 
29.06.17
08:31
(6)а для возврата к состоянию ДО редактирования пусть нажмет esc и заново войдет в редактирование
10 vde69
 
модератор
29.06.17
08:31
а вот мне интересен момент: вопрос задается внутри транзакции записи или нет?

как ответите на этот вопрос - все станет ясно...
11 breezee
 
29.06.17
08:33
(7) Я бы уточнил, зачем такое вообще нужно? А так, создай структуру как реквзиит формы, в которую помещай при начале редактирования данные, а потом читай её при отказе и поднимай из неё данные
12 Soulseller76
 
29.06.17
08:35
(10) Наверное, уже нет. Хотя...
ПередОкончаниемРедактирования - это где, получается? По смыслу, вроде в транзации записи, но старое значение там нигде отловить нет возможности.
Можно только в процедуре ДО внесения изменения. А я плодить их не хочу. Наверняка есть где-то эта процедура, просто я о ней не знаю... Или забыла. :)
13 Soulseller76
 
29.06.17
08:35
(11) Я этого как раз хотела избежать. Не будет другого варианта - так и сделаю, конечно.
14 breezee
 
29.06.17
08:37
(13) Почему ты хотела это избежать?)
15 Soulseller76
 
29.06.17
08:39
(14) А смысл плодить кучу процедур.
Мне кажется, что такой вариант ну должен 100% быть реализован в механизме 1С. Просто не нужен был, вот и не знаю о нем.
16 vde69
 
модератор
29.06.17
08:43
(12) ну вот ты и сама понимаешь:
1. отменить можно только ДО начала транзакции,
2. внутри транзакции можно ее откатить
3. после транзакции нужно уже удалять данные
17 Soulseller76
 
29.06.17
08:44
(16) Спасибо! Сейчас попробую!
18 vde69
 
модератор
29.06.17
08:49
(17) кстати:

задавать вопрос пользователю внутри транзакции - это повесить блокировку, за такое и уволить могут...

по этому сабж нужно делать ТОЛЬКО ДО ТРАНЗАКЦИИ
19 Soulseller76
 
29.06.17
08:52
(18) Ок. Приняла к сведению. :)
20 Soulseller76
 
29.06.17
09:15
Все, я выяснила.
Я использую процедуру РегистрСведенийСписокЗначениеПриИзменении и все ок.
:)
Всем спасибо большое.
21 1dvd
 
29.06.17
09:22
я так понимаю, у Вас обычные формы и РС пользователь редактирует прямо в списке? Это не хорошо. Сделайте форму записи и там задавайте вопросы, исправляйте, изменяйте как Бог на душу положит