Имя: Пароль:
1C
 
Добавление элементов формы
0 Yorik
 
03.09.10
14:45
Доброе время суток, подскажите пожалуйста как можно добавить програмнно табличную часть с типом РегистрСведенийНаборЗаписей
1 Лефмихалыч
 
03.09.10
14:47
ЭлементыФормы.Добавить (Controls.Add)
ЭлементыФормы (Controls)
Добавить (Add)
Синтаксис:
Добавить(<Тип>, <Имя>, <Видимость>, <Поместить на>)
Параметры:
<Тип> (обязательный)
Тип: Тип. Тип добавляемого элемента управления
Индикатор
ПолеКалендаря
Кнопка
КоманднаяПанель
Надпись
Панель
Переключатель
ПолеТабличногоДокумента
ПолеHTMLДокумента
ПолеТекстовогоДокумента
ПолеВвода
ПолеВыбора
ПолеСписка
ПолеКартинки
ПолосаРегулирования
Разделитель
РамкаГруппы
ТабличноеПоле
Флажок
ПолеГрафическойСхемы
ПолеГеографическойСхемы
<Имя> (обязательный)
Тип: Строка. Имя создаваемого элемента управления. Имя должно быть указано в соответсвии с правилами написания имен системы 1С:Предприятие 8. В противном случае выполнение метода вызовет исключение.
<Видимость> (необязательный)
Тип: Булево. Определяет, создавать новый элемент управления формы видимым или нет. Истина - элемент создается видимым.
Значение по умолчанию: Истина
<Поместить на> (необязательный)
Тип: Панель, ПолеТабличногоДокумента. Определяет, какой панели формы или какому табличному документу принадлежит создаваемый элемент. Если указана панель, то добавляемый элемент размещается на текущей странице панели. Если не указан, создаваемый элемент будет принадлежать непосредственно форме.
Возвращаемое значение:
Элемент управления формы.
Описание:
Добавляет элемент управления на форму.
Недоступен на сервере 1С:Предприятие. Не используется в модуле внешнего соединения.
Пример:
// Расположим на странице табличное поле
ПолеРегистра = ЭлементыФормы.Добавить(Тип("ТабличноеПоле"),
       СтрокаТаблицы.Имя,
       Истина,
       ЭлементыФормы.ОсновнаяПанель);
ПолеРегистра.Данные = "ДокументОбъект.Движения." + СтрокаТаблицы.Имя;

Если НЕ ЭтоНовый() Тогда
   ПолеРегистра.Значение.Прочитать();
КонецЕсли;

ПолеРегистра.Верх = 30;
ПолеРегистра.Лево = 6;
ПолеРегистра.Ширина = ЭлементыФормы.ОсновнаяПанель.Ширина - 14;
ПолеРегистра.Высота = ЭлементыФормы.ОсновнаяПанель.Высота - 56;
ПолеРегистра.ТолькоПросмотр = Ложь;
ПолеРегистра.ИзменятьПорядокСтрок = Истина;
ПолеРегистра.ИзменятьСоставСтрок = Истина;

ПолеРегистра.УстановитьПривязку(ГраницаЭлементаУправления.Верх,
       КоманднаяПанельРегистра,
       ГраницаЭлементаУправления.Низ);
ПолеРегистра.УстановитьПривязку(ГраницаЭлементаУправления.Низ,
       ЭлементыФормы.ОсновнаяПанель,
       ГраницаЭлементаУправления.Низ);
ПолеРегистра.УстановитьПривязку(ГраницаЭлементаУправления.Право,
       ЭлементыФормы.ОсновнаяПанель,
       ГраницаЭлементаУправления.Право);

ПолеРегистра.СоздатьКолонки();

Если Метаданные.РегистрыНакопления[СтрокаТаблицы.Имя].ВидРегистра = Метаданные.СвойстваОбъектов.ВидРегистраНакопления.Остатки Тогда

   КолонкаВидДвижения = ПолеРегистра.Колонки.Вставить(1, "Вид движения");
   КолонкаВидДвижения.Имя = "ВидДвиженияРегистраНакопления";
   КолонкаВидДвижения.УстановитьЭлементУправления(Тип("ПолеВвода"));
   КолонкаВидДвижения.Данные = "ВидДвижения";
   КолонкаВидДвижения.ЭлементУправления.КнопкаВыбора = Истина;
   КолонкаВидДвижения.ЭлементУправления.ВыбиратьТип = Ложь;

КонецЕсли;

ПолеРегистра.Колонки.Регистратор.Видимость = Ложь;
ПолеРегистра.Колонки.Период.Видимость = Ложь;
ПолеРегистра.Колонки.НомерСтроки.Видимость = Ложь;
2 Yorik
 
03.09.10
14:58
(1)...ага, а при указании типа регистрСведений колонки табл части разве автоматически не заполнятся ?
3 vmv
 
03.09.10
15:00
а где вопрос-то, тут телеспоп нужен чтобы понять суть проблемы(
4 vmv
 
03.09.10
15:00
(2) тьху, зачем кидать мануал так, даже вопрос затмил)
5 Шапокляк
 
03.09.10
15:02
(2)Табличная часть и табличное поле - несколько разные вещи.
6 Yorik
 
03.09.10
15:03
...т.е вопрос в том и заключается что мне нужно добавить програмно табличное поле РегистрСведенийНаборЗаписей?
7 Лефмихалыч
 
03.09.10
15:04
(2) слушай, иди уже учи матчасть, а?...
ТабличноеПоле.СоздатьКолонки (TableBox.CreateColumns)
ТабличноеПоле (TableBox)
СоздатьКолонки (CreateColumns)
Синтаксис:
СоздатьКолонки()
Описание:
Удаляет старые колонки и загружает новые колонки из источника данных.
Недоступен на сервере 1С:Предприятие. Не используется в модуле внешнего соединения.
Пример:
ЭлементыФормы.ТабличноеПоле1.Значение = ТаблицаДанных;
ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();
8 Yorik
 
03.09.10
15:04
(5) а вы сможете привести пример и для табл части и для табл поля?
9 Лефмихалыч
 
03.09.10
15:09
клиника
10 Шапокляк
 
03.09.10
16:30
(6) так это ж вы вопрос задавали. Может, вам вообще надо поместить на форму мыслеполе любви и вектор счастья?
(8) нет, не смогу. Табличная часть, она такая... Ее программно не создать :) А всякю фигню на формы поместить - это пожалуйста.
11 Yorik
 
06.09.10
14:44
Доброе время суток всем, собственно продолжение начатой темы об програмном добавлении элементов управления, у меня следующий затык; имеются переключатели уже добавленные на форму но загвоздка в том что не присваивается параметр "ВыбираемоеЗначение" у меня идет как истина или ложь....в чем жеж дело?

           Переключатель.ВыбираемоеЗначение = Истина;