Имя: Пароль:
1C
 
УФ. Видимость колонки в отчете на СКД
,
0 Max Street
 
19.02.16
10:17
Привет.

СКД. Колонки: "Номенклатура", "Количество", "Остаток" и т.д.
Я хочу управлять видимостью колонки "Остаток" из формы отчета, т.е. на форме отчета расположен реквизит типа "Булево", когда реквизит = Истина, тогда колонка отображается и наоборот.

Как это реализовать?
1 vicof
 
19.02.16
10:19
При компоновке результата в зависимости от этого флажка устанавливать галку использования на поле
2 Max Street
 
19.02.16
10:20
(1) спасибо. можно пример?
3 vicof
 
19.02.16
10:23
Элементы = КомпоновщикНастроек.Настройки.Выбор.Элементы;
для каждого Элемент из Элементы Цикл
Если Элемент поле = новый полекомпновкиданных("остаток") Тогда
Элемент.Использование = Галка;
конецесли
конецЦикла
4 Max Street
 
19.02.16
10:28
(3) спасибо, но не отрабатывает. Может потому, что остаток - это поле группировки?
5 vicof
 
19.02.16
10:52
(4) эмм..Нахрена?
6 Max Street
 
19.02.16
11:09
(5) ошибся, сорри.
Ну а если есть группировка "Склад", можно ли управлять аналогичным образом ее видимостью?
7 vicof
 
19.02.16
11:52
Можно. Тоже лезь в настройки компоновщика.
8 Max Street
 
19.02.16
11:56
(7) Пробовал так:

Элементы = КомпоновщикНастроек.Настройки.ДоступныеПоляГруппировок.Элементы;
    для каждого Элемент из Элементы Цикл
        Если Элемент.поле = новый ПолеКомпоновкиДанных("Остаток") Тогда
            Элемент.Использование = Истина;
        конецесли;
КонецЦикла;

Ошибка: "Поле объекта не обнаружено (Использование)"
9 Max Street
 
19.02.16
11:57
* Если Элемент.поле = новый ПолеКомпоновкиДанных("Склад") Тогда
10 vicof
 
19.02.16
13:22
(9) включи СП и отладчик
КомпоновщикНастроек.Настройки.Структура
11 Max Street
 
19.02.16
14:16
(10) спасибо. Получилось так:

        СтруктураКомпоновки = КомпоновщикНастроек.Настройки.Структура;
        Для Каждого ЭлементСтруктуры Из СтруктураКомпоновки Цикл
            Для Каждого Колонка Из ЭлементСтруктуры.Колонки Цикл
                Для Каждого Поле Из Колонка.ПоляГруппировки.Элементы Цикл
                    Если Поле.Поле = Новый ПолеКомпоновкиДанных("Склад") Тогда
                        Поле.Использование = Ложь;    
                    КонецЕсли;    
                КонецЦикла;    
            КонецЦикла;    
        конецЦикла;
12 Max Street
 
19.02.16
14:24
(10) ну а как управлять видимостью ресурса отчета, например, Цена. Такой вариант:

        Элементы = КомпоновщикНастроек.Настройки.Выбор.Элементы;
        Для Каждого Элемент Из Элементы Цикл
            Если Элемент.поле = новый ПолеКомпоновкиДанных("Цена") Тогда
                Элемент.Использование = Ложь;
            КонецЕсли;
        КонецЦикла;

не отрабатывает. Отладчик не заходит в строку "Элемент.Использование = Ложь;"