|
v7: Передать параметр из одной формы в другую | ☑ | ||
---|---|---|---|---|
0
MobilSoyuz
08.12.11
✎
11:08
|
Вопрос стар как мир, но что-то туплю...
Есть модально Открытая форма из нее открывается новая форма, в новой формируется ТаблицаЗначений со списком клиентов. Необходимо при закрытии новой передать текущийЭлемент() ТаблицыЗначений в первую открытую форму. Порылся тут, нашел: Книга знаний: Параметр и контекст формы но тут идет речь о передаче параметра из открытой формы в новую при открытии новой и при изменении параметра в первой форме изменяется параметр во второй. Мне же необходимо обратное действие... Подскажите где я заразился ошибкой ДНК.... Заранее благодарен!!! |
|||
1
GLazNik
08.12.11
✎
11:10
|
Форма открывает модально или нет?
|
|||
2
MobilSoyuz
08.12.11
✎
11:10
|
(2) Да
|
|||
3
Rie
08.12.11
✎
11:10
|
(0) Присвой перед закрытием формы
Форма.Параметр = НужноеТебеЗначение; в вызвавшей форме прочитай переменную, которую передавал вторым параметром ОткрытьФорму - и возрадуйся. |
|||
4
MobilSoyuz
08.12.11
✎
11:17
|
(3)Первая форма открыта модально и вторая открыта модально
что-то не получается... |
|||
5
Rie
08.12.11
✎
11:17
|
(4) Код покажи.
|
|||
6
MobilSoyuz
08.12.11
✎
11:21
|
в первой форме
Процедура СписокКлиентов() ОткрытьФормуМодально("Обработка.ВсеКлиенты",глВзятьКонтекст(Контекст)); КонтекстФормы = глВзятьКонтекст(Контекст); Сообщить(КонтекстФормы); КонецПроцедуры во второй форме Перем Элемент; Процедура ПриОткрытии() ВсеКлиенты.НоваяКолонка("ШтрихКод", "Строка",40, 0, "Штрих Код", 20); ВсеКлиенты.НоваяКолонка("Фамилия", "Строка", 20, 0, "Фамилия", 20); ВсеКлиенты.НоваяКолонка("Имя", "Строка", 20, 0, "Имя", 20); ВсеКлиенты.НоваяКолонка("Отчество", "Строка", 20, 0, "Отчество", 20); Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = " |Обрабатывать НеПомеченныеНаУдаление; |Клиент = Справочник.Клиенты.ТекущийЭлемент; |Группировка Клиент упорядочить по Клиент.Фамилия; |"; Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда СтатусВозврата(0); Сообщить("Ошибка запроса по справочнику Клиенты","!!"); КонецЕсли; n = 1; Пока Запрос.Группировка("Клиент") = 1 Цикл ВсеКлиенты.НоваяСтрока(); ВсеКлиенты.УстановитьЗначение(n,1,Запрос.Клиент.Наименование) ; ВсеКлиенты.УстановитьЗначение(n,2,Запрос.Клиент.Фамилия) ; ВсеКлиенты.УстановитьЗначение(n,3,Запрос.Клиент.Имя) ; ВсеКлиенты.УстановитьЗначение(n,4,Запрос.Клиент.Отчество) ; n=n+1; КонецЦикла; КонецПроцедуры Процедура ПриЗакрытии() Форма.Параметр = Элемент; КонецПроцедуры |
|||
7
dk
08.12.11
✎
11:23
|
КонтекстФормы = глВзятьКонтекст(Контекст);
лишняя - убери |
|||
8
Rie
08.12.11
✎
11:23
|
(6) В (3) совсем не зря упомянуто, что вторым параметром в ОткрытьФорму надо передать _переменную_.
|
|||
9
Rie
08.12.11
✎
11:25
|
+(8)
Вызывающая форма: ЧегоТо = 0; ОткрытьФормуМодально("Обработка.ВызываемаяФорма",ЧегоТо); Сообщить(ЧегоТо); Вызываемая форма: Процедура ПриЗакрытии() Форма.Параметр = 12345; КонецПроцедуры |
|||
10
MobilSoyuz
08.12.11
✎
11:35
|
(9) Ок!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |