![]() |
![]() |
|
Удаление реквизитов, созданных программно | ☑ | ||
---|---|---|---|---|
0
r_i_n_i_k
19.09.12
✎
11:10
|
8.2 УП
при формировании отчета программно создаются вкладки и табличные документы в них. При повторном заполнении отчета выпадает ошибка, т.к. создаются вкладки, которые уже созданы..но если вручную закрыть и открыть отчет, то опять отлично заполняется.. Подскажите, как в коде очистить все эти элементы и реквизиты, созданные программно? |
|||
1
Фокусник
19.09.12
✎
11:13
|
(0) Массив. В него при добавлении добавить элементы.
При повторном добавлении либо искать элементы: есть - не добавлять, либо перед повторным добавлением удалить все эти элементы (из массива) с формы |
|||
2
r_i_n_i_k
19.09.12
✎
11:18
|
(1) я создаю программно
* вкладку * реквизит с типом ТД * элемент формы, где путь к данным - это реквизит т.е. это всё добавлять в массив и перед формированием искать элементы этого массива по форме и удалять, если нашли? |
|||
3
Reset
19.09.12
✎
11:23
|
Если КудаВыводить=Неопределено тогда
/// Создать всю эту лабудень КонецЕсли; // Выводить в КудаВыводить |
|||
4
r_i_n_i_k
19.09.12
✎
11:32
|
(3)
да, так работает, когда при повторном формировании было создано меньше или столько же вкладок...а как быть с лишщними вкладками? т.е. при первом формировании создало 4 вкладки, а при повторном нужны лишь 2? |
|||
5
Reset
19.09.12
✎
11:46
|
Для ОчереднаяВозможноНужнаяВкладка из КоллекцияОписанийПараметровВкладокНапримерСоотвествиеИлиМассив цикл
Если НужнаВЭтомВарианте(ОчереднаяВозможноНужнаяВкладка.Имя) тогда Если ОчереднаяВозможноНужнаяВкладка.КудаВыводить=Неопределено тогда /// Создать всю эту лабудень КонецЕсли; /// Выводить в КудаВыводить Иначе Если ОчереднаяВозможноНужнаяВкладка.КудаВыводить<>Неопределено тогда /// Удалить или скрыть вкладку КонецЕсли; КонецЕсли; КонецЦикла; |
|||
6
Reset
19.09.12
✎
11:49
|
или
Для Очередная из КоллекцияОписанийПараметровВкладокНапримерСоотвествиеИлиМассив цикл Если ОчереднаяВозможноНужнаяВкладка.КудаВыводить<>Неопределено тогда /// Удалить или скрыть вкладку КонецЕсли; КонецЦикла; Для каждого ОчереднаяНужная из СписокНужных цикл Если КоллекцияОписанийПараметровВкладокНапримерСоотвествиеИлиМассив[ОчереднаяНужная]=Неопределено тогда /// Создать всю эту лабудень, запомнить в КоллекцияОписанийПараметровВкладокНапримерСоотвествиеИлиМассив КонецЕсли; /// Выводить в КудаВыводить КонецЦикла; |
|||
7
Reset
19.09.12
✎
11:50
|
Чувствую себя преподавателем на уроке информатики
|
|||
8
Reset
19.09.12
✎
11:51
|
или наоборот, студентом (или школьником, информатика в школе вроде)
|
|||
9
Фокусник
19.09.12
✎
12:47
|
(2) >т.е. это всё добавлять в массив и перед формированием искать элементы этого массива по форме и удалять, если нашли?
Да, т.е. убиваешь всё, что было созданно программно. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |