Имя: Пароль:
1C
 
СКД: Программно удалить выбранные поля. Как? (киньте пример)
0 Ksandr
 
06.04.10
10:12
Понадобилось изменять состав полей в зависимости от роли. Редактировать настройки интерактивно нельзя, т.к. это внешняя печатная форма, предназначенная для анализа партии. Нужно исключить из печати колонки затрат и начальную цену. В Хрусталевой не нашел. Есть как добавить поле, но вот убрать - нету
1 Лефмихалыч
 
06.04.10
10:13
Вот я вот тоже ищу какой-нить вариант серебряной пули. Подписался
2 XLife
 
06.04.10
10:16
(0) оно?

КоллекцияВыбранныхПолейКомпоновкиДанных (DataCompositionSelectedFieldCollection)
Удалить (Delete)
Синтаксис:
Удалить(<Элемент>)
Параметры:
<Элемент> (обязательный)
Тип: ВыбранноеПолеКомпоновкиДанных, ГруппаВыбранныхПолейКомпоновкиДанных, АвтоВыбранноеПолеКомпоновкиДанных. Удаляемый элемент.
Описание:
Удаляет элемент из коллекции.
3 gr13
 
06.04.10
10:17
4 XLife
 
06.04.10
10:18
+(2)
ВыбранноеПолеКомпоновкиДанных (DataCompositionSelectedField)
Использование (Use)
Использование:
Чтение и запись.
Описание:
Тип: Булево. Содержит признак использования поля.
5 Ksandr
 
06.04.10
10:37
Честно говоря пока не понял из всего вышенаписанного как мне удалить например поле "Затраты".

По схеме очистить и заполнить заново - это понятно, даже более чем.
6 Ksandr
 
06.04.10
10:43
Непонятно как сформировать список полей отчета в целом, а не на уровне группировок
7 gr13
 
06.04.10
10:44
читаем жкк или жк
8 DZENN
 
гуру
06.04.10
10:50
Например так:


Процедура КнопкаВключитьТоварыНажатие(Элемент)

   МассивПолей = Новый Массив;
   МассивПолей.Добавить("ТоварНачОст");
   МассивПолей.Добавить("ТоварПриход");
   МассивПолей.Добавить("ТоварРасход");
   МассивПолей.Добавить("ТоварКонОст");
   
   ВыбранныеПоля = КомпоновщикНастроек.Настройки.Выбор.Элементы;
   УстановитьПоля(ВыбранныеПоля, МассивПолей, Истина);
   
КонецПроцедуры


Процедура УстановитьПоля(ВыбранныеПоля, МассивПолей, ВыбИспользование)
   
   Для Каждого ВыбранноеПоле Из ВыбранныеПоля Цикл
       
       Если ТипЗнч(ВыбранноеПоле) = Тип("ВыбранноеПолеКомпоновкиДанных") Тогда
           Если МассивПолей.Найти(Строка(ВыбранноеПоле.Поле)) <> Неопределено Тогда
               ВыбранноеПоле.Использование = ВыбИспользование;
           КонецЕсли;            
       ИначеЕсли ТипЗнч(ВыбранноеПоле) = Тип("ГруппаВыбранныхПолейКомпоновкиДанных") Тогда
           УстановитьПоля(ВыбранноеПоле.Элементы, МассивПолей, ВыбИспользование);
       КонецЕсли;        
       
   КонецЦикла;

КонецПроцедуры
9 Ksandr
 
06.04.10
11:06
А можно определить Индекс по имени поля?
Чтобы можно было сделать так:
Настройки.Выбор.Элементы.Удалить(Индекс)?
10 Garkin
 
06.04.10
11:10
(0) Имхо.
Принципиально не правильная позиция.
В зависимости от роли у пользователя должны быть свои настройки отчета и все.
Ненадо по этому поводу изобретать лисапед.
11 Ksandr
 
06.04.10
11:15
(10) Это не отчет а печатная форма.
12 Garkin
 
06.04.10
11:16
(11) Не вижу разницы.