Диалог с пользователем "ПоказатьВопрос" в процедуре расширения, дождаться ответа и выполнить
Приветствую, Форумчане!
ЕРП
В расширение перенес процедуру:
Совсем запутался. Нужно в процедуре расширения задать вопрос. Дождаться ответа и в зависимости от полученного ответа изменить данные Результат (истина/ложь).
Ответ = Вопрос("олрлорло", РежимДиалогаВопрос.ДаНет); - понимаю, что это неправильно, написал уже от безисходности :-), но он как бы работает правильно, т.е. ждет ответа, потом продолжает работать...
Как правильно применить "ПоказатьВопрос" или что-либо другое, чтобы сработал код после вопроса, т.е. дождался ответа, а потом
ЕРП
В расширение перенес процедуру:
&Вместо("ИспользоватьДОДляХраненияФайловОбъекта")
Функция Доп_ИспользоватьДОДляХраненияФайловОбъекта(Форма, Команда, ВладелецПрисоединенныхФайлов)
// Вставить содержимое метода.
Результат = ПродолжитьВызов(Форма, Команда, ВладелецПрисоединенныхФайлов);
Ответ = Вопрос("олрлорло", РежимДиалогаВопрос.ДаНет);
//ОписаниеОповещения = Новый ОписаниеОповещения("ВопросПереносФайловЗавершение", ЭтотОбъект);
// ТекстВопроса = "Открыть внутренние присоединенные файлы?";
// Кнопки = Новый СписокЗначений;
// Кнопки.Добавить(КодВозвратаДиалога.Да);
// Кнопки.Добавить(КодВозвратаДиалога.Пропустить);
//
// ПоказатьВопрос(ОписаниеОповещения, ТекстВопроса, Кнопки,, КодВозвратаДиалога.Да);
Если Ответ = 0 Тогда
Результат = Ложь;
КонецЕсли;
Возврат Результат;
КонецФункции
&НаКлиенте
Процедура ВопросПереносФайловЗавершение(Результат, ОписаниеОповещения) Экспорт
Если Результат = КодВозвратаДиалога.Да Тогда
ОтветРезультата = 0;
ИначеЕсли Результат = КодВозвратаДиалога.Пропустить Тогда
ОтветРезультата = 1;
КонецЕсли;
КонецПроцедуры
ПоказатьСовсем запутался. Нужно в процедуре расширения задать вопрос. Дождаться ответа и в зависимости от полученного ответа изменить данные Результат (истина/ложь).
Ответ = Вопрос("олрлорло", РежимДиалогаВопрос.ДаНет); - понимаю, что это неправильно, написал уже от безисходности :-), но он как бы работает правильно, т.е. ждет ответа, потом продолжает работать...
Как правильно применить "ПоказатьВопрос" или что-либо другое, чтобы сработал код после вопроса, т.е. дождался ответа, а потом
Если ОтветОтПоказатьВопрос = "Да" Тогда
Результат = Ложь;
КонецЕсли;
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
&НаКлиенте
Функция ПерваяФункция()
ОписаниеОповещения = Новый ОписаниеОповещения("ОбработкаОтвета", ЭтотОбъект);
ПоказатьВопрос(ОписаниеОповещения, "Вам обработать ответ?",РежимДиалогаВопрос.ДаНет, 60);
КонецФункции
&НаКлиенте
Процедура ОбработкаОтвета(РезультатВопроса, ДополнительныеПараметры) Экспорт
Если РезультатВопроса = КодВозвратаДиалога.Да Тогда
КонецЕсли;
КонецПроцедуры
Показать
Все указанные варианты пробовал... На счет Асинх - у меня в расширении не Асинхрованная функция
В описании оповещения я получаю правильный ответ, но "ПоказатьВопрос" не останавливает работу и не ждет ответа и сразу выполняется код, что в конце функции,
Т.е. результат не обрабатывается, а передается как был в начале функции и продолжает выполнение остальных команд, а потом уже выводит вопрос с обработкой, но толку уже от этой обработки нету, т.к. всё выполнилось...
В описании оповещения я получаю правильный ответ, но "ПоказатьВопрос" не останавливает работу и не ждет ответа и сразу выполняется код, что в конце функции,
Возврат Результат;
Т.е. результат не обрабатывается, а передается как был в начале функции и продолжает выполнение остальных команд, а потом уже выводит вопрос с обработкой, но толку уже от этой обработки нету, т.к. всё выполнилось...
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот