|   |   | 
| 
 | Добавление генерируемых элементов на генерируемые листы 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) Волшебник Спасибо, так даже удобнее!
 Если кто то расскажет, как работать с режимом разметки сообщений, буду признателен) | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |