Подскажите как передать параметры в обработку оповещения

1. AndKovalchuk 195 02.04.19 11:23 Сейчас в теме
Хочу передать параметры, чтобы после положительного ответа на вопрос, программа сделала копию договора

Процедура УстановитьПроцентПоДоговору(СтрокаТЧ)
	Если СтрокаТЧ.ПроцентПоДоговору = 0 Тогда
		Сообщить ("Процент не может быть ноль");
	Иначе
		НайденныйДоговор=НайтиДоговорПокупателя(СтрокаТЧ.Договор);
		Если НайденныйДоговор=СтрокаТЧ.Договор Тогда
			СтруктураПараметров = Новый Структура;
			СтруктураПараметров.Вставить("Объект",ЭтотОбъект);
			СтруктураПараметров.Вставить("Договор",СтрокаТЧ.Договор);
			СтруктураПараметров.Вставить("Процент",СтрокаТЧ.ПроцентПоДоговору);
			СтруктураПараметров.Вставить("СтрокаТЧ",СтрокаТЧ);
			Оповещение = Новый ОписаниеОповещения("ПослеОтветаНаВопрос",СтруктураПараметров);
            ПоказатьВопрос(Оповещение,"Создать договор покупателя?", РежимДиалогаВопрос.ДаНет,,КодВозвратаДиалога.Нет);
		Иначе
			УстановитьПроцентНаСервере(НайденныйДоговор, СтрокаТЧ.ПроцентПоДоговору);
		КонецЕсли;	
  КонецЕсли;
КонецПроцедуры

Показать


Но тогда при исполнении модуля возникает такая ошибка

{ВнешняяОбработка.Реализация_Проценты.Форма.Форма.Форма(622)}: Ошибка при вызове конструктора (ОписаниеОповещения)
Оповещение = Новый ОписаниеОповещения("ПослеОтветаНаВопрос",СтруктураПараметров);
по причине:
Не найден экспортируемый метод: ПослеОтветаНаВопрос

А когда пишу так
ОписаниеОповещения("ПослеОтветаНаВопрос",ЭтотОбъект);
            ПоказатьВопрос(Оповещение,"Создать договор покупателя?", РежимДиалогаВопрос.ДаНет,,КодВозвратаДиалога.Нет);


То тогда все ок, но параметров не передается.
По теме из базы знаний
Найденные решения
2. Boneman 302 02.04.19 11:30 Сейчас в теме
(1) в описании оповещения, не 2, а 3 параметра

Оповещение = Новый ОписаниеОповещения("ПослеЗакрытияВопросаОтменаОтключения",ЭтаФорма,Параметры);

Первый - это имя экспортной процедуры куда оно попадет послевопроса,
второй - это где ее искать, если в этом же модуле формы, то значит должна быть ЭтаФорма...но может быть и в каком нибудь общем модуле.
Третий параметр - это СтуктураПараметров - которую туда передаем,
и получаем в этой процедуре, вторым параметром
&НаКлиенте
Процедура ПослеЗакрытияВопросаОтменаОтключения(Результат,Параметры) Экспорт
user894576; cleaner_it; Gurami; Vadim_80; user591389_aska_rabota; Andy_Kanevsky; +6 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Boneman 302 02.04.19 11:30 Сейчас в теме
(1) в описании оповещения, не 2, а 3 параметра

Оповещение = Новый ОписаниеОповещения("ПослеЗакрытияВопросаОтменаОтключения",ЭтаФорма,Параметры);

Первый - это имя экспортной процедуры куда оно попадет послевопроса,
второй - это где ее искать, если в этом же модуле формы, то значит должна быть ЭтаФорма...но может быть и в каком нибудь общем модуле.
Третий параметр - это СтуктураПараметров - которую туда передаем,
и получаем в этой процедуре, вторым параметром
&НаКлиенте
Процедура ПослеЗакрытияВопросаОтменаОтключения(Результат,Параметры) Экспорт
user894576; cleaner_it; Gurami; Vadim_80; user591389_aska_rabota; Andy_Kanevsky; +6 Ответить
3. AndKovalchuk 195 02.04.19 11:31 Сейчас в теме
Извините, ступил.

Правильно было так
 СтруктураПараметров = Новый Структура;
   
            СтруктураПараметров.Вставить("Договор",СтрокаТЧ.Договор);
            СтруктураПараметров.Вставить("Процент",СтрокаТЧ.ПроцентПоДоговору);
     
            Оповещение = Новый ОписаниеОповещения("ПослеОтветаНаВопрос",ЭтотОбъект,СтруктураПараметров);
            ПоказатьВопрос(Оповещение,"Создать договор покупателя?", РежимДиалогаВопрос.ДаНет,,КодВозвратаДиалога.Нет);

Показать
Andy_Kanevsky; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот