Имя: Пароль:
1C
1С v8
Программное добавление командной панели к табличному полю
0 thomY100
 
22.02.12
14:47
Добрый день, есть такая проблема, программно добавил на панель страницу и разместил на ней табличное поле, но не могу понять как добавить стандартную командную панель,а также при щелчке на поле правой кнопкой не выскакивает контекстное меню, подскажите как их добавить?
1 Asmody
 
22.02.12
14:53
(0) форма какая?
2 thomY100
 
22.02.12
14:57
не понял вопроса?
3 thomY100
 
22.02.12
15:05
форма обычная, не управляемая, если вы об этом.
4 PVV65
 
22.02.12
15:08
ЭлементыФормы (Controls)
Добавить (Add)
Синтаксис:
Добавить(<Тип>, <Имя>, <Видимость>, <Поместить на>)
Параметры:
<Тип> (обязательный)
Тип: Тип. Тип добавляемого элемента управления.
<Имя> (обязательный)
Тип: Строка. Имя создаваемого элемента управления.
<Видимость> (необязательный)
Тип: Булево. Определяет, создавать новый элемент управления формы видимым или нет. Истина - элемент создается видимым.
Значение по умолчанию: Истина
<Поместить на> (необязательный)
Тип: Панель, ПолеТабличногоДокумента. Определяет, какой панели формы или какому табличному документу принадлежит создаваемый элемент. Если указана панель, то добавляемый элемент размещается на текущей странице панели. Если не указан, создаваемый элемент будет принадлежать непосредственно форме.
Возвращаемое значение:
Элемент управления формы.
Описание:
Добавляет элемент управления на форму.
Пример:
// Расположим на странице табличное поле
ПолеРегистра = ЭлементыФормы.Добавить(Тип("ТабличноеПоле"),
       СтрокаТаблицы.Имя,
       Истина,
       ЭлементыФормы.ОсновнаяПанель);
ПолеРегистра.Данные = "ДокументОбъект.Движения." + СтрокаТаблицы.Имя;

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

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

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

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

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

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

КонецЕсли;

ПолеРегистра.Колонки.Регистратор.Видимость = Ложь;
ПолеРегистра.Колонки.Период.Видимость = Ложь;
ПолеРегистра.Колонки.НомерСтроки.Видимость = Ложь;
5 thomY100
 
27.02.12
16:00
ну это понятно, я создаю Табличное Поле, присваиваю ему данные, оно появляется на форме, но по нажатию правой кнопки мыши не появляется кнопка добавить, и самой командной панели на форме тоже нет..
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший