"Программное расположение элементов на форме"
Опубликовано Пт 07 Сентябрь 2012 в "Программирование"
Теги: Практика программирования 1С,
Иногда есть необходимость расположить табличное поле на форме программно, например когда нужно добавить неизвестное заранее количество закладок, хорошо если нужно просто добавить закладки, тогда можно просто отделаться :
ЭлементыФормы.ПанельСЗакладками.Страницы.Добавить("ЗакладкаСклад"+Склад.НомерСклада, Склад.Наименование);
но на закладках должно, что то располагаться и это что то, должно иметь размеры, располагаться в конкретно указанном месте у него, у него должны быть привязки, определены какие то свойства(которых прошу заметить может быть много) и тд, конечно самый логичный способ это нарисовать образец на форме а потом смотря свойства, просто это все перетащить. Должен получиться какой-то такой код:
ЭлементыФормы.ПанельСЗакладками.Страницы.Добавить("ЗакладкаСклад"+Склад.НомерСклада, Склад.Наименование);
ЭлементыФормы.ПанельСЗакладками.ТекущаяСтраница = ЭлементыФормы.ПанельСЗакладками.Страницы["ЗакладкаСклад"+Склад.НомерСклада];
ТабличноеПоле = ЭлементыФормы.Добавить(Тип("ТабличноеПоле"),"ТабличноеПоле"+Склад.НомерСклада,Истина,ЭлементыФормы.ПанельСЗакладками);
ТабличноеПоле.Имя = "ТабличноеПоле"+Склад.НомерСклада;
ТабличноеПоле.Значение = ДвиженияПоСкладам[ТекущийСклад];
ТабличноеПоле.Верх = 6;
ТабличноеПоле.Высота = 566;
ТабличноеПоле.Ширина = 747;
ТабличноеПоле.Лево = 6;
ТабличноеПоле.ВертикальнаяПолосаПрокрутки = ИспользованиеПолосыПрокрутки.Использоватьавтоматически;
ТабличноеПоле.Вывод = ИспользованиеВывода.Авто;
ТабличноеПоле.ВысотаПодвала = 1;
ТабличноеПоле.ВысотаШапки = 1;
ТабличноеПоле.ГоризонтальнаяПолосаПрокрутки = ИспользованиеПолосыПрокрутки.Использоватьавтоматически;
ТабличноеПоле.ГоризонтальныеЛинии = Истина;
ТабличноеПоле.ПорядокОтображения = 1;
ТабличноеПоле.УстановитьПривязку(ГраницаЭлементаУправления.Низ,ЭтаФорма.Панель,ГраницаЭлементаУправления.Низ);
ТабличноеПоле.УстановитьПривязку(ГраницаЭлементаУправления.Право,ЭтаФорма.Панель,ГраницаЭлементаУправления.Право);
ТабличноеПоле.ТолькоПросмотр = Ложь;
Разумеется, переписывать параметры руками, это просто жесть, всегда можно, что то забыть, не учесть,
не заметить, да и не всегда удается угадать какой контрол, какой содержит элемент управления, но тут падам!
К нам на выручку спешит чудесная штука ДекомпиляцияИАнализФорм_4.epf делаем формочку, настраиваем поведение, размеры, стили и прочие нужности,
скармливаем обработке, она генерит нам нужный код, очень приятная вешь, про автора известно что это (MRAK) Роман Ершов, больше я про него ничего не знаю,
он пожелал не раскрывать деталей. Собственно на этом все а кому нужно, может скачать
обработку которая поможет вам в нелегких буднях 1сника.