Поменять расположение реквизита формы программно
Добавляю реквизит на форму программно, он естественно добавляется в самый низ группы. Хочу его переместить наверх, в идеале, конечно, конкретно указать между какими элементами формами он должен располагаться.
НовыйЭлемент = Элементы.Добавить("Булево" , Тип("ПолеФормы"), ЭтаФорма.Элементы.Группа1);
НовыйЭлемент.Вид = ВидПоляФормы.ПолеФлажка;
НовыйЭлемент.ПутьКДанным = "Объект.Булево";
НовыйЭлемент.ВертикальноеПоложениеВГруппе = ВертикальноеПоложениеЭлемента.Верх;
НовыйЭлемент.ВертикальноеПоложение = ВертикальноеПоложениеЭлемента.Верх;//так же не дает результата
НовыйЭлемент = Элементы.Добавить("Булево" , Тип("ПолеФормы"), ЭтаФорма.Элементы.Группа1);
НовыйЭлемент.Вид = ВидПоляФормы.ПолеФлажка;
НовыйЭлемент.ПутьКДанным = "Объект.Булево";
НовыйЭлемент.ВертикальноеПоложениеВГруппе = ВертикальноеПоложениеЭлемента.Верх;
НовыйЭлемент.ВертикальноеПоложение = ВертикальноеПоложениеЭлемента.Верх;//так же не дает результата
По теме из базы знаний
- 115 полезностей по курсу СКД Евгения Гилёва
- Как правильно вносить изменения в типовую конфигурацию для легкого ее обновления в дальнейшем
- Правила и приемы доработки типовых конфигураций 1С для облегчения их дальнейшей поддержки и обновления
- Программные формы
- Как читать чужой код? Часть 1. Общие вопросы. Доработка чужого кода. Code review
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
у кэпа нашел вот это, вижу что мой параметр 4-ый
ВсеЭлементыФормы (FormAllItems)
Вставить (Insert)
Синтаксис:
Вставить(<Имя>, <ТипЭлемента>, <Родитель>, <Элемент>)
Параметры:
<Имя> (обязательный)
Тип: Строка.
Уникальное имя добавляемого элемента.
<ТипЭлемента> (обязательный)
Тип: Тип.
Тип добавляемого элемента.
<Родитель> (необязательный)
Тип: ГруппаФормы; ТаблицаФормы; УправляемаяФорма.
Родитель для добавляемого элемента.
Если не указан, то вставляется на верхний уровень.
<Элемент> (необязательный)
Тип: ДекорацияФормы; ГруппаФормы; КнопкаФормы; ТаблицаФормы; ПолеФормы.
Элемент, перед которым должен быть вставлен новый элемент. Если не указан, то элемент будет вставлен в конец.
Возвращаемое значение:
Тип: ДекорацияФормы; ГруппаФормы; КнопкаФормы; ТаблицаФормы; ПолеФормы.
Описание:
Вставляет элемент в коллекцию элементов.
Доступность:
Сервер, мобильное приложение(сервер).
ВсеЭлементыФормы (FormAllItems)
Вставить (Insert)
Синтаксис:
Вставить(<Имя>, <ТипЭлемента>, <Родитель>, <Элемент>)
Параметры:
<Имя> (обязательный)
Тип: Строка.
Уникальное имя добавляемого элемента.
<ТипЭлемента> (обязательный)
Тип: Тип.
Тип добавляемого элемента.
<Родитель> (необязательный)
Тип: ГруппаФормы; ТаблицаФормы; УправляемаяФорма.
Родитель для добавляемого элемента.
Если не указан, то вставляется на верхний уровень.
<Элемент> (необязательный)
Тип: ДекорацияФормы; ГруппаФормы; КнопкаФормы; ТаблицаФормы; ПолеФормы.
Элемент, перед которым должен быть вставлен новый элемент. Если не указан, то элемент будет вставлен в конец.
Возвращаемое значение:
Тип: ДекорацияФормы; ГруппаФормы; КнопкаФормы; ТаблицаФормы; ПолеФормы.
Описание:
Вставляет элемент в коллекцию элементов.
Доступность:
Сервер, мобильное приложение(сервер).
Все, разобрался) Просто просто добавить, используем точно так же Вставить
НовыйЭлемент = Элементы.Вставить("Булево", Тип("ПолеФормы"), ЭтаФорма.Элементы.Группа1, ЭтаФорма.Элементы.Реквизит2);
НовыйЭлемент.Вид = ВидПоляФормы.ПолеФлажка;
НовыйЭлемент.ПутьКДанным = "Объект.Булево";
НовыйЭлемент = Элементы.Вставить("Булево", Тип("ПолеФормы"), ЭтаФорма.Элементы.Группа1, ЭтаФорма.Элементы.Реквизит2);
НовыйЭлемент.Вид = ВидПоляФормы.ПолеФлажка;
НовыйЭлемент.ПутьКДанным = "Объект.Булево";
Вообще-то поменять расположение скорее это переместить:
Элементы.Переместить(Элементы.ОсновнаяКоманднаяПанель,ЛеваяКолонка);
Элементы.Переместить(Элементы.Результат,ЛеваяКолонка);
Элементы.Переместить(Элементы.КомпоновщикНастроекПользовательскиеНастройки,ПраваяКолонка);
Причем, если надо просто в конец, то последний параметр не указываем
Элементы.Переместить(Элементы.ОсновнаяКоманднаяПанель,ЛеваяКолонка);
Элементы.Переместить(Элементы.Результат,ЛеваяКолонка);
Элементы.Переместить(Элементы.КомпоновщикНастроекПользовательскиеНастройки,ПраваяКолонка);
Причем, если надо просто в конец, то последний параметр не указываем
(9) не. Точно не это. Там указаны элементы куда переместить. А все они находятся у одного родителя.
Нашел как сделать может кому пригодится:
главное:
1. НЕ указывать родителя(!!!);
2. Точно указать перед каким элементом вставить. В примере "Элементы.ГруппаКоманднаяПанельСписка". Без этого параметра он всё равно бы вставил в конец. Такая вот фича ))) Люблю 1С )
СПАСИБО!
Нашел как сделать может кому пригодится:
НовГруппа = Элементы.Вставить("Нов_Группа", Тип("ГруппаФормы"),,Элементы.ГруппаКоманднаяПанельСписка);
главное:
1. НЕ указывать родителя(!!!);
2. Точно указать перед каким элементом вставить. В примере "Элементы.ГруппаКоманднаяПанельСписка". Без этого параметра он всё равно бы вставил в конец. Такая вот фича ))) Люблю 1С )
СПАСИБО!
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот