![]() |
|
Открыть форму модально и вызвать процедуру | ☑ | ||
---|---|---|---|---|
0
Dirk Diggler
22.12.09
✎
07:55
|
Как можно сперва открыть форму модально, а потом вызвать некоторую процедуру этой формы?
Навеяно вот этим: Форма=Справочники.ХарактеристикиНоменклатуры.ПолучитьФорму("ФормаВыбораСРасширеннымОтбором"); Форма.ПараметрВыборПоВладельцу=СтрокаСпецификации.Номенклатура; Форма.РежимВыбора=Истина; Форма.Открыть(); Форма.ОбработкаОбъектЗначенияСвойств.ПрочитатьЗаполнитьСвойстваИЗначения(Рез); Форму хотелось бы открыть модально, или как-то иначе ограничить действия юзера до закрытия формы. Как? |
|||
1
Zixxx
22.12.09
✎
07:58
|
>> Форму хотелось бы открыть модально, или как-то иначе ограничить действия юзера до закрытия формы. Как?
Форма.ОткрытьМодально(); |
|||
2
Dirk Diggler
22.12.09
✎
07:59
|
вызов процедуры видим?
Форма.ОбработкаОбъектЗначенияСвойств.ПрочитатьЗаполнитьСвойстваИЗначения(Рез); |
|||
3
Zixxx
22.12.09
✎
08:01
|
(2) Ага, вопросы задавай правильно, что мещает передать параметр и при открытии формы его посмотреть его и запустить нужную процедуру?
|
|||
4
Рэйв
22.12.09
✎
08:01
|
(0)Если откроешь модально, то никакого "потом" в контексте вызывающего модуля не будет пока не закроешь.
|
|||
5
Dirk Diggler
22.12.09
✎
08:02
|
(4) я в курсе. такое поведение от формы и ожидается. Если его можно добиться искусственно после вызова Открыть(), то буду благодарен за подсказку.
|
|||
6
Zixxx
22.12.09
✎
08:04
|
(5) После закрытия формы вызвать процедуру этой формы?
|
|||
7
Рэйв
22.12.09
✎
08:05
|
(5)Передавай какойнибудь параметр при открытии, указывающий, что ты хочешь выполнить определенную процедуру и в открываемой форме в ПриОткрытии() проверяй и выполняй нужное
|
|||
8
MoneG
22.12.09
✎
08:09
|
(0)
Форма.ОбработкаОбъектЗначенияСвойств.ПрочитатьЗаполнитьСвойстваИЗначения(Рез); Это не процедура формы, а процедура модуля обработки, которая является реквизитом формы. Не путайте себя и остальных. |
|||
9
Dirk Diggler
22.12.09
✎
08:10
|
(8) это не принципиально. там можно что угодно поставить. вопрос в том, чтобы выполнить процедуру после открытия формы.
|
|||
10
Zixxx
22.12.09
✎
08:14
|
(9) Создай у формы реквизит СтрокаДляВыполнения (Тип Строка), перед открытием пощешай в него имя процедуры, а при открытии сделай Выполнить(СтрокаДляВыполнения);
Весь параметр запуска нужных процедур сможешь писать из того места откуда открываешь форму |
|||
11
Dirk Diggler
22.12.09
✎
08:15
|
(7) методы параметров не принимают. как передать-то?
|
|||
12
Dirk Diggler
22.12.09
✎
08:16
|
(10) форма типовой конфы. менять крайне не хочется
|
|||
13
MoneG
22.12.09
✎
08:43
|
Процедура ПриОткрытии()
// 1. Если Вопрос("Ты юзер?", РежимДиалогаВопрос.ДаНет) = КодВозвратаДиалога.Да Тогда //2. //Если СуперПараметрФормы = Истина Тогда //3. .... //---------------------------------------- ПродолжитьРаботуСОграничениями(); Иначе ЗавершитьРаботуСистемы(); КонецЕсли; КонецПроцедуры |
|||
14
Dirk Diggler
22.12.09
✎
08:49
|
Хм. Не то. Уточним задачу. При открытии формы из моей обработки кроме того, что форму надо открыть, юзеру разрешить работать только в ней, пока не закроет, а кроме того - надо либо передать параметр(таблицу значений), либо после открытия формы заполнить табличное поле по этому параметру
|
|||
15
MoneG
22.12.09
✎
08:53
|
(14) "уточню" тоже по поводу (13): ПриОткрытии() "срабатывает" как при НеМодальном, так и при Модальном открытии;
в ветке "Тогда" как раз и можно (нужно) выполнить "заполнить табличное поле по этому параметру". |
|||
16
Dirk Diggler
22.12.09
✎
08:56
|
(15) как параметр-то снаружи передать? метод ПриОткрытии() не принимает параметров
|
|||
17
Zixxx
22.12.09
✎
08:58
|
(16) Реквизит только добавить на вкладку реквизиты или что-нибудь вроде констант
|
|||
18
MoneG
22.12.09
✎
09:05
|
(17) > или что-нибудь вроде констант
Экспортная переменная модуля объекта, которому принадлежит форма. Константы для другого предназначены. |
|||
19
Zixxx
22.12.09
✎
09:08
|
(18) Ему не желательно вообще формы менять, а так все предложения выше
|
|||
20
Dirk Diggler
22.12.09
✎
09:09
|
все равно без изменения объекта типовой не обойтись. добавил в реквизиты формы. работает.
|
|||
21
MoneG
22.12.09
✎
09:13
|
(19) > не желательно вообще формы менять
ага, зато константу в конфу забубенить - куда лучше! )) |
|||
22
Zixxx
22.12.09
✎
09:16
|
(21) Что касается именно того случая то да, но это естественно не оптимальный вариант
|
|||
23
hhhh
22.12.09
✎
09:56
|
(21) с добавленной константой обновление конфы идет без проблем, а если реквизит формы добавить, то вручную придется ковыряться.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |