Имя: Пароль:
1C
1C 7.7
v7: Из одной формы получить данные другой
0 jkl123
 
19.07.12
11:51
У меня два документа. По нажатии кнопки в одном документе открываеться форма другого. Мне нада что бы при нажатии этой кнопки не только открывалась форма но и я мог менять что-то в ней, например изменять какую-небудь надпись..как это сделать?
1 Ёпрст
 
19.07.12
11:52
через контекст открытой формы вестимо
2 jkl123
 
19.07.12
11:53
(1) Можно пример ??
3 Ёпрст
 
19.07.12
11:53
4 France
 
19.07.12
11:54
чудесненько та: утром открыл форму - одно название реквизита, вечером - другое.. не жизнь а сказка..
5 jkl123
 
19.07.12
12:47
(3) ничего я не понял...
6 zladenuw
 
19.07.12
12:49
ну так там примеры как это сделать. что не понятного ?
7 jkl123
 
19.07.12
12:50
у меня есть на форме надпись, и если я открываю другим доокументом эту форму надпись должна меняться...не выходит
8 ДенисЧ
 
19.07.12
12:51
(7) показывай
9 jkl123
 
19.07.12
12:52
Конт = СоздатьОбъект("СписокЗначений");
   Конт.Установить(Надпись,"Надпись");
   ОткрытьФорму("Документ.ДвижениеСетевогоОборудования", Конт);
   ПарамКонт = Парам;
10 Ёпрст
 
19.07.12
12:53
(5) у каждой открытой формы объекта есть "контекст" - это просто указатель на открытую форму объекта.
Через этот контекст доступны все реквизиты объекта и реквизиты самой формы. + можно получить ссылку на сам объект, если он был сохранен в ИБ.

+ в каждой открытой форме объекта доступен Форма.Параметр - он принимает значения, переданные ему при открытии формы в методе ОткрытьФорму.

+ метод ОткрытьФорму возвращает параметр контекста открываемой формы.

Всё собственно.
11 Ёпрст
 
19.07.12
12:55
(9)

Конт "";
ОткрытьФорму("Документ.ДвижениеСетевогоОборудования", Конт);
Конт.Форма.Заголовок(Надпись);
Конт.Форма.ТекстовыйРеквизитФормы.Заголовок(Надпись);
12 jkl123
 
19.07.12
13:00
а как через этот контекст в другой форме скрыть видимость какой-то колонки в табличном документе???
13 jkl123
 
19.07.12
13:00
табличной части документа *
14 ДенисЧ
 
19.07.12
13:01
(13) конт.Форма.ИмяКолонки.ВИдимость(0);
15 Ёпрст
 
19.07.12
13:01
(13) Конт.Форма.Количество.Видимость(0);
16 jkl123
 
19.07.12
13:06
Конт = СоздатьОбъект("СписокЗначений");
   ОткрытьФорму("Документ.ДвижениеСетевогоОборудования", Конт);
   Конт.Форма.Заголовок("");
   Конт.Форма.ТекстовыйРеквизитФормы.Заголовок("");
   Конт.Форма.Узел.Видимость(0);

я вот так сделал, меняет только заголовок формы...колонку не скрывает
17 Ёпрст
 
19.07.12
13:11
(16)
Конт.Форма.Обновить(0);
18 Ёпрст
 
19.07.12
13:11
+ есть вероятность того, что видимость колдонки где-то еще регулируется у тебя в самом документе ДвижениеСетевогоОборудования
19 Ёпрст
 
19.07.12
13:12
мот в функции на тексте
20 jkl123
 
19.07.12
14:11
а можно как-то создать таблицу значений и в ту форму передавать параметр ???
21 dk
 
19.07.12
14:14
(20) тебе же дали ссылку на букварь в (3)
передавай что хочешь
22 ЧеловекДуши
 
19.07.12
14:15
(20)Чукча не читатель, чукча писатель :)
23 Ёпрст
 
19.07.12
14:16
(20) да запросто
Конт = СоздатьОбъект("СписокЗначений");
Конт.ДобавитьЗначение(ТвояТаблицаЗначений,"МояТаблица Ё!");
ОткрытьФорму("Документ.ДвижениеСетевогоОборудования", Конт)

или так

ОткрытьФорму("Документ.ДвижениеСетевогоОборудования", ТвояТаблицыЗначений)

и иметь в документе где угодно:

Форма.Параметр.Получить("МояТаблица Ё!")в первом варианте
или
Форма.Параметр во втором случае
24 jkl123
 
19.07.12
14:18
спасиб, разобрался