|
Как получить данные из другой формы начальной страницы?
| ☑ |
0
АСанСаныч
02.04.19
✎
09:59
|
Доброго дня.
На начальной странице управляемого приложения размещено несколько форм.
Хотелось бы при обработке события ТЧ одной из форм получить текущие данные из ТЧ другой формы. Как к этим данным обратиться?
|
|
1
Вафель
02.04.19
✎
10:16
|
можно все открытые окна перебрать
|
|
2
Вафель
02.04.19
✎
10:17
|
см ОкнаКлиентскогоПриложения
|
|
3
АСанСаныч
02.04.19
✎
11:29
|
Спасибо. Нашёл решение. Оптимально ли оно?
Окна = ПолучитьОкна();
Для ио = 0 по Окна.Количество()-1 Цикл
текОкно = Окна[ио];
Если текОкно.НачальнаяСтраница Тогда
масФорм = текОкно.Содержимое;
Для иф = 0 по масФорм.Количество()-1 Цикл
Если масФорм[иф].Заголовок = "Уплата" Тогда
Попытка
т = масФорм[иф].Элементы.Список.ТекущиеДанные.Ч;
Исключение
КонецПопытки;
Прервать;
КонецЕсли;
КонецЦикла
КонецЕсли;
КонецЦикла;
|
|
4
Василий Алибабаевич
02.04.19
✎
11:35
|
(3) Фигня какая-то (ЦЫ).
Данные же в "масФорм[иф].Элементы.Список.ТекущиеДанные.Ч;" откуда-то берутся. Почему бы не взять их еще раз для "т"?
ЗЫ. А если масФорм[иф].Заголовок = "Уплата" не найдется7
зы. А если в "масФорм[иф].Элементы.Список.ТекущиеДанные" не будет ТекущиеДанные?
|
|
5
АСанСаныч
02.04.19
✎
11:48
|
(4) всенормально. При копипасте начальное обнуление т не скопировалось перед Окна = ПолучитьОкна();
Перед последним КонецЕсли; надо ещё одну Прервать; влепить.
|
|
6
Василий Алибабаевич
02.04.19
✎
11:52
|
(5) Я совсем не за качество копи-пасте распинался.
|
|
7
АСанСаныч
02.04.19
✎
12:01
|
(6) Извини. Тогда не понял смысла в твоих замечаниях.
|
|
8
Fish
02.04.19
✎
12:16
|
(7) Смысл таков: зачем брать данные из формы, когда можно их взять из данных?
|
|
9
АСанСаныч
02.04.19
✎
12:22
|
(8) Как из среза последних РС узнать какая запись выбрана в другой форме в качестве текущей?
|
|