Имя: Пароль:
1C
1С v8
Возврат значения из общей формы в общий модуль
,
0 vse_serjezno
 
09.09.15
16:36
День добрый, уважаемые товарищи.

Суть вопроса вот в чем: Как получить из общей УФ, которую я вызываю в НЕ модальном режиме(с блокировкой окна владельца) из общего модуля и мне нужно получить результат из этой формы, т.е. вернуть значение в общий модуль.
В общем, я хочу сделать немодальный аналог метода Вопрос, который можно будет использовать в современных браузерах, не поддерживающих модальные окна.
Платформа 8.2

Я уже реализовала похожий алгоритм следующим образом:
из общей формы, из которой хочу задать вопрос, вызываю новую общую форму вопроса и методом Оповестить() передаю результат обратно. А в первой форме в обработчике ОбработкаОповещения() ловлю этот ответ. Работает.
Но не универсально.
1 vicof
 
09.09.15
16:38
Все уже до тебя сделано
Глобальный контекст.ПоказатьВопрос (Global context.ShowQueryBox)
Глобальный контекст (Global context)
ПоказатьВопрос (ShowQueryBox)
Синтаксис:

ПоказатьВопрос(<ОписаниеОповещенияОЗавершении>, <ТекстВопроса>, <Кнопки>, <Таймаут>, <КнопкаПоУмолчанию>, <Заголовок>, <КнопкаТаймаута>)
Параметры:

<ОписаниеОповещенияОЗавершении> (обязательный)

Тип: ОписаниеОповещения.
Содержит описание процедуры, которая будет вызвана после закрытия окна ввода значения со следующими параметрами:
<РезультатВопроса> - результат выбора пользователя: значение системного перечисления или значение, связанное с нажатой кнопкой. В случае закрытия диалога по истечении времени - значение Таймаут,
<ДополнительныеПараметры> - значение, которое было указано при создании объекта ОписаниеОповещения.
<ТекстВопроса> (обязательный)

Тип: Строка; ФорматированнаяСтрока.
Текст задаваемого вопроса.
<Кнопки> (обязательный)

Тип: РежимДиалогаВопрос; СписокЗначений.
Задает состав и текст кнопок диалога, а также, связанные с кнопками значения.
При использовании типа СписокЗначений:
Значение – содержит значение, связанное с кнопкой. Это значение является возвращаемым значением при выборе кнопки. В качестве значения может использоваться значение перечисления КодВозвратаДиалога, а также другие значения;
Представление – задает текст кнопки. Если представление не задано и в качестве значения используется значение перечисления КодВозвратаДиалога, то используется стандартное представление;
Картинка – не используется (должна быть пустой);
Пометка – не используется (должна быть пустой).
При использовании типа СписокЗначений список не должен быть пустым.
<Таймаут> (необязательный)

Тип: Число.
Интервал времени в секундах, в течение которого система будет ожидать ответа пользователя. По истечении интервала окно вопроса будет закрыто. Если параметр не указан, то время ожидания не ограничено.
Значение по умолчанию: 0.
<КнопкаПоУмолчанию> (необязательный)

Тип: Произвольный.
Определяет кнопку по умолчанию по типу кнопки или по связанному с ней значению.
<Заголовок> (необязательный)

Тип: Строка.
Содержит заголовок окна вопроса.
<КнопкаТаймаута> (необязательный)

Тип: Произвольный.
Определяет кнопку (по типу кнопки или по связанному с ней значению), на которой отображается количество секунд, оставшихся до истечения таймаута.
Возвращаемое значение:

Результат выбора пользователя будет передан в метод, описанный параметром <ОписаниеОповещенияОЗавершении>.
Описание:

Выводит на экран окно вопроса, при этом не ожидается завершения ответа пользователя.

Доступность:

Тонкий клиент, веб-клиент.
Пример:

Режим = РежимДиалогаВопрос.ДаНет;
Оповещение = Новый ОписаниеОповещения("ПослеЗакрытияВопроса", ЭтаФорма, Параметры);
ПоказатьВопрос(Оповещение, НСтр("ru = 'Продолжить выполнение операции?';"
    + " en = 'Do you want to continue?'"), Режим, 0);
//...

&НаКлиенте
Процедура ПослеЗакрытияВопроса(Результат, Параметры) Экспорт
    Если Результат = КодВозвратаДиалога.Нет Тогда
        Возврат;
    КонецЕсли;

    //...

КонецПроцедуры


См. также:

Глобальный контекст, метод ПоказатьПредупреждение

--------------------------------------------------------------------------------

     Методическая информация
2 butterbean
 
09.09.15
16:38
общий модуль не поймает твой ответ
3 vse_serjezno
 
09.09.15
17:04
(2) в этом-то и проблема.
4 vse_serjezno
 
09.09.15
17:05
(1) Это на какой платформе?
5 vse_serjezno
 
09.09.15
17:07
(1) я в СП такого найти не могу.
6 vicof
 
09.09.15
17:08
в 8.3.5.1486 точно есть
7 vse_serjezno
 
09.09.15
17:44
(6) я указала, что платформа 8.2
8 vse_serjezno
 
09.09.15
17:49
Мне известно, что на 8.3 для отказа от модальности реализованы специальные методы.
Вопрос данного поста все таки в том, как из формы передать значение...
9 vse_serjezno
 
09.09.15
17:52
Вроде как можно воспользоваться ХранилищемЗначений... Но мне не очень хочется это делать. :))
Есть ли другой способ?
Может, кто-то подскажет способ решить задачу удачнее?