Имя: Пароль:
1C
1С v8
Табличная часть на форме обработки (как работать?)
0 МистерДон
 
22.11.13
10:29
Всем привет!

На форму обработки поместил табличную часть (таблица значений) с идентификатором МояТЗ. В модуле, в обработчике нажатия кнопки вставил код:

МояТЗ.Колонки.Добавить("Фамилия");
МояТЗ.Колонки.Добавить("Имя");


НоваяСтрока = МояТЗ.Добавить();
НоваяСтрока.Фамилия = "Сидоров";
НоваяСтрока.Имя     = "Вася";

При нажатии на кнопку - таблица на форме не заполняется.
подскажите, как правильно обращаться к этой таблице на форме через модуль обработки?

Пробовал форма.МояТЗ. и т.п. - возникает ошибка.
1 Maxus43
 
22.11.13
10:31
ЭлементыФормы.МояТЗ.ОбновитьСтроки();
2 х86
 
22.11.13
10:31
в форме нужно создать колонки у ТП
3 Ork
 
22.11.13
10:32
(0) Это все счастье в УФ или толстом клиенте?
4 МистерДон
 
22.11.13
10:33
Ork в толстом клиенте

Maxus43,  х86 спасибо, сейчас попробую )
5 МистерДон
 
22.11.13
10:35
Maxus43


МояТЗ.Колонки.Добавить("Фамилия");
МояТЗ.Колонки.Добавить("Имя");

НоваяСтрока = МояТЗ.Добавить();
НоваяСтрока.Фамилия = "Сидоров";
НоваяСтрока.Имя     = "Вася";

ЭлементыФормы.МояТЗ.ОбновитьСтроки();

Пишет ошибку


{Форма.Форма.Форма(25)}: Поле объекта не обнаружено (МояТЗ)
ЭлементыФормы.МояТЗ.ОбновитьСтроки();
6 Godofsin
 
22.11.13
10:36
нету значит там МояТз
7 Maxus43
 
22.11.13
10:37
(5) МояТЗ - то, как она называется у тебя на форме, мне отсюда не видно
8 zakidonoff
 
22.11.13
10:37
(5) Как твоя тз называется? В свойствах у неё есть поле данные и есть имя. Они одинаковы? Сделай и то и то МояТЗ и после своего кода:
ЭлементыФормы.МояТЗ.СоздатьКолонки();
ЭлементыФормы.МояТЗ.ОбновитьСтроки();
9 МистерДон
 
22.11.13
10:42
Godofsin
Maxus43
zakidonoff
х86

Все получилось, большое  спасибо.

только вот логику не пойму, сначала создаем структуру- добавляем в неё колонки
МояТЗ.Колонки.Добавить("Фамилия");
МояТЗ.Колонки.Добавить("Имя");

Потом добавляем записи (строки)


А зачем потом нужно создавать колонки в визуальном объекте на форме?

ЭлементыФормы.МояТЗ.СоздатьКолонки();
ЭлементыФормы.МояТЗ.ОбновитьСтроки();

Почему просто не создать объект на базе структуры которую создали и заполнили уже?
10 Aleks73
 
22.11.13
10:43
(9) не волнуйся, логики нет.
Просто поверь.
11 Maxus43
 
22.11.13
10:45
(9) прямо на форме можешь создать колонки.
Если меняешь их программно - надо сказать программе что ты "готов" показать это на форме
12 zakidonoff
 
22.11.13
10:47
(9) Я в своё время тоже не понимал.
Пока не начал баловаться программной сменой данных табличной формы -)
13 МистерДон
 
22.11.13
10:50
Aleks73,   Maxus43,   zakidonoff

Спасибо за разъяснение :)
14 hhhh
 
22.11.13
10:52
(9) ты просто раньше слепо верил, что МояТЗ и ЭлементыФормы.МояТЗ - это одно и то же. Однако - это две разные сущности.
15 МистерДон
 
22.11.13
10:59
hhhh, понятно :)

Я лет 6 с 7.7. проработал (до этого пару лет с 6кой), потом сделал паузу и ушел на вебразработку, с 1с вообще не был связан,и через 5 лет вот снова по рабочей необходимости решил погрузиться в 8.2., а тут все по другому, все по новому - интересно! :)
16 hhhh
 
22.11.13
11:09
(15) ну вот ты добавил колонки в МояТЗ.

а метод ЭлементыФормы.МояТЗ.СоздатьКолонки(); переносит эти твои колонки в ЭлементыФормы.МояТЗ
17 МистерДон
 
22.11.13
11:22
hhhh, интересный подход, но ведь кроме колонок переносятся мои данные т.е. записи (строки)