Имя: Пароль:
1C
1С v8
УФ как удалить реквизит формы
,
0 1C2SS
 
22.05.13
08:48
Делаю так:

УдаляемыеРеквизиты = новый массив;
рекв=ЭтаФорма.ПолучитьРеквизиты();  
Для Каждого эф из Элементы.Кромки.ПодчиненныеЭлементы Цикл
   Для Каждого рк из рекв Цикл
       Если эф.Имя = рк.Имя Тогда
           УдаляемыеРеквизиты.Добавить(рк);
       КонецЕсли;
   КонецЦикла;        
КонецЦикла;    
ИзменитьРеквизиты(,УдаляемыеРеквизиты);    

Ругается что путь не может быть "РеквизитФормы"
1 Defender aka LINN
 
22.05.13
08:51
(0) Смой это немедленно. И прочитай про метод ИзменитьРеквизиты.
2 1C2SS
 
22.05.13
08:53
О блин. Я думал по аналогии с добавляемыми реквизитами надо реквизиты передавать а не пути.
3 1C2SS
 
22.05.13
08:54
А как получить путь к реквизита формы?
4 Defender aka LINN
 
22.05.13
08:54
(2) Ты, главное, скажи - нахрена тебе тут 2 цикла? И что, у вас и правда такой строгий кладовщик, что буквы на переменные не выдает?
5 1C2SS
 
22.05.13
08:55
Мне надо удалить ранее добавленные реквизиты, элементы формы которых входят в такую то группу. Как это сделать без циклов ?
6 Defender aka LINN
 
22.05.13
08:57
(5) Та что ж вы вечно в крайности кидаетесь-то...
7 MaxS
 
22.05.13
08:58
(5) изменить видимость группы недостаточно?
8 1C2SS
 
22.05.13
08:58
В справке про пути:
РеквизитФормы (FormAttribute)
Путь (Path)
Использование:

Чтение и запись.
Описание:

Тип: Строка.
Содержит путь к реквизиту. Не включает имя реквизита.

Доступность:

Сервер.

Что за путь к реквизиту? Чем его заполнять ? Что он из себя представляет?
9 1C2SS
 
22.05.13
09:00
(7) Нет. Т.к. потом в эту группу добавляются новые реквизиты.
10 Лефмихалыч
 
22.05.13
09:03
(9) я бы поискал какой-то другой способ решения задачи, поскольку ручная манипуляция реквизитами формы в рантайме - это всегда отстойная идея.
11 MaxS
 
22.05.13
09:09
(9) Сделать в группе несколько подгрупп и менять видимость в зависимости от ситуации.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший