![]() |
|
Есть ли способ запретить закрытие управляемой формы | ☑ | ||
---|---|---|---|---|
0
ytex
23.11.16
✎
15:51
|
Добрый день.
Необходимо запретить закрытие формы, убрать "крестик" или т.п. Пытался использовать событие: &НаКлиенте Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка) Отказ = Истина; КонецПроцедуры то и 1С-ка не закрывается. подскажите способ... |
|||
1
Господин ПЖ
23.11.16
✎
15:52
|
управляемые формы как и карфаген должны быть закрыты!
|
|||
2
oslokot
23.11.16
✎
16:06
|
(0) Чем не подошел способ ПриЗакрытии ?
|
|||
3
Жан Пердежон
23.11.16
✎
16:12
|
так при закрытии 1С-ки форма тоже должна закрыться, так что всё норм
|
|||
4
Fragster
гуру
23.11.16
✎
16:13
|
(3) в 8.3.8 есть параметр
|
|||
5
Fragster
гуру
23.11.16
✎
16:13
|
у меня при начале работы открывается форма с параметром и вот так:
&НаКлиенте Процедура ПередЗакрытием(Отказ, ЗавершениеРаботы, ТекстПредупреждения, СтандартнаяОбработка) Если Параметры.ГлавнаяФорма И Не ЗавершениеРаботы Тогда Отказ = Истина; КонецЕсли; КонецПроцедуры |
|||
6
Жан Пердежон
23.11.16
✎
16:13
|
(4) продолжайте наблюдения
|
|||
7
Fragster
гуру
23.11.16
✎
16:14
|
еще бы крестик с панели открытых убрать - вообще было бы супер
|
|||
8
ytex
23.11.16
✎
16:18
|
(2) там же нет параметра - отказ
|
|||
9
oslokot
23.11.16
✎
16:20
|
(8) дае есть там всё
+ в 8.3.8 даже больше |
|||
10
oslokot
23.11.16
✎
16:21
|
(8) могу скопипастить сюда выдержку из СП
|
|||
11
Fragster
гуру
23.11.16
✎
16:21
|
до 8.3.8 пихал в глобальную переменную модуля управляемого приложения перед закрытием и проверял переменную в форме
|
|||
12
ytex
23.11.16
✎
16:40
|
может туплю, но ниче не выходит:
платформа - 1С:Предприятие 8.3 (8.3.8.2054) &НаКлиенте Процедура ПередЗакрытием(Отказ, ЗавершениеРаботы, ТекстПредупреждения, СтандартнаяОбработка) Если ЗавершениеРаботы Тогда Отказ = Истина; КонецЕсли; КонецПроцедуры смотрю в отладчике параметр при закрытие формы или закрытие 1С, всегда ЗавершениеРаботы=Неопределено |
|||
13
ytex
23.11.16
✎
16:41
|
&НаКлиенте
Процедура ПриЗакрытии(ЗавершениеРаботы) ПриЗакрытииНаСервере(ЗавершениеРаботы); КонецПроцедуры тоже всегда ЗавершениеРаботы=Неопределено |
|||
14
DrShad
23.11.16
✎
16:42
|
еще нужно на клаве выковырять CTRL+F4 иначе не взлетит
|
|||
15
oslokot
23.11.16
✎
16:46
|
(13) так какую форму надо запретить закрывать? главное окно или просто дочернее?
|
|||
16
ytex
23.11.16
✎
16:47
|
(15) общая форма, которая запускается при старте 1С
|
|||
17
youalex
23.11.16
✎
16:47
|
ПередЗакрытием ()
|
|||
18
oslokot
23.11.16
✎
16:50
|
(16) Живой пример как надо делать (8.3.6)
//Не закрывать форму и спросить пользователя разрешения если в таблица формы не пустая &НаКлиенте Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка) Если Таблица.Количество() > 0 Тогда Отказ = Истина; // Спросить перед закрытием ОписаниеОповещения = Новый ОписаниеОповещения("ПередЗакрытиемПродолжение", ЭтотОбъект, Отказ); ПоказатьВопрос(ОписаниеОповещения, "Закрыть форму?", РежимДиалогаВопрос.ДаНет, 120,, "Подтвердите действие"); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ПередЗакрытиемПродолжение(Результат, Отказ) Экспорт Если Результат = КодВозвратаДиалога.Да Тогда Таблица.Очистить(); Закрыть(); КонецЕсли; КонецПроцедуры // ПередЗакрытиемПродолжение() |
|||
19
oslokot
23.11.16
✎
16:51
|
это с моей нетленки
|
|||
20
ytex
23.11.16
✎
16:59
|
(19) спасибо за идею.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |