Всем привет, у меня снова небольшая проблема, пытаюсь в обычных формах добавить надпись на страницу панели:
Ругается на: ЭтаФорма.Панель.Страницы.Страница1,
ну типа везде надо писать ЭлементыФормы.ОсновнаяПанель, но у меня во-первых нет основной панели, у меня нет обращения к Панели через ЭлементыФормы, и у меня на форме несколько страниц, на одной из них мне надо будет добавлять надписи. Как быть в такой ситуации?
ЭлементНадпись = ЭлементыФормы.Добавить(Тип("Надпись"), "Тест", Истина, ЭтаФорма.Панель.Страницы.Страница1);
ЭлементНадпись.Заголовок = "Тестовая надпись";
Ругается на: ЭтаФорма.Панель.Страницы.Страница1,
ну типа везде надо писать ЭлементыФормы.ОсновнаяПанель, но у меня во-первых нет основной панели, у меня нет обращения к Панели через ЭлементыФормы, и у меня на форме несколько страниц, на одной из них мне надо будет добавлять надписи. Как быть в такой ситуации?
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) HIVvich, внимательно справку прочтите по параметру:
ЭлементыФормы.Добавить (Controls.Add)
ЭлементыФормы (Controls)
Добавить (Add)
Синтаксис:
Добавить(<Тип>, <Имя>, <Видимость>, <ПоместитьНа>)
Параметры:
<Тип> (обязательный)
Тип: Тип.
Тип добавляемого элемента управления:
Индикатор; ПолеКалендаря; Кнопка; КоманднаяПанель; Надпись; Панель; Переключатель; ПолеТабличногоДокумента; ПолеHTMLДокумента; ПолеТекстовогоДокумента; ПолеВвода; ПолеВыбора; ПолеСписка; ПолеКартинки; ПолосаРегулирования; Разделитель; РамкаГруппы; ТабличноеПоле; Флажок; ПолеГрафическойСхемы; ПолеГеографическойСхемы.
<Имя> (обязательный)
Тип: Строка.
Имя создаваемого элемента управления. Имя должно быть указано в соответствии с правилами написания имен системы 1С:Предприятие 8. В противном случае выполнение метода вызовет исключение.
<Видимость> (необязательный)
Тип: Булево.
Определяет, создавать новый элемент управления формы видимым или нет. Истина - элемент создается видимым.
Значение по умолчанию: Истина.
<ПоместитьНа> (необязательный)
Тип: Панель; ПолеТабличногоДокумента.
Определяет, какой панели формы или какому табличному документу принадлежит создаваемый элемент. Если указана панель, то добавляемый элемент размещается на текущей странице панели. Если не указан, создаваемый элемент будет принадлежать непосредственно форме.
Возвращаемое значение:
Элемент управления формы.
Описание:
Добавляет элемент управления на форму.
Доступность:
Толстый клиент.
Пример:
// Расположим на странице табличное поле
ПолеРегистра = ЭлементыФормы.Добавить(Тип("ТабличноеПоле"),
СтрокаТаблицы.Имя,
Истина,
ЭлементыФормы.ОсновнаяПанель);
ПолеРегистра.Данные = "ДокументОбъект.Движения." + СтрокаТаблицы.Имя;
Если НЕ ЭтоНовый() Тогда
ПолеРегистра.Значение.Прочитать();
КонецЕсли;
ПолеРегистра.Верх = 30;
ПолеРегистра.Лево = 6;
ПолеРегистра.Ширина = ЭлементыФормы.ОсновнаяПанель.Ширина - 14;
ПолеРегистра.Высота = ЭлементыФормы.ОсновнаяПанель.Высота - 56;
ПолеРегистра.ТолькоПросмотр = Ложь;
ПолеРегистра.ИзменятьПорядокСтрок = Истина;
ПолеРегистра.ИзменятьСоставСтрок = Истина;
ПолеРегистра.УстановитьПривязку(ГраницаЭлементаУправления.Верх,
КоманднаяПанельРегистра,
ГраницаЭлементаУправления.Низ);
ПолеРегистра.УстановитьПривязку(ГраницаЭлементаУправления.Низ,
ЭлементыФормы.ОсновнаяПанель,
ГраницаЭлементаУправления.Низ);
ПолеРегистра.УстановитьПривязку(ГраницаЭлементаУправления.Право,
ЭлементыФормы.ОсновнаяПанель,
ГраницаЭлементаУправления.Право);
ПолеРегистра.СоздатьКолонки();
Если Метаданные.РегистрыНакопления[СтрокаТаблицы.Имя].ВидРегистра = Метаданные.СвойстваОбъектов.ВидРегистраНакопления.Остатки Тогда
КолонкаВидДвижения = ПолеРегистра.Колонки.Вставить(1, "Вид движения");
КолонкаВидДвижения.Имя = "ВидДвиженияРегистраНакопления";
КолонкаВидДвижения.УстановитьЭлементУправления(Тип("ПолеВвода"));
КолонкаВидДвижения.Данные = "ВидДвижения";
КолонкаВидДвижения.ЭлементУправления.КнопкаВыбора = Истина;
КолонкаВидДвижения.ЭлементУправления.ВыбиратьТип = Ложь;
КонецЕсли;
ПолеРегистра.Колонки.Регистратор.Видимость = Ложь;
ПолеРегистра.Колонки.Период.Видимость = Ложь;
ПолеРегистра.Колонки.НомерСтроки.Видимость = Ложь;
--------------------------------------------------------------------------------
Методическая информация
ПоказатьЭлементыФормы (Controls)
Добавить (Add)
Синтаксис:
Добавить(<Тип>, <Имя>, <Видимость>, <ПоместитьНа>)
Параметры:
<Тип> (обязательный)
Тип: Тип.
Тип добавляемого элемента управления:
Индикатор; ПолеКалендаря; Кнопка; КоманднаяПанель; Надпись; Панель; Переключатель; ПолеТабличногоДокумента; ПолеHTMLДокумента; ПолеТекстовогоДокумента; ПолеВвода; ПолеВыбора; ПолеСписка; ПолеКартинки; ПолосаРегулирования; Разделитель; РамкаГруппы; ТабличноеПоле; Флажок; ПолеГрафическойСхемы; ПолеГеографическойСхемы.
<Имя> (обязательный)
Тип: Строка.
Имя создаваемого элемента управления. Имя должно быть указано в соответствии с правилами написания имен системы 1С:Предприятие 8. В противном случае выполнение метода вызовет исключение.
<Видимость> (необязательный)
Тип: Булево.
Определяет, создавать новый элемент управления формы видимым или нет. Истина - элемент создается видимым.
Значение по умолчанию: Истина.
<ПоместитьНа> (необязательный)
Тип: Панель; ПолеТабличногоДокумента.
Определяет, какой панели формы или какому табличному документу принадлежит создаваемый элемент. Если указана панель, то добавляемый элемент размещается на текущей странице панели. Если не указан, создаваемый элемент будет принадлежать непосредственно форме.
Возвращаемое значение:
Элемент управления формы.
Описание:
Добавляет элемент управления на форму.
Доступность:
Толстый клиент.
Пример:
// Расположим на странице табличное поле
ПолеРегистра = ЭлементыФормы.Добавить(Тип("ТабличноеПоле"),
СтрокаТаблицы.Имя,
Истина,
ЭлементыФормы.ОсновнаяПанель);
ПолеРегистра.Данные = "ДокументОбъект.Движения." + СтрокаТаблицы.Имя;
Если НЕ ЭтоНовый() Тогда
ПолеРегистра.Значение.Прочитать();
КонецЕсли;
ПолеРегистра.Верх = 30;
ПолеРегистра.Лево = 6;
ПолеРегистра.Ширина = ЭлементыФормы.ОсновнаяПанель.Ширина - 14;
ПолеРегистра.Высота = ЭлементыФормы.ОсновнаяПанель.Высота - 56;
ПолеРегистра.ТолькоПросмотр = Ложь;
ПолеРегистра.ИзменятьПорядокСтрок = Истина;
ПолеРегистра.ИзменятьСоставСтрок = Истина;
ПолеРегистра.УстановитьПривязку(ГраницаЭлементаУправления.Верх,
КоманднаяПанельРегистра,
ГраницаЭлементаУправления.Низ);
ПолеРегистра.УстановитьПривязку(ГраницаЭлементаУправления.Низ,
ЭлементыФормы.ОсновнаяПанель,
ГраницаЭлементаУправления.Низ);
ПолеРегистра.УстановитьПривязку(ГраницаЭлементаУправления.Право,
ЭлементыФормы.ОсновнаяПанель,
ГраницаЭлементаУправления.Право);
ПолеРегистра.СоздатьКолонки();
Если Метаданные.РегистрыНакопления[СтрокаТаблицы.Имя].ВидРегистра = Метаданные.СвойстваОбъектов.ВидРегистраНакопления.Остатки Тогда
КолонкаВидДвижения = ПолеРегистра.Колонки.Вставить(1, "Вид движения");
КолонкаВидДвижения.Имя = "ВидДвиженияРегистраНакопления";
КолонкаВидДвижения.УстановитьЭлементУправления(Тип("ПолеВвода"));
КолонкаВидДвижения.Данные = "ВидДвижения";
КолонкаВидДвижения.ЭлементУправления.КнопкаВыбора = Истина;
КолонкаВидДвижения.ЭлементУправления.ВыбиратьТип = Ложь;
КонецЕсли;
ПолеРегистра.Колонки.Регистратор.Видимость = Ложь;
ПолеРегистра.Колонки.Период.Видимость = Ложь;
ПолеРегистра.Колонки.НомерСтроки.Видимость = Ложь;
--------------------------------------------------------------------------------
Методическая информация
(1) HIVvich, Установите текущую страницу и на ней разместится надпись. как-то так:
ЭлементыФормы.ОсновнаяПанель.ТекущаяСтраница = ЭлементыФормы.ОсновнаяПанель.Страницы.Печать;
ПолеРегистра = ЭлементыФормы.Добавить(Тип("Надпись"), "Надпись1", Истина, ЭлементыФормы.ОсновнаяПанель);
(11) Xershi, да мне в итоге просто надо найти все ссылки на этот документ с других документов, я их запросом нахожу и их необходимо вывести как список ссылок, т.е. я хочу создать надписи и их в гиперссылки переделать, т.е. по сути будет, например, 5 гиперссылкой на другие документы, поэтому все так сложно.
(12) horoshevall, спасибо, получилось, я тоже как раз к этому и пришла:))) Ребята, всем спасибо!
(12) horoshevall, спасибо, получилось, я тоже как раз к этому и пришла:))) Ребята, всем спасибо!
Блин, я наверное, неправильно выразилась, извините, да и туплю немного. Вообщем, заново, у меня нет панели, как таковой, я на самой форме создала страницы, у меня их 6 штук, вся информация распределена по страницам, и вот на определенной странице мне надо вставить надпись программно.
(7) HIVvich, Если у вас страницы не на панели (хотя наверное, это не страницы, а группы или что-то подобное?) то ничего не указываете в последнем 4 параметре и он разместится просто на форме. Привязками и местоположением его поставите куда конкретно нужно. Хотя и все таки - как вы страницы сделали, через какой элемент формы?
Управляемые формы это совсем другая тема
Управляемые формы это совсем другая тема
В УФ есть такое:
Только у меня обычные формы.
&НаСервере
Процедура СоздатьСтраницуНаФорме(НомерСтраницы, Заголовок, Текст)
Страница = Элементы.Добавить("Страница" + НомерСтраницы,
Тип("ГруппаФормы"), Элементы.Закладки);
Страница.Вид = ВидГруппыФормы.Страница;
Страница.Заголовок = Заголовок;
Надпись = Элементы.Добавить("Декорация" + НомерЗакладки,
Тип("ДекорацияФормы"), Страница);
Надпись.Вид = ВидДекорацииФормы.Надпись;
Надпись.Заголовок = Текст;
Надпись.РастягиватьПоВертикали = Истина;
Надпись.РастягиватьПоГоризонтали = Истина;
Надпись.ГоризонтальноеПоложение = ГоризонтальноеПоложениеЭлемента.Лево;
Надпись.ВертикальноеПоложение = ВертикальноеПоложениеЭлемента.Верх;
КонецПроцедуры
ПоказатьТолько у меня обычные формы.
А в продолжении темы только обратный момент: Типовой отчет Компл автоматизации 1.1. Обычное приложение. есть панель на ней программно создаются страницы. Если создаю сам страницу, на нее добавляется все как надо. А если хочу добавить на страницу которая создается самим отчетом. т.е. штатно, мои элементы добавляются на панель а не на текущую страницу. Куда лезть уже не знаю. Могут быть какие то ограничение для страницы по элементам или что нить типа того? код отрабатывает как надо только элемент не привязывается к старнице ни в какую
(17) Xershi, Не знал) т.е. мне на эту страницу не влезть? и как понять теряется? Если я правильно все понял то обновленияОтображения крайнее что выполняется перед открытием формы.. и если там все страницы созданы. все сформировано и я на это пытаюсь добавить как что то теряется?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот