|
удалить программно созданные элементы на форме. | ☑ | ||
---|---|---|---|---|
0
Олеся999
08.02.17
✎
11:37
|
Доброго времени суток.
Не могу удалить программно созданные элементы на форме. Подскажите пожалуйста, как это можно сделать?) Элементы создавала так: &НаСервере Процедура Команда1НаСервере() СчетчикНаим = СчетчикНаим + 1; ДобавляемыеРеквизиты = Новый Массив; цум = СчетчикНаим ; ИмяСтраницы = Строка(цум); Реквизит11 = Новый РеквизитФормы("ф"+ ИмяСтраницы, Новый ОписаниеТипов("Строка")); //Тут указываем тип ДобавляемыеРеквизиты.Добавить(Реквизит11); ИзменитьРеквизиты(ДобавляемыеРеквизиты); Элемент33 = ИмяСтраницы; Элемент33 = ЭтаФорма.Элементы.Добавить("ОтборКомментарий"+ ИмяСтраницы, Тип("ПолеФормы"), ЭтаФорма.Элементы.Группа1); Элемент33.Вид = ВидПоляФормы.ПолеВвода; Элемент33.ПутьКДанным = "ф"+ ИмяСтраницы; ЭтотОбъект["Ф"+ ИмяСтраницы] = "текст произвольный"; КонецПроцедуры &НаКлиенте Процедура ПриОткрытии(Отказ) СчетчикНаим = 22; КонецПроцедуры &НаКлиенте Процедура Команда1(Команда) Команда1НаСервере(); КонецПроцедуры |
|||
1
vicof
08.02.17
✎
11:39
|
Вот зачем вам всем удалять реквизиты с формы?
Не проще ли их туда не добавлять? |
|||
2
butterbean
08.02.17
✎
11:43
|
(0) нафига в УФ что-то удалять вообще? меняй видимость и все
|
|||
3
Олеся999
08.02.17
✎
11:44
|
(1) Еще предложите их не замечать, или стикером залепить на мониторе ))
|
|||
4
vicof
08.02.17
✎
11:45
|
(3) Предлагаю не добавлять
|
|||
5
Олеся999
08.02.17
✎
11:46
|
(4) Да просто нужно делать программно потому что не понятно сколько их вообще будет, зависит от условия.
|
|||
6
vicof
08.02.17
✎
11:58
|
||||
7
FIXXXL
08.02.17
✎
12:06
|
Процедура УдалитьПрограммноСозданныеРеквизитыИЭлементы()
//удаление ранее созданных программно колонок //убираем элементы формы Для каждого ЭлементФ Из СписокУдаляемыхЭлементов Цикл НайденныйЭлементФормы = ЭтаФорма.Элементы.Найти(ЭлементФ.Значение); Если НайденныйЭлементФормы <> Неопределено Тогда ЭтаФорма.Элементы.Удалить(НайденныйЭлементФормы); КонецЕсли; КонецЦикла; //убираем реквизиты формы УдаляемыеРеквизиты = Новый Массив; Для каждого ЭлементСписка Из СписокУдаляемыхРеквизитов Цикл УдаляемыеРеквизиты.Добавить(ЭлементСписка.Значение); КонецЦикла; ИзменитьРеквизиты(,УдаляемыеРеквизиты); СписокУдаляемыхРеквизитов.Очистить(); СписокУдаляемыхЭлементов.Очистить(); КонецПроцедуры при создании реквизитов и элементов я их запоминаю в реквизиты формы с типом СписокЗначений |
|||
8
Олеся999
08.02.17
✎
12:31
|
(6) Чем является СписокРеквизитов понять не могу.
Если СписокРеквизитов.Количество() > 0 Тогда МассивУдаления = Новый Массив; МассивПоля = Новый Массив; Для Каждого УдаляемыйЭлемент Из Элементы.Группа1.ПодчиненныеЭлементы Цикл ЭлементУдаления = УдаляемыйЭлемент.ПутьКДанным; ПолеУдаляемогоЭлемента = Элементы.Группа1.ПодчиненныеЭлементы.Найти(УдаляемыйЭлемент.ПутьКДанным); МассивПоля.Добавить(ПолеУдаляемогоЭлемента); МассивУдаления.Добавить(ЭлементУдаления); КонецЦикла; Для Каждого Стр Из Массивполя Цикл Элементы.Удалить(Стр); КонецЦикла; ИзменитьРеквизиты(,МассивУдаления); МассивУдаления.Очистить(); СписокРеквизитов.Очистить(); КонецЕсли; |
|||
9
Олеся999
08.02.17
✎
13:04
|
(7) СписокУдаляемыхЭлементов тз или что ?
|
|||
10
FIXXXL
08.02.17
✎
14:18
|
(9) при создании реквизитов и элементов я их запоминаю в реквизиты формы с типом СписокЗначений
СписокУдаляемыхЭлементов - реквизит формы типа СписокЗначений, в нем текстовые представления того. что удаляем |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |