Имя: Пароль:
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) ладно, пофиг... посмотрим, что будет дальше... Огромное спасибо!
2 + 2 = 3.9999999999999999999999999999999...