|
Как сделать не модальный вызов перед формой выбора элемента на УФ? | ☑ | ||
---|---|---|---|---|
0
Elf56
24.10.17
✎
14:04
|
Всем доброго времени суток.
Имеется 1С:Предприятие 8.3 (8.3.10.2466) Справочник на управляемых формах. Есть реквизит формы ВладелецПомещения (типа Справочник.Контрагенты) который отображается на форме. Задача в том, чтобы сделать не модальный вопрос с кнопками Да Нет, перед открытием формы выбора так, что если пользователь выбирает Нет не чего не происходит т.е. СтандартнаяОбработка = ЛОЖЬ, а если пользователь нажимает да, то открывается форма выбора и пользователь выбирает элемент справочника. Но вот в чем загвостка перед вопросом форма выбора не должна открываться ведь это не модальный вопрос. Пробую так. &НаКлиенте Процедура ОбработатьВопросСменыВладельца(Результат, ДополнительныеПараметры) Экспорт Если Результат = КодВозвратаДиалога.Да Тогда ВладелецПомещенияНачалоВыбора(ДополнительныеПараметры.Элемент, ДополнительныеПараметры.ДанныеВыбора, ДополнительныеПараметры.СтандартнаяОбработка, ДополнительныеПараметры.НеПервыйВызов) КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ВладелецПомещенияНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка, НеПервыйВызов = НЕОПРЕДЕЛЕНО) Если ЕстьВладелейПомещенияНаДату(Объект.Владелец, ДатаАктуальности, Объект.Ссылка) = ИСТИНА И НеПервыйВызов = НЕОПРЕДЕЛЕНО Тогда НеПервыйВызов = ИСТИНА; ДополнительныеПараметры = Новый Структура(); ДополнительныеПараметры.Вставить("Элемент", Элемент); ДополнительныеПараметры.Вставить("ДанныеВыбора", ДанныеВыбора); ДополнительныеПараметры.Вставить("СтандартнаяОбработка", СтандартнаяОбработка); ДополнительныеПараметры.Вставить("НеПервыйВызов", НеПервыйВызов); СтандартнаяОбработка = ЛОЖЬ; ТекстВопроса = НСтр("ru='ВНИМАНИЕ! На дату актуальности по данному помещению уже есть владелец |Вы уверены, что хотите сменить Владельца?'"); Обработчик = Новый ОписаниеОповещения("ОбработатьВопросСменыВладельца", ЭтаФорма, ДополнительныеПараметры); ПоказатьВопрос(Обработчик, ТекстВопроса, РежимДиалогаВопрос.ДаНет, 20, КодВозвратаДиалога.Да, НСтр("ru='Подтверждение смены владельца'")); Иначе СтандартнаяОбработка = ИСТИНА; КонецЕсли; НеПервыйВызов = НЕОПРЕДЕЛЕНО; КонецПроцедуры На кнопку Нет все прекрасно срабатывает вернее не чего не срабатывает как и должно быть. На кнопку Да также не чего не срабатывает ))), а должно открыться форма выбора. Как быть? Всем заранее спасибо за ответы. |
|||
1
elCust
24.10.17
✎
14:16
|
Прочитайте вот здесь http://its.1c.ru/docs/v8nonmodal/#19 про блокирующие формы.
Думаю найдете решение. |
|||
2
Elf56
24.10.17
✎
14:27
|
Все оказалось куда проще просто в процедуру обработчика вопроса надо было сделать вот так
&НаКлиенте Процедура ОбработатьВопросСменыВладельца(Результат, ДополнительныеПараметры) Экспорт Если Результат = КодВозвратаДиалога.Да Тогда ОткрытьФорму("Справочник.Контрагенты.ФормаВыбора", , ДополнительныеПараметры.Элемент); КонецЕсли; КонецПроцедуры Где ДополнительныеПараметры это элемент формы из которого вызывается вопрос |
|||
3
Elf56
24.10.17
✎
14:28
|
ДополнительныеПараметры.Элемент надо заменить на ДополнительныеПараметры
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |