![]() |
![]() |
![]() |
|
Выборочное удаление элементов с формы | ☑ | ||
---|---|---|---|---|
0
ПривеДМедвед
22.10.12
✎
09:08
|
Есть код который удаляет все добавленные элементы с формы. Вопрос: что нужно в коде написать, чтобы элементы не все удалялись, а выборочно.Как это осуществить можно?Подскажите пожалуйста)
&НаКлиенте Процедура УдалитьФайлыСФормы(Команда) УдалитьЭлементыФормы(); ОчиститьТабличнуюЧасть(); КонецПроцедуры &НаСервере Процедура ОчиститьТабличнуюЧасть() Объект.Сертификаты.Очистить(); КонецПроцедуры |
|||
1
Нуф-Нуф
22.10.12
✎
09:09
|
замени УдалитьЭлементыФормы() на УдалитьЭлементыФормыВыборочно()
|
|||
2
Cube
22.10.12
✎
09:11
|
(1) +100! Сам долго парился, пока не узнал про эту конструкцию!)
|
|||
3
ПривеДМедвед
22.10.12
✎
09:11
|
Ошибка Процедура или функция с указанным именем не определена (УдалитьЭлементыФормыВыборочно)
|
|||
4
Cube
22.10.12
✎
09:12
|
(3) Так у тебя конфигуратор краденый... Покупай лицензию, там всё есть.
|
|||
5
AaNnDdRrEeYy
22.10.12
✎
09:12
|
Попробуй
УдалитьЭлементыФормыВыборочноНуПожалуйста() |
|||
6
ПривеДМедвед
22.10.12
✎
09:12
|
лецензионный
|
|||
7
butterbean
22.10.12
✎
09:13
|
(6) а нужен лицензионный
|
|||
8
ПривеДМедвед
22.10.12
✎
09:14
|
ах да у меня на форме элементы в виде ссылок на документы может это как то влияет?
|
|||
9
AaNnDdRrEeYy
22.10.12
✎
09:14
|
а если серьезно то
поставь курсор на УдалитьЭлементыФормы(); и нажми F12, вот там и смотри что менять надо |
|||
10
butterbean
22.10.12
✎
09:14
|
(7)+ по сабжу — ты бы выложил код процедуры УдалитьЭлементыФормы()
|
|||
11
ПривеДМедвед
22.10.12
✎
09:15
|
&НаСервере
Процедура УдалитьЭлементыФормы() Если Объект.Сертификаты.Количество()>0 Тогда ДобавляемыеРеквизиты = Новый Массив(); Для каждого Стр из Объект.Сертификаты Цикл ДобавляемыеРеквизиты.Добавить("Сертификат" +Стр.НомерСтроки); КонецЦикла; ИзменитьРеквизиты( ,ДобавляемыеРеквизиты); КонецЕсли; КонецПроцедуры |
|||
12
Cube
22.10.12
✎
09:16
|
(11) Код написан с целью введения потенциального противника в заблуждение... :)
|
|||
13
butterbean
22.10.12
✎
09:16
|
нда
|
|||
14
ПривеДМедвед
22.10.12
✎
09:18
|
как мог так и написал)
|
|||
15
Cube
22.10.12
✎
09:19
|
(14) Ну так давай тогда процедуру ИзменитьРеквизиты( ,ДобавляемыеРеквизиты)... Мы же не телепаты... :)
|
|||
16
AaNnDdRrEeYy
22.10.12
✎
09:20
|
(14) тогда перепиши как можешь, в чем проблема?
|
|||
17
ПривеДМедвед
22.10.12
✎
09:21
|
&НаСервере
Процедура СоздатьЭлементыФормы() Если Объект.Сертификаты.Количество()>0 Тогда Массив = Новый Массив(); Массив.Добавить(Тип("СправочникСсылка.ХранимыеФайлы")); ОписаниеТиповС = Новый ОписаниеТипов(Массив); ДобавляемыеРеквизиты = Новый Массив(); Для каждого Стр из Объект.Сертификаты Цикл Если Элементы.Найти("Сертификат" +Стр.НомерСтроки) = Неопределено Тогда Реквизит = Новый РеквизитФормы("Сертификат" +Стр.НомерСтроки, ОписаниеТиповС); Реквизит.СохраняемыеДанные = Истина; ДобавляемыеРеквизиты.Добавить(Реквизит); КонецЕсли; КонецЦикла; ИзменитьРеквизиты(ДобавляемыеРеквизиты); Для каждого Стр из Объект.Сертификаты Цикл Если Элементы.Найти("Сертификат" +Стр.НомерСтроки) = Неопределено Тогда Элемент = Элементы.Добавить("Сертификат" +Стр.НомерСтроки, Тип("ПолеФормы"), Элементы.ГруппаСертификаты); Элемент.Вид = ВидПоляФормы.ПолеНадписи; Элемент.Гиперссылка = Истина; Элемент.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет; Элемент.ПутьКДанным = "Сертификат" + Стр.НомерСтроки; Элемент.УстановитьДействие("Нажатие", "Поле1Нажатие"); ЭтаФорма["Сертификат" + Стр.НомерСтроки] = Стр.Файл; КонецЕсли; КонецЦикла; КонецЕсли; КонецПроцедуры |
|||
18
AaNnDdRrEeYy
22.10.12
✎
09:26
|
так попробуй
&НаСервере Процедура УдалитьЭлементыФормы() Если Объект.Сертификаты.Количество()>0 Тогда ДобавляемыеРеквизиты = Новый Массив(); Для каждого Стр из Объект.Сертификаты Цикл Если Твое условие неудаление реквизита Тогда Продолжить; КонецЕсли; ДобавляемыеРеквизиты.Добавить("Сертификат" +Стр.НомерСтроки); КонецЦикла; ИзменитьРеквизиты( ,ДобавляемыеРеквизиты); КонецЕсли; КонецПроцедуры |
|||
19
Serg_1960
22.10.12
✎
09:34
|
ТС, тебя просили озвучить ИзменитьРеквизиты(), а не типовые куски алгоритмов "от балды" копипастить.
Понедельник, утро... сегодня не "твой день" - выключи и не включай комп :) |
|||
20
AaNnDdRrEeYy
22.10.12
✎
09:39
|
(19) он наверно ее в конфиги ищет.
вот она это встроенная УправляемаяФорма (ManagedForm) ИзменитьРеквизиты (ChangeAttributes) Синтаксис: ИзменитьРеквизиты(<ДобавляемыеРеквизиты>, <УдаляемыеРеквизиты>) Параметры: <ДобавляемыеРеквизиты> (необязательный) Тип: Массив. Массив, содержащий объекты типа РеквизитФормы. Добавлять можно реквизиты верхнего уровня и вложенные реквизиты, являющиеся колонками. К добавленным реквизитам верхнего уровня из модуля можно обращаться только с помощью конструкции ЭтаФорма.<Имя реквизита>. <УдаляемыеРеквизиты> (необязательный) Тип: Массив. Массив, содержащий строки, описывающие пути к удаляемым реквизитам. Удалять можно только ранее программно добавленные реквизиты. Описание: Изменяет структуру реквизитов формы. Сначала выполняется удаление реквизитов. Таким образом массивы добавляемых и удаляемых реквизитов могут содержать реквизиты с одинаковым путём. Доступность: Сервер. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |