Имя: Пароль:
1C
1С v8
Как открыть управляемую форму программно из обычной формы?
0 Михаил 1С
 
12.09.14
12:02
Есть отчет на обычной форме. Надо из нее открыть Управляемую форму. Зачем? - другой программист сделал форму подбора на УФ (у него весь документ был на УФ, мне же надо оттуда только форму подбора взять).

ПС: В конфигурации позволительно открывать УФ, и они открываются, если весь документ на УФ.
1 Михаил 1С
 
12.09.14
12:03
Если прямо из формы сделать Форма = ПолучитьФорму("ИмяФормы"), то Форма оказывается равна Неопределано.
2 OnCheck
 
12.09.14
12:08
А разве УФ откроется в обычном режиме, и наборот? По моему - нет. Может, я не прав конечно, не помню.
3 Михаил 1С
 
12.09.14
12:08
Я уже сделал изврат - положил эту форму в Обработку.
Обработку запускаю через Общий модуль. Перепробовал уже разные варианты - ставил в этом модуле галки:
1) Клиент(УФ), Сервер, Клиент(ОФ),
2) Клиент, Клиент
3) Клиент(УФ), Сервер
4) Клиент(УФ), Сервер (но без галки ВызовСервера)
5) Клиент(ОФ)

Не работает.
4 Михаил 1С
 
12.09.14
12:09
Если Основная форма документа (или отчета) написана на УФ, то УФ открывается в толстом клиенте.
5 Михаил 1С
 
12.09.14
12:10
(3) Может быть я что-то упустил?
Или что-то качественно важного не сделал?

Как можно открыть Управляемую форму из Обычной?
6 lxndr
 
12.09.14
12:12
(0) отчет внешний? Основной режим запуска конфы какой?
7 Зеленый пень
 
12.09.14
12:12
(0) смотрел в СП ОткрытьФорму (...) ?
8 Михаил 1С
 
12.09.14
12:13
(6) Отчет не внешний, внутренний.
Основной режим запуска - Обычное приложение.
Стоит галка ИспользоватьУправляемыеФормыВОбычномПриложении
9 Михаил 1С
 
12.09.14
12:13
(7) Конечно смотрел.
10 Михаил 1С
 
12.09.14
12:14
(7) аа, нет, это не смотрел.
11 silent person
 
12.09.14
12:14
(9) в "ИмяФормы" у тебя что написано ?
12 Михаил 1С
 
12.09.14
12:17
(11) ничего не написано, я поставил
Форма = Обработка.ПолучитьФорму();

В этой Обработке только одна форма, и она стоит Основной.
13 lxndr
 
12.09.14
12:18
(12) так не пойдет.
ИПспользуй глобальный метод
ПолучитьФорму(....)
14 Михаил 1С
 
12.09.14
12:19
(13) Этот метод использовать в общем модуле?
Делать вызов формы, которая в обработке?
15 lxndr
 
12.09.14
12:20
(14) в модуле формы, откуда надо открыть подбор (обработчик кнопки наверное)
16 Михаил 1С
 
12.09.14
12:21
(15) попробую
17 Mankubus
 
12.09.14
12:23
(13) +1
у меня вот так открывается
Форма = ПолучитьФорму("Обработка.ИмяОбработки.Форма.Форма");
Форма.Открыть();
18 Михаил 1С
 
12.09.14
12:28
(17), (13), (15) - Волшебство! Получилось!
19 Михаил 1С
 
12.09.14
12:28
(17), (13), (15) Ребята, большое спасибо!
20 Михаил 1С
 
12.09.14
12:30
Теперь буду пытаться послать ссылочные данные в эту форму (в эту обработку).
21 Михаил 1С
 
12.09.14
12:46
И передача данных работает!

Форма = ПолучитьФорму("Обработка.ОтборЭтажейСекций.Форма.ФормаВыбораЭтажиСекции");
    Обработка = Форма.Объект;
    Обработка.ВыбранныйОбъект = ВыбранныйОбъект;
    Обработка.СписокОтбора_СекцииЭтажи = СписокОтбора_СекцииЭтажи;    
    Форма.ОткрытьМодально();
    СписокОтбора_СекцииЭтажи = Обработка.СписокОтбора_СекцииЭтажи;