|
Не могу удалить реквизиты Таблицы Значения | ☑ | ||
---|---|---|---|---|
0
blueisacolour
09.06.15
✎
07:34
|
Добрый день.Есть справочник Группа Детей,на форме есть кнопка "Обновить",при нажатие этой кнопки формируется ТабЗнч из РС "Сведения о детях".При открытие формы запрос работает,создается таблица,но повтором нажатие соответственно она придерается на уникальность кода,необходимо конечно удалить реквизиты и элементы формы.пробовал разные варианты,не получается,что я делаю не так.Вот код:
Процедура ОбновитьСоставГруппы() Если Объект.Ссылка.Пустая() Тогда Возврат; КонецЕсли; СоставГруппы_Зн = РеквизитФормыВЗначение("СоставГруппы"); Запрос = Новый Запрос; Запрос.УстановитьПараметр("Дата" , ДатаСреза); Запрос.УстановитьПараметр("Группа" , ЭтотОбъект.Объект.Ссылка); Запрос.Текст = "ВЫБРАТЬ | дс_СведенияОДетяхСрезПоследних.Период, | дс_СведенияОДетяхСрезПоследних.Ребенок |ИЗ | РегистрСведений.дс_СведенияОДетях.СрезПоследних(&Дата, ) КАК дс_СведенияОДетяхСрезПоследних |ГДЕ | дс_СведенияОДетяхСрезПоследних.СтатусРебенка = ЗНАЧЕНИЕ(Перечисление.дс_СтатусыРебенка.Принят) | И дс_СведенияОДетяхСрезПоследних.Группа = &Группа"; СоставГруппы_Зн = Запрос.Выполнить().Выгрузить(); МассивРеквизитов = Новый Массив; Для Каждого Колонка ИЗ СоставГруппы_Зн.Колонки Цикл МассивТипов = Новый Массив; МассивТипов.Добавить(Колонка.ТипЗначения); НоваяКолонка = Новый РеквизитФормы(Колонка.Имя, Новый ОписаниеТипов(МассивТипов), "СоставГруппы"); МассивРеквизитов.Добавить(НоваяКолонка); КонецЦикла; МассивУдаляемыхРеквизитов = Новый Массив; Для каждого Кол Из МассивРеквизитов Цикл МассивУдаляемыхРеквизитов.Добавить(Кол); КонецЦикла; ИзменитьРеквизиты(МассивРеквизитов); //Создаются колонки у СоставГруппы //УдалитьРеквизитыТабЗнч(); Для каждого ЭлементФормы Из МассивУдаляемыхРеквизитов Цикл Эл = Элементы.Найти("СоставГруппы" + ЭлементФормы.Имя); Если Эл <> Неопределено Тогда Элементы.Удалить(Эл); КонецЕсли; КонецЦикла; ЭлементТЗ = Элементы.СоставГруппы; Для Каждого Колонка ИЗ СоставГруппы_Зн.Колонки Цикл НовыйЭлементФормы = Элементы.Добавить("СоставГруппы"+Колонка.Имя, Тип("ПолеФормы"), ЭлементТЗ); //Создается элемент формы, соответствующий колонке СоставГруппы НовыйЭлементФормы.Вид = ВидПоляФормы.ПолеВвода; НовыйЭлементФормы.ПутьКДанным = "СоставГруппы." + Колонка.Имя; ТабЗаг = Колонка.Заголовок; Если ТабЗаг = "Период" Тогда НовыйЭлементФормы.Заголовок = "Дата прибытия в группу"; КонецЕсли; КонецЦикла; //////////////////////////////////////////////////////////////////////////////// ЗначениеВРеквизитФормы(СоставГруппы_Зн, "СоставГруппы"); КонецПроцедуры |
|||
1
Рэйв
09.06.15
✎
07:37
|
(0)Открой для себя динамический список
|
|||
2
blueisacolour
09.06.15
✎
07:39
|
простите,это старый код,вот текущий:
Если Объект.Ссылка.Пустая() Тогда Возврат; КонецЕсли; СоставГруппы_Зн = РеквизитФормыВЗначение("СоставГруппы"); Запрос = Новый Запрос; Запрос.УстановитьПараметр("Дата" , ДатаСреза); Запрос.УстановитьПараметр("Группа" , ЭтотОбъект.Объект.Ссылка); Запрос.Текст = "ВЫБРАТЬ | дс_СведенияОДетяхСрезПоследних.Период, | дс_СведенияОДетяхСрезПоследних.Ребенок |ИЗ | РегистрСведений.дс_СведенияОДетях.СрезПоследних(&Дата, ) КАК дс_СведенияОДетяхСрезПоследних |ГДЕ | дс_СведенияОДетяхСрезПоследних.СтатусРебенка = ЗНАЧЕНИЕ(Перечисление.дс_СтатусыРебенка.Принят) | И дс_СведенияОДетяхСрезПоследних.Группа = &Группа"; СоставГруппы_Зн = Запрос.Выполнить().Выгрузить(); МассивРеквизитов = Новый Массив; Для Каждого Колонка ИЗ СоставГруппы_Зн.Колонки Цикл МассивТипов = Новый Массив; МассивТипов.Добавить(Колонка.ТипЗначения); НоваяКолонка = Новый РеквизитФормы(Колонка.Имя, Новый ОписаниеТипов(МассивТипов), "СоставГруппы"); МассивРеквизитов.Добавить(НоваяКолонка); КонецЦикла; МассивУдаляемыхРеквизитов = Новый Массив; Для каждого Кол Из СоставГруппы_Зн.Колонки Цикл МассивУдаляемыхРеквизитов.Добавить("СоставГруппы" + "." + Кол.Имя); КонецЦикла; ИзменитьРеквизиты(МассивРеквизитов,МассивУдаляемыхРеквизитов); //Создаются колонки у СоставГруппы //УдалитьРеквизитыТабЗнч(); Для каждого ЭлементФормы Из МассивУдаляемыхРеквизитов Цикл Эл = Элементы.Найти("СоставГруппы" + ЭлементФормы.Имя); Если Эл <> Неопределено Тогда Элементы.Удалить(Эл); КонецЕсли; КонецЦикла; ЭлементТЗ = Элементы.СоставГруппы; Для Каждого Колонка ИЗ СоставГруппы_Зн.Колонки Цикл НовыйЭлементФормы = Элементы.Добавить("СоставГруппы"+Колонка.Имя, Тип("ПолеФормы"), ЭлементТЗ); //Создается элемент формы, соответствующий колонке СоставГруппы НовыйЭлементФормы.Вид = ВидПоляФормы.ПолеВвода; НовыйЭлементФормы.ПутьКДанным = "СоставГруппы." + Колонка.Имя; ТабЗаг = Колонка.Заголовок; Если ТабЗаг = "Период" Тогда НовыйЭлементФормы.Заголовок = "Дата прибытия в группу"; КонецЕсли; КонецЦикла; //////////////////////////////////////////////////////////////////////////////// ЗначениеВРеквизитФормы(СоставГруппы_Зн, "СоставГруппы"); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |