Как программно удалить отбор из СКД?
Имеется отчет на СКД. В него при открытии подгружаются отборы - в том числе например по номенклатуре. Надо программно эти отборы очистить и поставить свой отбор.
Пробовал вот так...
ПолеОтбора = Новый ПолеКомпоновкиДанных("Номенклатура");
УдаляемыйОтбор = Отчет.КомпоновщикНастроек.Настройки.Отбор.ДоступныеПоляОтбора.НайтиПоле(ПолеОтбора);
Отчет.КомпоновщикНастроек.Настройки.Отбор.Элементы.Удалить(УдаляемыйОтбор);
Код отрабатывает вроде, но отбор не очищается.
Пробовал вот так...
ПолеОтбора = Новый ПолеКомпоновкиДанных("Номенклатура");
УдаляемыйОтбор = Отчет.КомпоновщикНастроек.Настройки.Отбор.ДоступныеПоляОтбора.НайтиПоле(ПолеОтбора);
Отчет.КомпоновщикНастроек.Настройки.Отбор.Элементы.Удалить(УдаляемыйОтбор);
Код отрабатывает вроде, но отбор не очищается.
По теме из базы знаний
- 1С8:борьба - личный опыт работы с платформой 1с8
- Ограничения полей, или как обмануть СКД?
- Подсистема прав доступа к объектам с гибкими отборами (расширение)
- Простой пример отчета на СКД. Программное формирование, расшифровка, работа с параметрами и отборами
- Расшифровка СКД. Фильтр отчета по диапазону чисел. Переопределение обработки расшифровки. Не модальный режим
Ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
Подгружаются, вероятно, пользовательские настройки. А Ваш код убирает отбор из простых настроек. Желательно бы увидеть весь код формирования отчета, а именно какие настройки передаются в компоновщик макета.
Вакансии
Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)