Имя: Пароль:
1C
 
Программное формирование элементов на форме
0 men47
 
17.01.17
11:53
Здравствуйте, нужна подсказка, Обычное приложение(не управляемое), нужно создать у панели "страницы", разместить на каждой "табличное поле", нужно сделать программно.


Создать "страницу" ерунда, создать "табличное поле" тоже, а вот как поместить в нужную мне страницу данное "табличное поле".

Если мы обращаемся "ЭлементыФормы.Добавить" мы видим следующее:

Добавить(<Тип>, <Имя>, <Видимость>, <ПоместитьНа>)

<ПоместитьНа>
Тип: Панель; ПолеТабличногоДокумента.


При установки данной "Панели" он запихивает по умолчанию на первую страницу.
1 men47
 
17.01.17
11:55
Пока писал... вспомнил что у Панели есть "ТекущаяСтраница", и если установить "страницу" Таблица добавляется....... Всем спасибо XD вопрос исчерпан=)
2 drcrasher
 
17.01.17
11:55
если мне правильно изменяет память, то сначала нужно установить активную страницу панели, а потом пихать таб. поле
3 men47
 
17.01.17
12:05
Хорошо, последний вопрос который меня интересует, дальше я разберусь. Я не могу найти как создать реквизит формы у обычной формы.

В управляемой "Новый РеквизитФормы(Параметры)"

а тут какой метод?
4 men47
 
17.01.17
12:07
через ДанныеФормыКоллекция  же или нет?
5 men47
 
17.01.17
12:24
help=)
6 Lexey_
 
17.01.17
12:26
(3) никак
7 men47
 
17.01.17
12:33
(6) а если мне нужно создать столько таблиц сколько нужно, т.е. сначало 5, потом 10, потом 20 и т.д. программно, причем чтобы пользователь вносил в них данных... то как быть, если никак...
8 Lexey_
 
17.01.17
12:39
(7) для этого не нужен реквизит формы
9 men47
 
17.01.17
12:44
(8) хорошо, а как тогда создать Таблицу на форме, в которую я загружу данные, в которой пользователь будет проверять данные по каждой организации..... Вы же не сможете загрузить данные если не заполнено свойство "Данные", т.к. программа не будет знать где хранить данные
10 men47
 
17.01.17
12:51
пока идет мысль посоздавать таблиц много в реквизитов, ну пока штук там 20-30... и в них позаписать
11 Lexey_
 
17.01.17
13:26
(9) сможем, данные будут храниться в свойстве Значение табличного поля
12 men47
 
17.01.17
13:38
(11) Хм... ну сейчас проверим
13 men47
 
17.01.17
13:48
(9) да, тогда у нас возникает другая проблема... у меня есть "шаблонная таблица" которую я создал, в ней находится ссылка на справочник "Номенклатура" и есть ТипЗначения "Флажок", без данных, как мне определить данные типы?
14 Lexey_
 
17.01.17
13:50
(13) ЭлементыФормы.ТабличноеПоле.СоздатьКолонки()
15 men47
 
17.01.17
13:51
(14) это понятное дело, а как Вы укажите тип у колонки?
16 men47
 
17.01.17
13:52
(14) у ТабличногоПоля нету даже такого свойства как "ТипЗначения" оно есть только у "Данных"
17 men47
 
17.01.17
13:54
(16) поправлюсь у ТабличногоПоляКолонки
18 Lexey_
 
17.01.17
13:57
(17) зато есть у колонки ТЗ
19 men47
 
17.01.17
13:59
(18) т.е. Вы имеете ввиду, если я ему буду "пихать" ссылку на справочник, он так и оставит ее там как ссылка?
20 Lexey_
 
17.01.17
14:02
(19) пробуй, отсюда не видно что ты там куда пихаешь
21 men47
 
17.01.17
14:08
(19) нет не получается, т.е. у ЭлементаФормы нету строк, но есть Значение, попытался я значит и у "Элемента" и у "Значения" создать колонки, создалось, начал в "Значение" создавать строку и впихивать туда Ссылку, строка создалась, ссылка не запихнулась, пустая
22 Lexey_
 
17.01.17
14:10
(21) значит, плохой код у тебя
23 men47
 
17.01.17
14:15
Страница = Панель1Страницы.Добавить("Страница"+Строка.ИмяБазы,Строка.ИмяБазы); //создал страницу
Панель1.ТекущаяСтраница = Страница; //установил страницу
ПолеТаблицы = ЭлементыФормы.Добавить(Тип("ТабличноеПоле"), "Таблица"+Строка.ИмяБазы, Истина, Панель1); //создал табличное поле

ПолеТаблицы.ТипЗначения = Новый ОписаниеТипов("ДеревоЗначений"); //установил тип поля

// задал параметры как ширина, высота и т.д. привязки


Для каждого Строка Из ТабличноеПоле1.Колонки Цикл //беру имена "шаблонной" ДереваЗначений

Колонка = ПолеТаблицы.Колонки.Добавить(); //создаю колонки на форме
Колонка.Имя = Строка.Имя; //задаю имя
Колонка.ТекстШапки = Строка.Заголовок; //шапку

Колонка = ПолеТаблицы.Значение.Колонки.Добавить(); //создаю внутри элемента колонки в значении
Колонка.Имя = Строка.Имя; //указываю имя
Колонка.Заголовок = Строка.Заголовок; //заголовок

//Колонка.ТипЗначения = Строка.ТипЗначения; //это не отрабатывает ошибка
КонецЦикла;
Строка = ПолеТаблицы.Значение.Строки.Добавить(); //создаю страку, т.к. у элемента нету строк
Строка.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию("блаблабла"); //проходит без ошибок

могу скрин прислать как создалась строка но в ней пусто
24 men47
 
17.01.17
14:18
вопрос исчерпан..... Я просто дурак=))) когда я создал в значении Колонки их нужно было привязать к элементу, путем прописывания данных у элемента

Колонка.Данные = Строка.Имя;
25 men47
 
17.01.17
14:20
мне из этого не нравится только одно, что я не могу указать тип Колонки у таблицы "Значения"
26 Lexey_
 
17.01.17
14:21
(25) что мешает?
27 men47
 
17.01.17
14:23
{ВнешняяОбработка.РеализацияДавальческойСхемы.Форма.Форма.Форма(284)}: Поле объекта недоступно для записи (ТипЗначения)
                Колонка.ТипЗначения = Строка.ТипЗначения;
28 men47
 
17.01.17
14:32
(26) ладно, пофиг... посмотрим, что будет дальше... Огромное спасибо!