|
Как передать параметры в другю форму? | ☑ | ||
|---|---|---|---|---|
|
0
Domovoi
30.09.10
✎
14:40
|
Открыта форма. На ней есть кнопка. При нажатии на данную кнопку надо чтоб открылась другая форма и передалась туда ТЗ и соответственно когда закроется форма то чтоб данные по ТЗ передались назад?
|
|||
|
1
Mitriy
30.09.10
✎
14:43
|
какой знакомый вопрос...
|
|||
|
2
Живой Ископаемый
30.09.10
✎
14:43
|
ОткрываемаяФорма.ТЗКакРеквизитФормыИлиОбъекта=ТЗпараметр;
|
|||
|
3
Domovoi
30.09.10
✎
14:51
|
Что-то не совсем понятно. У меня форма элемента справочника номенклатура, при записи надо чтоб проверяла на задвойки и если есть таковы ты открывало другую форму которая так же принадлежит этому справочнику и передавала туда ТЗ.
1-форма - ФормаЭлемента 2-форма - ПоискДублей Процедура ПередЗаписью ... ЭтотОбъект.ПолучитьФорму("ПоискДублей").ОткрытьМодально(); ... КонецПроцедуры Я писал так но куда припихнуть передачу ТЗ не пойму. |
|||
|
4
Дарт Вейдер
30.09.10
✎
14:54
|
НоваяФорма = ЭтотОбъект.ПолучитьФорму("ПоискДублей");
НоваяФорма.ТЗПараметр = ТЗПараметр; где ТЗПараметр - реквизит открываемой формы |
|||
|
5
Domovoi
30.09.10
✎
14:58
|
Спасибо. Вроде понял, а назад как вернуть? Тоже заводить реквизит?
|
|||
|
6
Дарт Вейдер
30.09.10
✎
15:04
|
(5) см. функцию ОповеститьОВыборе(<Значение выбора>)
|
|||
|
7
Дарт Вейдер
30.09.10
✎
15:07
|
т.е. будет вот так в главной форме
... НоваяФорма = ЭтотОбъект.ПолучитьФорму("ПоискДублей"); НоваяФорма.ТЗПараметр = ТЗПараметр; ТЗПараметр = НоваяФорма.ОткрытьМодально(); ... и вот так в подчиненной ... ОповеститьОВыборе(ТЗПараметр); ... |
|||
|
8
Domovoi
30.09.10
✎
15:08
|
Я понял. Спасибо. Буду пробовать.
|
|||
|
9
Mitriy
30.09.10
✎
16:10
|
(7) если форма открывается модально, то ОповеститьОВыборе на фиг не нужна...
|
|||
|
10
Mitriy
30.09.10
✎
16:14
|
Форма (Form)
Закрыть (Close) Синтаксис: Закрыть(<ПараметрЗакрытия>) Параметры: <ПараметрЗакрытия> (необязательный) Тип: Произвольный. Параметр закрытия формы, открытой в модальном режиме. Это значение будет возвращено как результат метода, открывающего форму модально. Описание: Закрывает форму. Если закрываемая форма была открыта в модальном режиме, то метод может передать команду закрытия методу, открывшему форму. |
|||
|
11
Вальдемар
30.09.10
✎
16:23
|
Можно программно открыть форму, указав текущую форму как Владельца, тогда можно будет получить результат обратно
|
|||
|
12
Вальдемар
30.09.10
✎
16:25
|
(9) пока удавалось без оповещений обходится, указывал владельца и усё
|
|||
|
13
Mitriy
30.09.10
✎
16:28
|
(12) Закрыть(ТЗПараметр)
|
|||
|
14
Domovoi
30.09.10
✎
16:52
|
А если мне нужно новый параметры передать назад? Т.е. Из главной формы я передал ТЗ, а назад мне надо передать номер строки. То как это делается?
|
|||
|
15
Domovoi
30.09.10
✎
16:54
|
Точнее было б не плохо передать два параметра, "НомерСтроки" и "Отказ"
|
|||
|
16
Дарт Вейдер
30.09.10
✎
17:10
|
(15) да без разницы вообще
|
|||
|
17
Дарт Вейдер
30.09.10
✎
17:10
|
(15) в структуре передавай
|
|||
|
18
Domovoi
30.09.10
✎
17:11
|
А как получать в главной форме?
|
|||
|
19
Domovoi
30.09.10
✎
17:11
|
+(18)Если я передаю в новой переменной
|
|||
|
20
Ayvengo
30.09.10
✎
17:12
|
Еще можно поизвращаться и через сохранение и восстановление значений а потом очистку их в нужный момент :D
|
|||
|
21
Дарт Вейдер
30.09.10
✎
17:13
|
(18) точно также
СтруктураРезультат = НоваяФорма.ОткрытьМодально(); СтруктураРезультат.НомерСтроки СтруктураРезультат.Отказ ты же передаешь не сами переменные, а значения переменных |
|||
|
22
Domovoi
30.09.10
✎
17:16
|
(21)Не. Я уже нахожусь в модальнойФорме и из нее хочу передать НомерСтроки и Отказ
в главную. Или чтоб их передать назад надо позабодиться зарание, и перед открытием модальной формы создать эти переменные? |
|||
|
23
Mitriy
30.09.10
✎
17:17
|
(22) млять... что тебе мешает создать структуру с любыми опупенными значениями и запулить ее обратно?
|
|||
|
24
Ayvengo
30.09.10
✎
17:17
|
Еще можешь на форме реквизиты завести
Форма = ПолучитьФорму("Трололо"); Форма.НомерСтрок = 1; Форма.Отказ = Ложь; Форма.ОткрытьМодально(); -- а вообще погляди че там в форме есть после того как получил |
|||
|
25
Дарт Вейдер
30.09.10
✎
17:18
|
(22) из подчиненной можешь передать что угодно
|
|||
|
26
Дарт Вейдер
30.09.10
✎
17:18
|
(25) Закрыть(Новый Структура("НомерСтроки, Отказ", НомерСтроки, Истина))
|
|||
|
27
Ayvengo
30.09.10
✎
17:20
|
(26) - а ругаццо не будет что параметров много?
|
|||
|
28
Дарт Вейдер
30.09.10
✎
17:20
|
(27)ниии )))
|
|||
|
29
Дарт Вейдер
30.09.10
✎
17:20
|
параметр то один
|
|||
|
30
Ayvengo
30.09.10
✎
17:24
|
(29) хм, интересненько :) Раньше всегда через Вставить тыркался :)
|
|||
|
31
Ayvengo
30.09.10
✎
17:25
|
Религия не позволяла видать так сделать :D
|
|||
|
32
Domovoi
30.09.10
✎
17:31
|
Туго как-то идет.
Главная форма - ФормаЭлемента ту которую открываем модально - ПоисДублей на форме "ПоисДублей" есть ТП - ТабПохожиеЭлементы //ФормаЭлемента Процедура ПередЗакрытием //Сформировали ТЗ вероятных дублей ОткрываемаяФорма = ЭтотОбъект.ПолучитьФорму("ПоискДублей"); ОткрываемаяФорма.ТабПохожиеЭлементы = ТЗДубли; ОткрываемаяФорма.ОткрытьМодально(); //Тут надо получить Отказ и НомерСтроки. Что тут писать? КонецПроцедуры //ПоискДублей Процедура ПриОткрытии() //возможно лучше будет передоткрытием, потом проверю ЭлементыФормы.ТабПохожиеЭлементы.СоздатьКолонки(); КонецПроцедуры Процедура Отмена(Кнопка) //Надо в главную форму передать номерстроки и отказ Закрыть(); КонецПроцедуры |
|||
|
33
Mitriy
30.09.10
✎
17:31
|
(30) через Вставить код потом легче читать, если значений много...
|
|||
|
34
Mitriy
30.09.10
✎
17:32
|
ушел вешаться...
|
|||
|
35
Ayvengo
30.09.10
✎
17:45
|
(33) угу, только я даже с 1 или 2мя значениями так делал :) через вставить
|
|||
|
36
Mitriy
30.09.10
✎
17:47
|
(35) ну и что?
все равно такой код смотрится аккуратнее... хотя, тоже иногда злоупотребляю (26) но это секрет )) |
|||
|
37
Дарт Вейдер
30.09.10
✎
18:04
|
(32) фуф..
ну давай снова да ладом: //ФормаЭлемента вместо ОткрываемаяФорма.ОткрытьМодально(); пишешь СтруктураРезультат = НоваяФорма.ОткрытьМодально(); по закрытии формы поиска дублей у тебя в СтруктураРезультат вернется возвращаемое значение из подчиненной формы //ПоискДублей вместо //Надо в главную форму передать номерстроки и отказ Закрыть(); пишешь Закрыть(Новый Структура("НомерСтроки, Отказ", НомерСтроки, Отказ)) где НомерСтроки, Отказ - твои переменные |
|||
|
38
Дарт Вейдер
30.09.10
✎
18:05
|
(37) ссори, поправочка
СтруктураРезультат = ОткрываемаяФорма.ОткрытьМодально(); конечно же |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |