|
ПоказатьВводСтроки() ПриОткрытии() |
☑ |
0
Сметанин
25.07.18
✎
12:41
|
Всем доброго дня.
Такая задача. Внешнюю обработку нужно защитить паролем при запуске.
В модуле формы пишу такой код:
&НаКлиенте
Процедура ПриОткрытии(Отказ)
Строка = "";
ОписаниеОповещения = Новый ОписаниеОповещения("ПроверкаКода", ЭтаФорма);
ПоказатьВводСтроки(ОписаниеОповещения, Строка, "Введите код");
Если ВведенныйКод <> "123" Тогда
Отказ = Истина;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПроверкаКода(ПолученноеЗначение, ПереданныеПараметры) Экспорт
ВведенныйКод = ПолученноеЗначение;
КонецПроцедуры
ВведенныйКод - это реквизит формы.
Процедура не отрабатывает так как нужно, то есть ВведенныйКод при проверке остается пустое. Как правильно написать?
|
|
1
Сметанин
25.07.18
✎
12:42
|
Через ВвестиСтроку работает, но ругается, что использование модальных окон запрещено
|
|
2
Малыш Джон
25.07.18
✎
12:44
|
"при проверке остается пустое": проверка - это условие в процедуре ПриОткрытии()?
|
|
3
Сметанин
25.07.18
✎
12:44
|
да
|
|
4
spectre1978
25.07.18
✎
12:45
|
(0) наверно, придется поменять логику. По умолчанию форма должна открываться. Но - неработоспособной (например, все поля и кнопки неактивные). И только при наличии верного пароля все должно ожить.
|
|
5
Сметанин
25.07.18
✎
12:53
|
(4) В этом случае все равно придется писать условие ПриОткрытии, а там введенный пароль не получается проверить
|
|
6
Сметанин
25.07.18
✎
13:04
|
(4) Хотя можно делать проверку при нажатии на кнопку выполнения. За идею спасибо
|
|
7
hhhh
25.07.18
✎
13:06
|
(5) ну так
&НаКлиенте
Процедура ПроверкаКода(ПолученноеЗначение, ПереданныеПараметры) Экспорт
ВведенныйКод = ПолученноеЗначение;
Если ВведенныйКод <> "123" Тогда
Отказ = Истина;
КонецЕсли;
КонецПроцедуры
|
|
8
Малыш Джон
25.07.18
✎
13:07
|
(3) потому что это немодальные окна
Ты ПоказатьВВодСтроки() запустил, оповещение сделал, но ПриОткрытии() от этого не затормозилось, а как продолжало выполняться - так и выполняется
|
|
9
Малыш Джон
25.07.18
✎
13:08
|
(7) а на что этот Отказ будет влиять?
|
|
10
Сметанин
25.07.18
✎
13:09
|
(7) Так не работает. Форма всегда открывается
|
|
11
hhhh
25.07.18
✎
13:10
|
(9) ну так тогда
&НаКлиенте
Процедура ПроверкаКода(ПолученноеЗначение, ПереданныеПараметры) Экспорт
ВведенныйКод = ПолученноеЗначение;
Если ВведенныйКод <> "123" Тогда
Закрыть();
КонецЕсли;
КонецПроцедуры
|
|
12
D_E_S_131
25.07.18
✎
13:11
|
(10) Вместо "отказа" поставь "Закрыть()"
|
|
13
Малыш Джон
25.07.18
✎
13:11
|
(10) ставь форму только на просмотр при открытии
а в оповещении - если прошел проверку - разблокируешь, нет - закрываешь форму
|
|
14
Сметанин
25.07.18
✎
13:17
|
(11) (12) Спасибо! работает
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший