|
Получить параметр формы | ☑ | ||
---|---|---|---|---|
0
Lepochkin
19.07.11
✎
11:44
|
Пишу в основном на семерке, потом задаю глупый вопрос. Открываю форму внешней обработки, ей передаю параметр. В семерке что бы получить параметр я пишу просто Форма.Параметр, а как это делается в восьмерке, что-то никак не найду.
|
|||
1
Ork
19.07.11
✎
11:47
|
(0) Покажи как параметр передаешь?
Чисто интресно стало. |
|||
2
Lepochkin
19.07.11
✎
11:48
|
во = ВнешниеОбработки.Создать(Кат+"ВнешниеФункции.epf");
ФормаВО=ВО.ПолучитьФорму(); Параметр = Новый Структура; Параметр.Вставить("Имя1","Знач1"); ОткрытьФормуМодально(ФормаВО,Параметр); |
|||
3
Sarmen
19.07.11
✎
11:49
|
"Знач1" - точно в кавычках? так и передаёшь значение? в кавычках?
|
|||
4
Lepochkin
19.07.11
✎
11:50
|
а вот как мне в процедуре перед открытием этот параметр получить. если я в корне не прав, то покажите как нужно
|
|||
5
Ork
19.07.11
✎
11:50
|
(2) Что-то вы недоговариваете... В восьмерке нет процедуры ОткрытьФормуМодально.
|
|||
6
Sarmen
19.07.11
✎
11:50
|
теоретически обратиться к параметру так:
Параметры.Имя1 |
|||
7
Lepochkin
19.07.11
✎
11:50
|
(5)А как же у меня тогда форма открывается )))
|
|||
8
Lepochkin
19.07.11
✎
11:51
|
(6) Пробовал. Пишет что переменная Параметры не определена
|
|||
9
Sarmen
19.07.11
✎
11:52
|
так у тебя форма значит не управляемая?
|
|||
10
Lepochkin
19.07.11
✎
11:52
|
(3)Не принципиально что я за значение передаю. Вопрос как получить
|
|||
11
Lepochkin
19.07.11
✎
11:52
|
(9)Это уже интересней. Откройте глаза семерошнику где галку поставить что бы управляемой стала
|
|||
12
Ork
19.07.11
✎
11:53
|
(7) Даже затрудняюсь что-либо понять. А тем более объяснить.
В восьмерке есть методы формы Открыть и ОткрытьМодально. Метода ОткрытьФормуМодально - нет. Может у тебя платформа какая эксклюзивная? |
|||
13
Reset
19.07.11
✎
11:55
|
(12) Есть такая процедура (не метод)
|
|||
14
Sarmen
19.07.11
✎
11:55
|
ОткрытьФормуМодально - есть, но туда в первый параметр передаётся имя формы, а не форма.
|
|||
15
Lepochkin
19.07.11
✎
11:55
|
У формы нет метода открыть я не спорю. Тоесть ФормаВО.ОткрытьФормуМодально нет,
|
|||
16
Reset
19.07.11
✎
11:55
|
+(13) Глобального контекста
|
|||
17
Lepochkin
19.07.11
✎
11:56
|
Дак параметр то как получить???
|
|||
18
Sarmen
19.07.11
✎
11:58
|
Если ты форму уже получил (ФормаВО), то и обращайся к её параметрам напрмямую, а потом открывай форму.
Примерно так: ФормаВО.Параметры.Имя1 = "Знач1"; ФормаВО.ОткрытьМодально(); |
|||
19
Lepochkin
19.07.11
✎
12:26
|
(18)Не понял...
|
|||
20
Lepochkin
19.07.11
✎
12:32
|
Вот что в СП
ОткрытьФормуМодально (OpenFormModal) Вариант синтаксиса: По названию Синтаксис: ОткрытьФормуМодально(<ИмяФормы>, <Параметры>, <Владелец>) Дак как этот четров <Параметры> получить, в процедуре ПередОткрытием. И кстати мне его потом же нужно будет изменить. В семерке это опять же делалось просто Форма.Параметр=НовоеЗначение |
|||
21
Sarmen
19.07.11
✎
12:35
|
ФормаВО=ВО.ПолучитьФорму(); - вот это что такое? что за код?
Этот код "Получает форму или управляемую форму". После того как ты форму получил - тебе становится доступным контекст формы, включая её параметры (если они есть! они точно есть у тебя в форме? эти параметры?) и ты можешь обращаться к параметрам этой формы: ФормаВО.Параметры.<Имя параметра> (если форма - управляемая, в обычной форме - параметров нет). Ответь - форма управляемая? Далее, после заполнения параметров - просто открыть форму с заполненными параметрами ФормаВО.ОткрытьФормуМодально(); |
|||
22
Lepochkin
19.07.11
✎
12:38
|
Просвети плиз как ее сделать управляемой. Потому что у меня видимо она не управляемая.
|
|||
23
Reset
19.07.11
✎
12:39
|
Предугадывая след вопрос, сразу отвечу на (11) - нигде.
Только создав новую форму. |
|||
24
Reset
19.07.11
✎
12:39
|
Эх не успел до вопроса)
|
|||
25
Sarmen
19.07.11
✎
12:41
|
Если у тебя в форме нет параметров, значит это - обычная форма. И обращаться надо не к параметрам, а к реквизитам формы или объекта. И значит функция ОткрытьФормуМодально(<ИмяФормы>, <Параметры>, <Владелец>) в этом случае не подходит. Не используй её!
|
|||
26
Sarmen
19.07.11
✎
12:42
|
Делай так:
ФормаВО = ВО.ПолучитьФорму(); ФормаВО.Имя1 = "Знач1"; ФормаВО.ОткрытьМодально(); |
|||
27
Reset
19.07.11
✎
12:43
|
Тут в параллельных темах очень толково описана ситуация с новичком и методами X,Y,Y
Очевидно, тут тоже попытка решить чтото элементарное через опу, скрывая цель и заставляя всех искать именно решение через опу вместо первоначальной цели. |
|||
28
Lepochkin
19.07.11
✎
12:47
|
(27) Я просто думаю как семерошник. И постоянно думаю, нафига надо было так переделывать язык.
А сделать нужно следующее. Передать во внешнюю обработку какой-то параметр, обработать его и вернуть полученное значение после обработки обратно. |
|||
29
Reset
19.07.11
✎
12:49
|
используй реквизит
пример в (26) |
|||
30
Sarmen
19.07.11
✎
12:49
|
(4) "а вот как мне в процедуре перед открытием этот параметр получить":
Процедура ПередОткрытием() // Сообщить значение реквизита Сообщить(Строка(Имя1)); КонецПроцедуры т.е. обращаться к реквизитам объекта или формы можно напрямую: Имя1 Или через объект или форму: ЭтотОбъект.Имя1 или ЭтаФорма.Имя1 |
|||
31
Reset
19.07.11
✎
12:51
|
(29)+
для возвращения используй Закрыть(возвращаемоеЗначение) можно возвращать еще разными способами (зависит от контекста задачи) |
|||
32
Sarmen
19.07.11
✎
12:52
|
(28) для получения результата обработки форму открывать так:
Результат = ФормаВО.ОткрытьМодально(); а для закрытия формы обработки используй (31) |
|||
33
Lepochkin
19.07.11
✎
12:57
|
Спасибо. Свою задачу решил, хотя и не понял как получить параметр после ОткрытьФормуМодально(). Ну да ладно на досуге поковыряюсь
|
|||
34
Reset
19.07.11
✎
13:00
|
(33) Вот так: Параметры.Имя
Ты скажешь, что у тебя нет параметры, и пойдет сказ про белого бычка. |
|||
35
Sarmen
19.07.11
✎
13:05
|
он уже в (8) сказал, что нет Параметры
наверно он понимает, что "параметр" - это то, что он передает в обработку, и этот же "параметр" (только изменённый) ему и должна вернуть обработка. |
|||
36
Reset
19.07.11
✎
13:11
|
(35) Та я ж понял уже. Путаница слова параметр и объекта языка Параметры, причем мы пытались разобраться со вторым, а не с первым (бессмысленное занятие, т.к. форма обычная)
Про это я и язвил в (27) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |