|
Сообщение пользователю в модуле управляемого приложения | ☑ | ||
---|---|---|---|---|
0
ok_sys
19.07.17
✎
15:38
|
Здравствуйте. 8.3, чистая конфа. Нужно при закрытии 1с выдавать сообщение: "Точно закрыть?" если да - то закрывать, если нет - то не закрывать. Без модальных окон. Как сделать?
|
|||
1
butterbean
19.07.17
✎
15:41
|
через ПоказатьВопрос()
|
|||
2
ok_sys
19.07.17
✎
15:42
|
Пробовал
|
|||
3
Naf2017
19.07.17
✎
15:42
|
Глобальный контекст.ПередЗавершениемРаботыСистемы (Global context.BeforeExit)
Глобальный контекст (Global context) ПередЗавершениемРаботыСистемы (BeforeExit) Синтаксис: ПередЗавершениемРаботыСистемы(<Отказ>, <ТекстПредупреждения>) Параметры: <Отказ> Тип: Булево. Признак отказа от выхода из программы. Если в теле процедуры-обработчика установить данному параметру значение Истина, то работа с программой не будет завершена. Значение по умолчанию: Ложь. <ТекстПредупреждения> Тип: Строка. Если параметру <Отказ> установлено значение Истина и <ТекстПредупреждения> содержит непустую строку, то окно сообщения с этой строкой будет выведено на экран и пользователю будет предложено на выбор - остаться или покинуть окно без сохранения данных. Если параметру <Отказ> установлено значение Истина и <ТекстПредупреждения> содержит пустую строку, то пользователю будет отображено окно сообщения с общим текстом "Работа в данном окне не завершена" и предложено - остаться или покинуть окно без сохранения данных. Если параметру <Отказ> установлено значение Ложь, то значение параметра <ТекстПредупреждения> будет проигнорировано, и процесс завершения работы приложения будет продолжен. Примечание: В браузере Mozilla Firefox окно сообщения не будет содержать текста предупреждения. Описание: Возникает перед завершением работы 1С:Предприятия в режиме УправляемоеПриложение до закрытия главного окна. В процедуре-обработчике могут быть выполнены необходимые проверки и, при необходимости, может быть установлен параметр отказа от выхода из программы. В процессе завершения работы приложения запрещены серверные вызовы и открытие окон. Примечание: Данное событие вызывается первым. Далее вызываются события в следующей последовательности: ПередЗакрытием у открытых форм; ПриЗакрытии у открытых форм; ПриЗавершенииРаботыСистемы. Если в процедуре выполняются асинхронные вызовы, то в процедуре следует установить параметр Отказ значение Истина и из процедуры оповещения о завершении синхронного вызова следует продолжить завершение работы системы. См. также: Глобальный контекст, событие ПриЗавершенииРаботыСистемы -------------------------------------------------------------------------------- Методическая информация |
|||
4
ok_sys
19.07.17
✎
15:49
|
Я делаю ПоказатьВопрос(****);
но он закрывает систему до того, как я нажал Да или Нет |
|||
5
ok_sys
19.07.17
✎
15:50
|
И как 2-ой параметр мне нужно указать для ПоказатьВопрос()?
я в модуле управляемого приложения |
|||
6
butterbean
19.07.17
✎
15:50
|
(4) дык ты Отказ = Истина пиши
|
|||
7
ok_sys
19.07.17
✎
15:52
|
А он ругается еще на "Не найдет экспортируемый метод" (1-ый параметр ПоказатьВопрос())
|
|||
8
butterbean
19.07.17
✎
15:52
|
(5) в общем модуле пиши процедуру обработки ответа, второй параметр и будет этот общий модуль
|
|||
9
Timon1405
19.07.17
✎
15:53
|
разве в типовых это не реализовано?
|
|||
10
ok_sys
19.07.17
✎
15:54
|
Общий модуль клиент?
|
|||
11
ok_sys
19.07.17
✎
15:54
|
(9) не нашел
|
|||
12
butterbean
19.07.17
✎
15:55
|
(10) да
|
|||
13
ok_sys
19.07.17
✎
15:55
|
(12) Все равно "Не найдет экспортируемый метод"
|
|||
14
ok_sys
19.07.17
✎
15:57
|
а может можно как-то в модуле сеанса? или какой-то общей формой реализовать? есть варианты?
|
|||
15
Naf2017
19.07.17
✎
15:58
|
для кого я (3) написал?
|
|||
16
butterbean
19.07.17
✎
15:58
|
(14) все работает и с общим модулем:
1. он должен быть неглобальным и отрабатываться на тоноком клиенте 2. процедура в нем должна быть экспортная |
|||
17
ok_sys
19.07.17
✎
15:58
|
От я валенок... ) спасибо, чувак! я не правильно 2-ой параметр передавал
|
|||
18
ok_sys
19.07.17
✎
15:59
|
(15) я там и делал всю эту операцию, но там не получалось вот я и предположил сделать её где-то в другом месте
|
|||
19
FIXXXL
19.07.17
✎
16:01
|
(0) в Модуле управляемого приложения (3) сделай
в принципе и всё |
|||
20
ok_sys
19.07.17
✎
16:04
|
Вопрос появляется, а теперь как при нажатии "да" закрывать 1с?
|
|||
21
ok_sys
19.07.17
✎
16:07
|
Параметр Отказ нужно передать?
|
|||
22
ok_sys
19.07.17
✎
16:11
|
Режим = РежимДиалогаВопрос.ДаНет;
Оповещение = Новый ОписаниеОповещения("ПослеЗакрытияВопроса", ОбщийМодуль2, Отказ); ПоказатьВопрос(Оповещение, "Тратата?", Режим); Отказ = Истина; |
|||
23
ok_sys
19.07.17
✎
16:11
|
Процедура ПослеЗакрытияВопроса(Результат, Параметры) Экспорт
Если Результат = КодВозвратаДиалога.Да Тогда Параметры = Истина; КонецЕсли; КонецПроцедуры |
|||
24
ok_sys
19.07.17
✎
16:11
|
бошка кипит уже( что делать?)
|
|||
25
butterbean
19.07.17
✎
16:13
|
(23) не нужны тебе параметры, просто пиши ПрекратитьРаботуСистемы()
|
|||
26
butterbean
19.07.17
✎
16:13
|
(25)+ хотя непонятно почему ты (3) не воспользовался если тебе надо просто спросить
|
|||
27
ok_sys
19.07.17
✎
16:14
|
(25) Спасибо) вот теперь точно все! Тема закрыта.
|
|||
28
ok_sys
19.07.17
✎
16:15
|
(26) и так попробую
|
|||
29
Волшебник
модератор
19.07.17
✎
16:17
|
(25) не стоит так делать. Профиль не сохраняется
|
|||
30
butterbean
19.07.17
✎
16:20
|
(29) а как? завершитьРаботуСистемы()? чот я подзабыл уже
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |