Имя: Пароль:
1C
1С v8
Значение не является значением объектного типа
,
0 apolenary
 
07.03.12
10:59
Добрый день.
Пытаюсь из одной открытой формы в УП получить данные другой открытой формы: Форма1 - форма содержащая нужные данные, Форма2 - форма в которой нужно получить данные Формы1, делаю следующее:

&НаКлиенте
Процедура ПриОткрытии(Отказ)
   получитьФорму();
КонецПроцедуры

процедура получитьФорму()
   форма = Справочники.OEM.ПолучитьФорму("Справочник.Справочник1.Форма.ФормаЭлемента");
   сообщить(форма.Открыта());
КонецПроцедуры

В итоге появляется эта ошибка:

{Справочник.Справочник2.Форма.ФормаЭлемента.Форма(16)}: Значение не является значением объектного типа (Открыта)
   сообщить(форма.Открыта());

что делаю не так?
1 Wobland
 
07.03.12
11:00
не говоришь Справочники.OEM.ПолучитьФорму("ФормаЭлемента")
2 pessok
 
07.03.12
11:01
а разве на уф работает ПолучитьФорму()?
3 Wobland
 
07.03.12
11:03
(2) в толстом клиенте работать должно
4 pessok
 
07.03.12
11:04
в толстом - да, но про толстый ничего не написано. Насчет Справочники.OEM.ПолучитьФорму("ФормаЭлемента") + 1
5 apolenary
 
07.03.12
11:14
исправил на

форма = Справочники.OEM.ПолучитьФорму("ФормаЭлемента");

получилась ошибка:

{Справочник.Справочник2.Форма.ФормаЭлемента.Форма(15)}: Ошибка при вызове метода контекста (ПолучитьФорму)
   форма = Справочники.OEM.ПолучитьФорму("ФормаЭлемента");
по причине:
Интерактивные операции недоступны
6 apolenary
 
07.03.12
11:19
а в толстом клиенте ругается так:

{Справочник.Справочник2.Форма.ФормаЭлемента.Форма(14,11)}: Процедура или функция с указанным именем уже определена (получитьФорму)
процедура <<?>>получитьФорму()
7 hhhh
 
07.03.12
11:40
(6) а зачем вы процедуру назвали ПолучитьФорму? Назовите по-другому. Сами себе яму роете.
8 GROOVY
 
07.03.12
11:47
&НаКлиенте
Процедура ПриОткрытии(Отказ)
   НоваяФорма = ПолучитьФорму("Справочник.Справочник1.Форма.ФормаЭлемента");
КонецПроцедуры
9 apolenary
 
07.03.12
16:57
Да спасибо так ошибку не выдает, но метод Открыта выдает Нет

форма = ПолучитьФорму("Справочник.Справочник1.Форма.ФормаЭлемента");
сообщить(форма.Открыта());

результат "Нет"

и как мне получить реквизит с этой формы, точнее даже ссылку на него
10 Wobland
 
07.03.12
16:58
(9) получить - не значит открыть, гыгы
11 Wobland
 
07.03.12
16:59
+(10) но , имхается мне, ты хочешь ересь. с формы не нужно получать реквизит, нужно его читать из данных базы
12 apolenary
 
07.03.12
17:31
согласен, не правильно выразился, у меня на первой форме есть элемент формы связанный с реквизитом, у которого тип СправочникСсылка.Справочник3.
И мне при открытии второй формы нужно в один из элементов (связанный с реквизитом тогоже типа. что и на первой форме) вставить тоже значение. которое выбрано на первой форме, как это лучше сделать
13 Wobland
 
07.03.12
17:32
(12) мужик, ничо не понял. тебе надо обработать выбор? есть событие для этого
14 apolenary
 
07.03.12
17:35
у меня есть открытая форма с выбранным значением в одном элементе, мне нужно при открытии второй формы выбрать на ней то же значение
15 Wobland
 
07.03.12
17:37
(14) неясно
16 Wobland
 
07.03.12
17:38
ОбработкаВыбора (так?) - есть такое событие. делай в нём, что хошь, хоть википедию открывай на текущий день
17 apolenary
 
11.03.12
02:58
В том то и проблема, что мне не нужно обрабатывать выбор, а нужно при открытии Форимы2 узнать, что выбрано на Форме1. В общем сделал через оповещение.
18 Alex375
 
11.03.12
04:34
Ты откуда вторую форму открываешь? Если из первой, ну так как форму получил и засунь в нее свое значение из 1-й формы.
19 apolenary
 
12.03.12
06:48
В том то и дело, что отдельно.
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.