|
Добавление генерируемых элементов на генерируемые листы 1с 8.22 | ☑ | ||
---|---|---|---|---|
0
stslit
06.06.24
✎
11:48
|
Доброго времени суток!
Есть код: Для инд = 2 По страниц Цикл СтраницыФормы = Этаформа.ЭлементыФормы.ПанельМестаЗаказа.Страницы.Добавить(инд, инд, инд); ПолеРегистра = ЭлементыФормы.Добавить(Тип("Надпись"), "НадписьМесто" + Строка(инд), Истина, СтраницыФормы); ПолеРегистра.Заголовок = "Что то там"; ПолеРегистра.Ширина = 64; ПолеРегистра.Высота = 22; КонецЦикла Если вместо "СтраницыФормы" ставить "ПанельМестаЗаказа", то все появляться на первой вкладке, а нужно распределять элементы по создающимся вкладкам. Причем Все это делается на "Панели" внутри которой есть "панель", где генерируются вкладки. Есть разбор тут https://infostart.ru/1c/articles/1118319/ и тут https://infostart.ru/1c/articles/1284403/ Как обращаться к сгенерированной странице на панели, что там разместить элементы? Используется 1с версии 8.22 |
|||
1
Волшебник
06.06.24
✎
11:47
|
Нет такой версии 1С
|
|||
2
stslit
06.06.24
✎
11:55
|
Извиняюсь )
8.3.22 |
|||
3
eklmn
гуру
06.06.24
✎
11:58
|
СтраницыФормы = Этаформа.ЭлементыФормы.ПанельМестаЗаказа.Страницы.Добавить(инд, инд, инд);
Этаформа.ЭлементыФормы.ПанельМестаЗаказа.ТекущаяСтраница = СтраницыФормы; ... |
|||
4
stslit
06.06.24
✎
12:06
|
Когда решил обратиться за помощью, то мозг решил подсказать решение))
ЭлементыФормы.ПанельМестаЗаказа.ТекущаяСтраница = ЭлементыФормы.ПанельМестаЗаказа.Страницы.Найти(инд); (3) Спасибо eklmn это решение тоже работает! |
|||
5
stslit
07.06.24
✎
09:42
|
Теперь вопрос, как обойти эти элементы, чтобы собрать с них данные?
Этот вариант не видит новосозданные элементы. Для Каждого элемент из ЭлементыФормы Цикл ... КонецЦикла |
|||
6
Смотрящий
07.06.24
✎
00:57
|
.ПодчиненныеЭлементы
|
|||
7
stslit
07.06.24
✎
09:33
|
Спасибо (6) Смотрящий, но данный варинт не работает, пишет что нет такого метода. Даже с добалением:
ГруппаФормы = ЭлементыФормы.ПанельМестаЗаказа; По имени могу обратиться и произвести чтение и запись генерируемого элемента ПолеВводаМестоВес5 При этом, в итераторе есть только то, что было сделано руками ПолеВводаМестоВес1. Может как то можно обратиться к элементу по имени, где имя задаётся через переменную, что бы считать значения? |
|||
8
Волшебник
07.06.24
✎
09:41
|
(7) Попробуйте квадратные скобки:
Объект[ИмяРеквизита] |
|||
9
stslit
07.06.24
✎
09:44
|
Решил вопрос через метод "Найти"
элементН = ЭлементыФормы.Найти("ПолеВводаМестоСтраховка5"); Строка генерируется по известному количеству полей. Могу считать и записать. Почему их нет в итераторе ЭлементыФормы, для меня загадка. Если кто-то знает почему так, буду признателен. P.S. Возможно, создаётся пул элементов при запуске формы (для скорости). При генерации элементы в пул не попадают и нужно дать команду перечитать элементы для пула или что-то подобное. |
|||
10
stslit
07.06.24
✎
10:41
|
(8) Волшебник Спасибо, так даже удобнее!
Если кто то расскажет, как работать с режимом разметки сообщений, буду признателен) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |