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