|
Как откатить присвоение значения в поле ввода УП | ☑ | ||
---|---|---|---|---|
0
iva77ru
10.07.14
✎
11:34
|
Пожалуйста, помогите разобраться?
На УП есть поле ввода связано с данными справочника контраген. Нужно по окончанию ввода/выбора нового значения задать вопрос и либо откатить присвоение нового значения либо нет. &НаКлиенте Процедура КонтрагентПриИзменении(Элемент) Режим = РежимДиалогаВопрос.ДаНет; Ответ = Неопределено; ПоказатьВопрос(Новый ОписаниеОповещения("КонтрагентПриИзмененииЗавершение", ЭтотОбъект), "Выполнить перерасчет по ценам выбранного контрагента: "+ Объект.Контрагент + "?", Режим, 0); КонецПроцедуры &НаКлиенте Процедура КонтрагентПриИзмененииЗавершение(РезультатВопроса, ДополнительныеПараметры) Экспорт Ответ = РезультатВопроса; Если Ответ = КодВозвратаДиалога.Нет Тогда Возврат; КонецЕсли; КонецПроцедуры Если ответить нет, то все равно остается новое выьранное значение. |
|||
1
Господин ПЖ
10.07.14
✎
11:36
|
КонтрагентПриИзменении
уже поздно пить баржоми... |
|||
2
Maxus43
10.07.14
✎
11:38
|
ОбработкаВыбора, или другие подходящие
|
|||
3
iva77ru
10.07.14
✎
11:46
|
Обработка выбора или подобное не подходит, т.к. нужно использовать не модальный вызов для вопроса и, следовательно, нет остановки в процедуре, а в др. процедуре уже нет возможности установить ложь для отмены ввода.
|
|||
4
Maxus43
10.07.14
✎
11:48
|
(3) ПриОткрытии пихай в реквизит формы "СтароеЗначение", а в (0) оттуда устанавливай обратно, если ответ отрицательный
|
|||
5
Enders
10.07.14
✎
11:49
|
Запомни прошлое значение поля (ПриОткрытии, ПриАктивизации,НачалоВыбора), и при ответе "нет". Верни его.
В чем сложность? |
|||
6
mikecool
10.07.14
✎
11:49
|
смотреть передизменением - запоминаем
смотреть приизменении - анализ и откат или принятие |
|||
7
iva77ru
10.07.14
✎
11:59
|
Интефейс Такси.
Нажимаем на стрелочку в правом углу поля ввода.Видим список выбора. Выбираем что-то новенькое и не одна из доступных процедур не срабатывает для отлова ранее установленного значения. Проверял: НачалоВыбораИзСписка() НачалоВыбора() |
|||
8
Enders
10.07.14
✎
12:06
|
(7) Ну вроде как было предложено больше процедур для запоминания старого значения...
|
|||
9
mikecool
10.07.14
✎
12:10
|
(7) проверяй все процедуры
я когда не могу точно предположить - какой конкретно обработчик сработает, добавляю все, ставлю точки останова и смотрю где выстрелит |
|||
10
mistеr
10.07.14
✎
12:51
|
(7) Что, прям нигде значение не получить?
|
|||
11
iva77ru
10.07.14
✎
13:02
|
Для текущего случая подходит:
АвтоПодбор() для фиксации значения до изменения. СП: возникает при активизации поля ввода, для которого выключен быстрый выбор, мышью. |
|||
12
iva77ru
10.07.14
✎
13:07
|
Правильно нужно задействавать все обработчики:
НачалоВыбораИзСписка() НачалоВыбора() АвтоПодбор() Чтобы учесть все варианты ввода. То есть при замене модальных вызовов на не модальные нужно еще и дописывать кучу лишнего кода. Спасибо, разработчикам платформы. |
|||
13
Enders
10.07.14
✎
17:07
|
(12) Ну или обойтись процедурой "ПриОткрытии", кто как хочет так и извращается. При чем тут разработчики?)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |