Имя: Пароль:
1C
 
Передача данных между формами
0 beginer
 
06.06.08
02:27
Привет всем. Сразу извените за наверное приметивный вопрос. Но я только начал разбираться с 1с. Пошел на курсы.

Мне надо передать таблицу значений между двумя формами. В одной она руками формируется. А в другой должна обрабатываться и отображаться.

Как Сделать передачу данных по нажатию на кнопку.

Вызов формы делаю вот так

ТЗ= Новый ТаблицаЗначений;
....
фд=Документы.ПробаПера.ПолучитьФорму("ФормаТест");
   
фд.Открыть();




Заранее спасибо.
1 TypeR
 
06.06.08
02:35
Прежде чем заниматься программированием в 1С неплохо было бы, для начала, подучить русский язык.
2 ЛНТ
 
06.06.08
02:36
через реквизиты формы, посмотри любую общую форму
3 TypeR
 
06.06.08
02:36
(2) Достаточно экспортной переменной.
4 ЛНТ
 
06.06.08
02:40
(3) не достаточно
5 TypeR
 
06.06.08
02:44
Форма 1.
Перем ТЗ Экспорт;
//При открытии обрабатываем

Форма 2.
Фрм=Документы.ПробаПера.ПолучитьФорму("ФормаТест");
Фрм.ТЗ=ТЗ;
Фрм.Открыть()

Думаешь не взлетит? ;)
6 beginer
 
06.06.08
02:46
Спасибо. Сделал. Через
фд=Документы.ПробаПера.ПолучитьФорму("ФормаТест");

ТП=фд.ЭлементыФормы.ТабличноеПоле;
       
ТП.Значение=ТЗ;
ТП.СоздатьКолонки();
7 TypeR
 
06.06.08
02:50
(6)ФормаТест это форма этого же документа?
Если да, то можно
фд=ПолучитьФорму("ФормаТест");

p.s. А (5) действительно не взлетело.
8 ЛНТ
 
06.06.08
02:51
(5) не взлетело, таблица не отобразилась
9 ЛНТ
 
06.06.08
02:52
>>TypeR  как думаешь, почему в типовых конфах вместо экспортных переменных, реквизиты формы добавлены?
10 TypeR
 
06.06.08
03:09
(9) Перечитай (7), написал, что ошибься.
11 dk
 
06.06.08
05:44
Если обе формы открыты, то имхо проще через подписку на события
12 ЛНТ
 
06.06.08
05:53
(11) молодец, объясни как
13 dk
 
06.06.08
06:03
а чего объяснять? В форме А вызываем событие "МоёСуперПуперСобытие" с параметром МойПараметр, в Форме Б подписываемся и ловим событие "МоёСуперПуперСобытие" с нужным параметром
14 ЛНТ
 
06.06.08
06:21
а как мне подписаться на "МоёСуперПуперСобытие"?
15 ЛНТ
 
06.06.08
06:23
и как это относится к тому, что формы открыты?
16 Defender aka LINN
 
06.06.08
06:33
Интересно, и с фига ли (5) неправильно? Все там правильно.
17 dk
 
06.06.08
06:41
(14) Открой помошника в конфигураторе и почитай про подключитьобработчиксобытия вроде
(15) Если форма закрыта, то кто будет обрабатывать событие?
18 ЛНТ
 
06.06.08
06:54
(16) а где написано, что неправильно?
19 ЛНТ
 
06.06.08
06:55
(17) и что там написано?
20 Defender aka LINN
 
06.06.08
07:05
(19) В (7)-(9)
21 ЛНТ
 
06.06.08
07:18
>>dk   ау
22 dk
 
06.06.08
08:40
(21) Чего такой трудный?
Форма А

Процедура КнопкаВыполнитьНажатие(Кнопка)
   // Вставить содержимое обработчика.
   Оповестить("МоёСуперПуперСобытие", Реквизит1);
КонецПроцедуры

Форма Б

Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
   // Вставить содержимое обработчика.
   ОчиститьСообщения();
   Сообщить("Локальная");
   Сообщить("ИмяСобытия: " + Строка(ИмяСобытия));
   Сообщить("Параметр: " + Строка(Параметр));
   Сообщить("Источник: " + Строка(Источник));
КонецПроцедуры