|
УФ. Видимость колонки в отчете на СКД |
☑ |
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) ну а как управлять видимостью ресурса отчета, например, Цена. Такой вариант:
Элементы = КомпоновщикНастроек.Настройки.Выбор.Элементы;
Для Каждого Элемент Из Элементы Цикл
Если Элемент.поле = новый ПолеКомпоновкиДанных("Цена") Тогда
Элемент.Использование = Ложь;
КонецЕсли;
КонецЦикла;
не отрабатывает. Отладчик не заходит в строку "Элемент.Использование = Ложь;"
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший