Имя: Пароль:
1C
1С v8
Получение формы по ссылке
, ,
0 Kashafeev
 
29.08.14
13:34
Имеются открытая форма документа и ссылка на документ. Как закрыть эту форму?
1 Kashafeev
 
29.08.14
13:34
(0) ...закрыть форму имея только ссылку на документ
2 arccos6pi
 
29.08.14
13:37
(0) (1) это вообще как так?
просто Закрыть() не прокатывает?
3 Maxus43
 
29.08.14
13:40
если имеется объект, то можно легко... со ссылкой - проблемней
4 Kashafeev
 
29.08.14
13:49
(3) По ссылке можно получить объект. Так как?
5 arccos6pi
 
29.08.14
13:49
(3) а что у нас теперь объект по ссылке не получается?
6 Maxus43
 
29.08.14
13:52
(4)(5) Если есть ОТКРЫТАЯ Форма документа - значит объект уже создан. Если мы получим объект по ссылке в это время - мы получим ДРУГОЙ объект
7 Maxus43
 
29.08.14
13:53
получить открытую форму объекта элементарно:
ФРМ = ДокументОбъект.ПолучитьФорму();
Сообщить(ФРМ.Открыта());
8 Kashafeev
 
29.08.14
13:53
(6) Ладно, а допустим такая ситуация: я имею Уникальный Идентификатор формы. Как её закрыть?
9 Maxus43
 
29.08.14
13:55
(8) СП украли?
ДокументМенеджер.<Имя документа> (DocumentManager.<Имя документа>)
ПолучитьФорму (GetForm)
Синтаксис:

ПолучитьФорму(<Форма>, <Владелец>, <КлючУникальности>)

<КлючУникальности> (необязательный)

Тип: Произвольный.
В данном параметре может быть задан некоторый ключ, значение которого будет использоваться для поиска уже открытых форм.
При поиске учитываются значения свойств открытых форм соответствующим значениям параметров метода. Если найдена открытая форма (по совпадению всех параметров), то она будет возвращена вместо новой формы.
10 Maxus43
 
29.08.14
13:56
или что ты имеешь ввиду под Уникальным идентификатором формы?
11 arccos6pi
 
29.08.14
13:57
(9) ему нужно закрыть открытую форму
12 Maxus43
 
29.08.14
13:57
(11) чтобы закрыть закрытую - надо её получить.

Закрыть форму:

НайденнаяФорма.Закрыть();

внезапно?)
13 Maxus43
 
29.08.14
13:58
*чтобы закрыть открытую
14 arccos6pi
 
29.08.14
13:58
(8) вы понятнее можете объяснить что хотите сделать
15 Kashafeev
 
29.08.14
13:59
(14) (13) Спасибо огромное. То что надо было :)
16 Maxus43
 
29.08.14
14:00
(15) что надо было? Форма.Закрыть(); ???
17 Kashafeev
 
29.08.14
14:26
(16)     
Грубо говоря да:)

ДокументОбъект = ссылкаСобытие.ПолучитьОбъект();
Форма = ДокументОбъект.ПолучитьФорму(,,УникальныйИдентификаторФормы);
Форма.Закрыть();
18 Kashafeev
 
29.08.14
14:42
(16) А ещё такой вопрос: ПолучитьОбъект по ссылке можно только наСервере, а форму можно получить только НаКлиенте. Передавать объект на клиент нельзя. Как быть?
19 Kashafeev
 
29.08.14
16:15
Ап