|
На управляемой форме не видны поля добавленные программно | ☑ | ||
---|---|---|---|---|
0
bodri
30.09.16
✎
08:28
|
Программно добавляются страницы по видам помещений
Страницы на форме отображаются, дальше в зависимости от вида помещений, если паркинг или коммерческие добавляется табличный документ - добавляется и видно на форме, а если вид помещений квартира, добавляется ещё элемент формы страниц и на них добавляются страницы по блокам, а уже в страницах этих блоков добавляется табличные документы - вот как раз с ними и проблема, все добавляется (видно в отладчике), а в предприятии на форме нет нечего. Помогите разобраться. Код: //Добавляем страницы видов помещений ВидПомещения = Элемент_2.ВидПомещения; Имя = "ЖК_" + Элемент_1.ЖК.Код + "_" + Лев(ВидПомещения,2); ЭлементФормы_3 = ЭтаФорма.Элементы.Найти(Имя); Если ЭлементФормы_3 = Неопределено Тогда ЭлементФормы_3 = ЭтаФорма.Элементы.Добавить(Имя,Тип("ГруппаФормы"),ЭлементФормы_2); ЭлементФормы_3.Вид = ВидГруппыФормы.Страница; ЭлементФормы_3.Заголовок = ВидПомещения; ЭлементФормы_3.Видимость = Истина; КонецЕсли; //Если вид помещения Паркинг или Коммерческие тогда выводим табличную часть Если ВидПомещения = Перечисления.ВидыПомещений.Паркинг или ВидПомещения = Перечисления.ВидыПомещений.КоммерческоеПомещение Тогда //Добавляем таблицу Имя = "Т_ЖК_" + Элемент_1.ЖК.Код + "_" + Лев(ВидПомещения,2); ЭлементФормы_4 = ЭтаФорма.Элементы.Найти(Имя); Если ЭлементФормы_4 = Неопределено Тогда ЭлементФормы_4 = ЭтаФорма.Элементы.Добавить(Имя,Тип("ПолеФормы"),ЭлементФормы_3); ЭлементФормы_4.Вид = ВидПоляФормы.ПолеТабличногоДокумента; ЭлементФормы_4.Видимость= Истина; ЭлементФормы_4.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; ЭлементФормы_4.УстановитьДействие("ОбработкаРасшифровки","ОбработкаРасшифровки"); ТекРеквизит = Новый РеквизитФормы(ЭлементФормы_4.Имя,Новый ОписаниеТипов(МассивТиповТаблицы)); ДобавляемыеРеквизиты = Новый Массив; ДобавляемыеРеквизиты.Добавить(ТекРеквизит); ИзменитьРеквизиты(ДобавляемыеРеквизиты); ЭлементФормы_4.ПутьКДанным = ТекРеквизит.Имя; КонецЕсли; Если ВидПомещения = Перечисления.ВидыПомещений.КоммерческоеПомещение Тогда ЗаполнитьТабличныйДокумент_Коммерческие(ЭтаФорма[Имя],Элемент_2.Строки); ИначеЕсли ВидПомещения = Перечисления.ВидыПомещений.Паркинг Тогда ЗаполнитьТабличныйДокумент_Паркинги(ЭтаФорма[Имя],Элемент_2.Строки); КонецЕсли; //Если вид помещения Квартира тогда добавляем страницы по блокам ИначеЕсли ВидПомещения = Перечисления.ВидыПомещений.Квартиры Тогда //Добавляем группу видов помещений Имя = "СтраницыБлоков_" + Элемент_1.ЖК.Код; ЭлементФормы_5 = ЭтаФорма.Элементы.Найти(Имя); Если ЭлементФормы_5 = Неопределено Тогда ЭлементФормы_5 = ЭтаФорма.Элементы.Добавить(Имя,Тип("ГруппаФормы"),ЭлементФормы_3); ЭлементФормы_5.Вид = ВидГруппыФормы.Страницы; ЭлементФормы_5.Видимость= Истина; КонецЕсли; //Обход по блокам Элементы_3 = Элемент_2.Строки; Для Каждого Элемент_3 из Элементы_3 Цикл //Добавляем страницы блоков Имя = ОбработатьТекстИмени("ЖК_" + СокрЛП(Элемент_1.ЖК.Код) + "_Блок_" + СокрЛП(Элемент_3.Блок)); ЭлементФормы_6 = ЭтаФорма.Элементы.Найти(Имя); Если ЭлементФормы_6 = Неопределено Тогда ЭлементФормы_6 = ЭтаФорма.Элементы.Добавить(Имя,Тип("ГруппаФормы"),ЭлементФормы_5); ЭлементФормы_6.Вид = ВидГруппыФормы.Страница; ЭлементФормы_6.Заголовок = "Блок " + Элемент_3.Блок; ЭлементФормы_6.Видимость = Истина; КонецЕсли; //Добавляем таблицу блока Имя = ОбработатьТекстИмени("Т_ЖК_" + СокрЛП(Элемент_1.ЖК.Код) + "_Блок_" + СокрЛП(Элемент_3.Блок)); ЭлементФормы_7 = ЭтаФорма.Элементы.Найти(Имя); Если ЭлементФормы_7 = Неопределено Тогда ЭлементФормы_7 = ЭтаФорма.Элементы.Добавить(Имя,Тип("ПолеФормы"),ЭлементФормы_6); ЭлементФормы_7.Вид = ВидПоляФормы.ПолеТабличногоДокумента; ЭлементФормы_7.Видимость= Истина; ЭлементФормы_7.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; ЭлементФормы_7.УстановитьДействие("ОбработкаРасшифровки","ОбработкаРасшифровки"); ТекРеквизит = Новый РеквизитФормы(ЭлементФормы_7.Имя,Новый ОписаниеТипов(МассивТиповТаблицы)); ДобавляемыеРеквизиты = Новый Массив; ДобавляемыеРеквизиты.Добавить(ТекРеквизит); ИзменитьРеквизиты(ДобавляемыеРеквизиты); ЭлементФормы_7.ПутьКДанным = ТекРеквизит.Имя; КонецЕсли; ЗаполнитьТабличныйДокумент_Квартиры(ЭтаФорма[Имя],Элемент_3.Строки); КонецЦикла; КонецЕсли; |
|||
1
Мимохожий Однако
30.09.16
✎
08:41
|
попробуй программно заполнить добавленное поле
|
|||
2
bodri
30.09.16
✎
08:45
|
(1) оно заполняется
|
|||
3
aleks_default
30.09.16
✎
09:28
|
сначала добавляй реквизиты реквизиты а потом элементы формы.
|
|||
4
aleks_default
30.09.16
✎
09:28
|
а не наоборот
|
|||
5
bodri
30.09.16
✎
09:40
|
(3),(4) без разницы, т.к. в обоих условиях одинаково создается, вот только в одном работает как надо а в другом нет
|
|||
6
aleks_default
30.09.16
✎
10:27
|
А у Элемент_2 какой тип? Че-то не врублюсь. Это элемент формы или дерево?
|
|||
7
bodri
30.09.16
✎
10:31
|
(6) Это строка Дерева
|
|||
8
aleks_default
30.09.16
✎
10:34
|
не пробовал страницу назначать текущей?
|
|||
9
bodri
30.09.16
✎
10:36
|
(8) после добавления каждой страницы?
|
|||
10
aleks_default
30.09.16
✎
10:37
|
нет не каждой, первую или последнюю
|
|||
11
aleks_default
30.09.16
✎
10:37
|
любую
|
|||
12
bodri
30.09.16
✎
10:47
|
Будет проблематично, т.к. строятся элементы примерно так:
Форма - Страницы комплексов -комплекс 1 (Видно) -вид помещения -Квартиры (видно) -Страницы блоков -Блок 1 (не видно) -Табличная часть (не видно) -Блок 2 (не видно) -Табличная часть (не видно) -Блок n (не видно) -Табличная часть (не видно) -Коммерческие (видно) -Табличная часть (Видно) -Паркинг (видно) -Табличная часть (Видно) -комплекс n.. У всех имена уникальные и конфликта нет Отладчик после прохода этой процедурины ЭтаФорма.Элементы - показывает все элементы которые были добавлены и у всех видимость стоит ИСТИНА. А вот на форме страницы блоков так и не показываются уже было думал что не все таблицы выводятся, так для пробы тупо вставил вывод одной области и который выводит всегда без условий. Всё равно без изменений. |
|||
13
bodri
30.09.16
✎
11:19
|
Разобрался.
|
|||
14
bodri
30.09.16
✎
11:20
|
(1) и (11) Спасибо за попытку помочь.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |