Имя: Пароль:
1C
1С v8
Как из формы (не управляемой) передать данные в другую форму внутри обработки?
,
0 Saari
 
30.11.15
10:54
Есть обработка, в которой есть несколько табличных частей и две формы (основная и не основная).
В процедуре основной формы заполняю таблицы (табличные части) и хочу их содержимое отобразить при открытии другой формы.

Как передать данные таблиц в другую форму?
Формы не управляемые. Платформа 8.3
1 Горогуля
 
30.11.15
10:55
а хоть бы и реквизитом
2 Saari
 
30.11.15
10:56
(1) вторая форма не видит реквизитов и табличных частей обработки.
3 Горогуля
 
30.11.15
10:57
а свои реквизиты?
4 aleks_default
 
30.11.15
10:58
(0)ПараметрыФормы и временное хранилище
5 Saari
 
30.11.15
11:01
(4) да, я так начал делать и задумался как дальше.

СтруктураТаблиц = Новый Структура;
СтруктураТаблиц.Вставить("ТабДокБД", ЭтотОбъект.ТабДокБД.Выгрузить());
СтруктураТаблиц.Вставить("ТабДокБДРасш2", ЭтотОбъект.ТабДокБДРасш.Выгрузить());

Адрес = ПоместитьВоВременноеХранилище(СтруктураТаблиц, <???>);
СтруктураПараметров = Новый Структура;
СтруктураПараметров.Вставить("Адрес", Адрес);

ДопФорма = ЭтотОбъект.ПолучитьФорму("ФормаРасшифровка", Адрес);
ДопФорма.Открыть();

Правильно?
Что передать во временное хранилище в качестве адреса на структуру?
6 aleks_default
 
30.11.15
11:05
А, формы неуправляемые, тогда через владельца формы вроде бы. Я уже забыл как там.
7 aleks_default
 
30.11.15
11:09
ИЛИ так:
ДопФорма = ЭтотОбъект.ПолучитьФорму("ФормаРасшифровка",)
ДопФорма.ТвойРеквизит = ЭтотОбъект.ТвойРеквизит;
ДопФорма.Открыть();
8 Saari
 
30.11.15
12:37
(7) сделал, но в доп. форме таблица пустая.
в доп. форме надо как-то объявлять таблицу, в которую передаются данные?
Я сделал в доп. форме только на самой форме элемент "Таблица значений".
9 Горогуля
 
30.11.15
12:40
(8) колонки у ей создай
10 Saari
 
30.11.15
12:47
(9) в доп. форме в элементе "Таблица значений" создал колонки такие же (Имя) как и в передаваемой таблице значений.
ЭтотОбъект.ТабДокБД содержит строку, а ДопФорма.ТабДокБД не содержит данные.
11 FIXXXL
 
30.11.15
12:48
вторую форму сделай формой обработки и не велосипедь
12 Saari
 
30.11.15
12:49
(11) так у меня вторая форма является формой обработки.
13 Saari
 
30.11.15
12:50
получилось так:
ДопФорма.ТабДокументыУТМРасшифровка2 = ЭтотОбъект.ТабДокументыУТМРасшифровка.Выгрузить();

Спасибо всем!
14 User_Agronom
 
30.11.15
12:54
(2) Не верю! (с)
15 Saari
 
30.11.15
12:58
(14) почему?
16 User_Agronom
 
30.11.15
13:03
(15) Есть объект: обработка.

Все элементы этого объекта (формы, модули и т.д.) имеют доступ ко всем реквизитам и табличным частям этой обработки.
17 Горогуля
 
30.11.15
13:05
(16) если у формы реквизит про обработку естт
18 Saari
 
30.11.15
13:07
у доп. формы в качестве реквизита присутствует таблица значений, которую нужно заполнить из другой формы
19 User_Agronom
 
30.11.15
13:21
(18) Делай эту ТЗ табличной частью обработки.
20 Saari
 
30.11.15
13:36
(19) ТЗ изначально являются табличными частями обработки. И в основной форме они заполняются/отображаются успешно.
Я хочу, чтобы эти ТЗ отображались на второй (не основной) форме этой же обработки.
Формы не управляемые (обычные).
21 Горогуля
 
30.11.15
13:39
только что крутил две обычные формы обработки. я не знаю, что ты делал для того, чтобы у тебя возник этот вопрос...
22 Saari
 
30.11.15
13:43
(21) основная форма обработки. На ней размещена таблица значений, которая заполняется процедурой. Также заполняются еще две таблицы значений.

Нажав мышкой на строку первой таблицы, должна открыться дополнительная форма, в которой покажутся две оставшиеся таблицы значений со своим содержимым.
23 User_Agronom
 
30.11.15
13:46
Кто на ком стоял?
(18) ...у доп. формы в качестве реквизита присутствует таблица значений...
(20) ...ТЗ изначально являются табличными частями обработки...

Так мы говорим про табличную часть обработки или про реквизит формы?
24 Saari
 
30.11.15
13:50
(23) т.к. доп. форма не видит таблицу значений обработки, то я на доп. форме разместил элемент "Таблица значений", создал в ней колонки с такими же именами как у таблицы обработки.
И при помощи строки:
ДопФорма.ТабДокументыУТМРасшифровка2 = ЭтотОбъект.ТабДокументыУТМРасшифровка.Выгрузить();

переношу данные из таблицы значений обработки в таблицу значений доп. формы этой же обработки.
25 User_Agronom
 
30.11.15
14:14
(24) если ты смог выгрузить, значит и вся таблица тебе доступна ;)
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.