Имя: Пароль:
1C
1С v8
как открыть форму?
0 NewKrizis
 
16.09.11
11:51
есть строка "Метаданные.Справочники.НазваниеСправочника.Формы.ФормаВыбора" как из нее открыть эту форму выбора?
1 MatrosoV AleXXXand_R
 
16.09.11
11:53
через Найти и Сред можно получить и название формы и название справочника
2 asady
 
16.09.11
11:54
(0)
ФормаВыбора = Справочники.НазваниеСправочника.ПолучитьФорму("ФормаВыбора");
ФормаВыбора.Открыть();
3 NewKrizis
 
16.09.11
11:56
(2) это легко, я вкурсе этого, мне надо именно из той строки открыть. вместо слова справочники может быть все что угодно - документы, обработки и тд
4 Сергей Д
 
16.09.11
11:57
Взято из работающей обработки с метаданными:
ОткрытьФорму(ОбъектМетаданных.ПолноеИмя()+".ФормаСписка");
5 Jstunner
 
16.09.11
11:57
(3) есть какие-то сложности?
6 NewKrizis
 
16.09.11
11:59
(3) при попытке получить ее пишет неизвестное имя формы
7 Сергей Д
 
16.09.11
12:01
Попробовал сейчас:
ОткрытьФорму(ОбъектМетаданных.ПолноеИмя()+".ФормаВыбора");
тоже работает
8 NewKrizis
 
16.09.11
12:06
(7) {Форма.Форма.Форма(232)}: Ошибка при вызове метода контекста (ОткрытьФорму)
           ОткрытьФорму(ВсеФормы[i]);
по причине:

по причине:
Неизвестное имя формы. Имя: "Метаданные.Справочники.АдресныеСокращения.Формы.ФормаВыбора"
9 Челмедведосвин
 
16.09.11
12:06
А "метаданные." тебе зачем?
10 Сергей Д
 
16.09.11
12:07
(8) Не "Метаданные.Справочники.АдресныеСокращения.Формы.ФормаВыбора" должно быть, а "Метаданные.Справочники.АдресныеСокращения.ФормаВыбора"
11 Челмедведосвин
 
16.09.11
12:08
Параметры:

<ИмяФормы> (обязательный)

Тип: Строка. Имя формы. Образуется как полный путь к объекту метаданных Форма (например, "Справочник.Контрагенты.Форма.ФормаОбъекта"
12 Сергей Д
 
16.09.11
12:09
(8) Прошу прощения. Должно быть "Справочники.АдресныеСокращения.ФормаВыбора"
13 Челмедведосвин
 
16.09.11
12:09
(12) Может
"Справочник.АдресныеСокращения.ФормаВыбора"?
14 NewKrizis
 
16.09.11
12:12
смысл в том, что мне надо обойти все формы конфигурации и попробовать их открыть
15 Сергей Д
 
16.09.11
12:14
(14) Т.е. вам надо проверить, существует ли форма?
Тогда предложенный метод не подойдет. Т.к. в случае отсутствия формы он генерирует ее автоматически.
16 NewKrizis
 
16.09.11
12:16
(15) мне надо проверить, не существует ли она, а открывается ли она
17 Сергей Д
 
16.09.11
12:16
(16) Эээ... а что значит "открывается" и "не открывается"? С ошибкой что ли вываливается?
18 NewKrizis
 
16.09.11
12:17
в массив занесен весь список существующих форм в конфигурации в виде таких строк, нужно теперь как то открыть их
19 NewKrizis
 
16.09.11
12:18
протестить надо откроется ли форма или нет, если нет , то выдать какая форма не открылась
20 Абыр
 
16.09.11
12:18
Заменить ".Формы." на "." и по полученной строке уже открывать?
21 Челмедведосвин
 
16.09.11
12:19
Для Каждого ИмяСпр Из Метаданные.Справочники Цикл
имяФормы = "Справочник."+ИмяСпр+".Формы.ФормаВыбора";
Попытка
ОткрытьФорму(ИмяФормы);
Исключение
Сообщить("Форма такая-то не открылась");
конецПопытки;
КонецЦикла;
22 NewKrizis
 
16.09.11
12:23
(20) тоже пишет неизвестное имя формы
23 Челмедведосвин
 
16.09.11
12:26
Попробуй заменить Метаданные.Справочники. на Справочник.
24 zladenuw
 
16.09.11
12:36
форма = ПолучитьФорму("Справочник.Банки.ФормаВыбора");
Форма.открыть();
25 NewKrizis
 
16.09.11
12:38
(23) да так сработало