![]() |
![]() |
![]() |
|
Передача параметров из второй формы обратно | ☑ | ||
---|---|---|---|---|
0
ОМЭЗ
30.07.08
✎
14:04
|
Я открыл форму
ФормаОбработки = Обработки.хркДопЗаполнениеДляТТН.ПолучитьФорму("Форма"); ФормаОбработки.ОткрытьМодально(); Как из этой формы вернуть обратно несколько параметров |
|||
1
yalex
30.07.08
✎
14:08
|
В парметрах метода Закрыть формы открытой модально возвращаешь что нужно
|
|||
2
ОМЭЗ
30.07.08
✎
14:12
|
Что не понятно,напиши примерчик пожалуйста
|
|||
3
DZENN
гуру
30.07.08
✎
14:15
|
<1C>
Форма (Form) Закрыть (Close) Синтаксис: Закрыть(<Параметр закрытия>) Параметры: <Параметр закрытия> (необязательный) Тип: Произвольный. Параметр закрытия формы, открытой в модальном режиме. Это значение будет возвращено как результат метода, открывающего форму модально. Описание: Закрывает форму. Если закрываемая форма была открыта в модальном режиме, то метод может передать команду закрытия методу, открывшему форму. Недоступен на сервере 1С:Предприятие. Не используется в модуле внешнего соединения. Примечание: Если форма является владельцем другой модально открытой формы, то данную форму нельзя закрыть до тех пор, пока не будет закрыта дочерняя модально открытая форма. Пример: Закрыть("ОК"); </1C> |
|||
4
ОМЭЗ
30.07.08
✎
14:19
|
(3)А что делать если мне нужно вернуть три параметра,а не один
|
|||
5
hhhh
30.07.08
✎
14:21
|
Структура (Structure)
Элементы коллекции: КлючИЗначение Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются элементы коллекции. Свойства: <Имя ключа> Методы: Вставить (Insert) Количество (Count) Очистить (Clear) Свойство (Property) Удалить (Delete) Конструкторы: По ключам и значениям Описание: Представляет собой коллекцию пар КлючИЗначение. При этом ключ может быть только строковым и должен удовлетворять требованиям, предъявляемым к именованию переменных встроенного языка. К значениям структуры можно обращаться как к свойствам объекта. При этом ключ используется как имя свойства. Структура используется обычно для хранения небольшого количества значений, каждое из которым имеет некоторое имя. Возможен обмен с сервером. Сериализуется. Пример: История = Новый Массив; Запись = Новый Структура; Запись.Вставить("Настройки", ПостроительОтчетов.ПолучитьНастройки()); Запись.Вставить("Отчет", ТекущаяСтрока); История.Добавить(Запись); См. также: Массив (Array) Элементы коллекции: Произвольный Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются значения элементов массива. Возможно обращение к значению элемента посредством оператора [...]. В качестве аргумента передается индекс значения (нумерация с 0). Методы: ВГраница (UBound) Вставить (Insert) Добавить (Add) Количество (Count) Найти (Find) Очистить (Clear) Получить (Get) Удалить (Delete) Установить (Set) Конструкторы: По количеству элементов Описание: Предназначен для доступа к элементам массива, его методам и конструктору. Возможен обмен с сервером. Сериализуется СписокЗначений (ValueList) Элементы коллекции: ЭлементСпискаЗначений Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются элементы коллекции. Возможно обращение к элементу коллекции посредством оператора [...]. В качестве аргумента передается индекс (нумерация с 0) элемента. Свойства: ТипЗначения (ValueType) Методы: Вставить (Insert) ВыбратьЭлемент (ChooseItem) ВыгрузитьЗначения (UnloadValues) Добавить (Add) ЗагрузитьЗначения (LoadValues) ЗаполнитьПометки (FillChecks) Индекс (IndexOf) Количество (Count) НайтиПоЗначению (FindByValue) ОтметитьЭлементы (CheckItems) Очистить (Clear) Получить (Get) Сдвинуть (Move) Скопировать (Copy) СортироватьПоЗначению (SortByValue) СортироватьПоПредставлению (SortByPresentation) Удалить (Delete) Конструкторы: По умолчанию Описание: Используется для доступа к методам |
|||
6
DZENN
гуру
30.07.08
✎
14:22
|
(4) СтруктураПараметров = Новый Структура;
СтруктураПараметров.Вставить("Параметр1", Параметр1); .... СтруктураПараметров.Вставить("ПараметрN", ПараметрN); кури типовые. |
|||
7
yalex
30.07.08
✎
14:23
|
Этот кусок одновременно открывает форму модально и принимает возвращаемое значение:
ВозвращаемоеЗначение = ФормаОбработки.ОткрытьМодально(); При закрытии формы открытой модально в параметре метода: ЭтаФорма.Закрыть(ВозвращаемоеЗначение) ну и когда получаешь форму указываешь владельца |
|||
8
kosts
30.07.08
✎
14:24
|
Если конфа своя, то не нужно структуры.
В реквизитах формы создай три параметра и юзай. рез = Форма.ОткрытьМодально(); Если рез = "ОК" тогда п1 = Форма.Параметр1; п2 = Форма.Параметр2; п3 = Форма.Параметр3; КонецЕсли; |
|||
9
yalex
30.07.08
✎
14:25
|
(4) Передаёшь структуру или списокзначений
|
|||
10
ОМЭЗ
30.07.08
✎
14:27
|
ЭтаФорма.Закрыть(ВозвращаемыеЗначения); - Вот я передал назад
А как с той формы обратиться к этой структуре? |
|||
11
hhhh
30.07.08
✎
14:29
|
ВозвращаемыеЗначения = ФормаОбработки.ОткрытьМодально();
|
|||
12
kosts
30.07.08
✎
14:29
|
(10) Читай синтакс-помощник, там много всего интересного...
|
|||
13
yalex
30.07.08
✎
14:29
|
(10) Я же тебе в (7) написал!
|
|||
14
yalex
30.07.08
✎
14:34
|
(8) Это что получится?
|
|||
15
kosts
30.07.08
✎
14:36
|
(14) Не пойму что непонятно
|
|||
16
yalex
30.07.08
✎
14:38
|
(15) Не понятно как это работать будет
|
|||
17
kosts
30.07.08
✎
14:43
|
Примерно так...
В первой форме Форма.Фамилия = "Иванов"; Форма.Имя = "Иван"; рез = Форма.ОткрытьМодально(); Если рез = "ОК" тогда Фамилия = Форма.Фамилия; Имя = Форма.Имя; Сообщить(Фамилия); Сообщить(Имя); КонецЕсли; Во второй Форме Процедура ПриОткрытии() Сообщить(Фамилия); Сообщить(Имя); КонецПроцедуры Процедура ПоКнОК() Форма.Закрыть("ОК); КонецПроцедуры Все просто |
|||
18
kosts
30.07.08
✎
14:47
|
Плюс к (17) - не забыть "Фамилия" и "Имя" описать в реквизитах формы
|
|||
19
yalex
30.07.08
✎
14:53
|
(17) Работает?
Просто не понятно как можно обратится к реквизиту формы после закрытия формы |
|||
20
kosts
30.07.08
✎
14:54
|
(19) Форма после закрытия еще не уничтожена.
|
|||
21
yalex
30.07.08
✎
14:57
|
(20) Тоесть реквизиты формы ещё где-то хранятся после закрытия? а где хранятся, какое время и для чего?
Помоему только в переменной рез хранится "ок" от этой формы? |
|||
22
kosts
30.07.08
✎
15:03
|
(21) После выполнения Закрыть форма еще существует, по этому существуют и ее реквизиты.
Уничтожение формы происходит тогда когда перестает существовать ссылка не нее т.е. переменная Форма. В переменной "рез" хранится любой результат переданный процедуре Закрыть(). |
|||
23
yalex
30.07.08
✎
15:08
|
(22) круто!
|
|||
24
kosts
30.07.08
✎
15:09
|
В (17) должно быть так
Процедура ПоКнОК() Закрыть("ОК"); КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |