Добрый день. Как можно скрыть колонку в отчете скд по условию? Сделал через уо, мин и макс ширину -0.1, работает. Но работает всегда. Мне нужно скрыть колонку с числовым значением, если во всем отчете в этой колонке значения = 0, если есть хоть одно значение не = 0, колонку скрывать не нужно. Подскажите, пожалуйста, как можно такое реализовать?
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Еще можно в написать обработчик.
у вас есть УсловиеСкрытия.
1. Получить настройки отчета
2. Создать новый список значений, Например "ПоляСкрытия".
В него добавить ваши колонки как
Только вставляете реальные имена колонок!
3. Перед "МакетКомпоновки..... ПроцессорКомпоновки ..... ПроцессорВывода ...," вставляете обработчик
Примерно такой код. Отладите под себя.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
у вас есть УсловиеСкрытия.
1. Получить настройки отчета
НастройкиОтчета = КомпоновщикНастроек.ПолучитьНастройки();
2. Создать новый список значений, Например "ПоляСкрытия".
В него добавить ваши колонки как
"ПоляСкрытия.Добавить(Новый ПолеКомпоновкиДанных("СкрываемаяПоУсловиюКолонка"))
Только вставляете реальные имена колонок!
3. Перед "МакетКомпоновки..... ПроцессорКомпоновки ..... ПроцессорВывода ...," вставляете обработчик
Для Каждого ЭлементСтруктуры Из НастройкиОтчета.Структура Цикл
Если ТипЗнч(ЭлементСтруктуры) = Тип("ТаблицаКомпоновкиДанных") Тогда
КолонкиТаблицы = ЭлементСтруктуры.Колонки;
Для Каждого КолонкаТаблицы Из КолонкиТаблицы Цикл
Если КолонкаТаблицы.Выбор.Элементы.Количество() = 1 Тогда
ГруппаВыбранныхПолей = КолонкаТаблицы.Выбор.Элементы.Получить(0);
Если ТипЗнч(ГруппаВыбранныхПолей) = Тип("ГруппаВыбранныхПолейКомпоновкиДанных") Тогда
ПоляГруппы = ГруппаВыбранныхПолей.Элементы;
Для Каждого ВыбранноеПоле Из ПоляГруппы Цикл
Если ПоляСкрытия.НайтиПоЗначению(ВыбранноеПоле.Поле) <> Неопределено Тогда
ВыбранноеПоле.Использование = НЕ УсловиеСкрытия;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
ПоказатьПримерно такой код. Отладите под себя.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот