Вопрос возник по СКД, при создании условного оформления, настраивается отбор, по которому закрашивается строка, но, если поле которое участвует в отборе (по которому закрашивается строка) мы не выводим в отчете (но оно присутсвует в запросе и в списке полей СКД), то закрашивание не работает. Такой проблемы в отчетах с Построителем не было там Условное оформление применялось, даже если поле не выводилось в отчет, сталкивался ктонибудь с такой ситуацией и как решили проблему?
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Это происходит из-за "оптимизатора", который работает при обработке макета. А он выкидывает из запроса поля, которые не будут выводиться. Таким образом для решения этой проблемы приходится все же выводить дополнительные поля в отчет (пряча их с помощью задания оформления - ширина столбца, цвет шрифта и т.п.).
Решить вопрос с условным оформление по невыводимому полю можно элегантнее. Нужно добавить новую группировку и в нее поместить поле, которое участвует в отборе и которое не нужно выводить, напротив поля оставить галочку-признак вывода, а напротив группировки снять. В этом случае условное оформление отработает а отчет останется в нужном виде
Столкнулся с подобной же проблемой. Как оказалось, мало сделать поле обязательным к выводу, нужно также данное поле перенести в ресурсы СКД.
Т.е. если оформляем какое-то поле по скрытому полю нужно
1) это поле объявить ресурсом
2) это поле сделать обязательным к выводу
Т.е. если оформляем какое-то поле по скрытому полю нужно
1) это поле объявить ресурсом
2) это поле сделать обязательным к выводу
(10) Скажу больше. Делать поле обязательным нет необходимости, оптимизатор СКД не "выкидывает" поля, используемые в условном оформлении из запроса. Даже как-то обидно за СКД: чуть что, так сразу оптимизатор виноват.
Чтобы условное оформление сработало, поле, участвующее в условии, должно быть вычислимым. Если это обычное поле, то оно будет вычислимым либо в детальных записях, либо в группировках по этому полю. Если поле условия ресурс - оно вычислимо везде, кроме искусственно заданных ограничений на закладке выражений ресурсов.
Попробуйте свое поле (не ресурс), по которому настроено условное оформление, включить в выбранные поля на уровне отчета. Если этого поля нет в группировках, а среди группировок нет детальных записей, то и выбранное поле Вы не увидите. Соответственно и условное оформление рассчитать нет возможности.
Опять же, если включить поле в выбранные поля какой-нибудь группировки (не детальных записей), то при выводе отчета получите сообщение об ошибке: нельзя выводить поля (не ресурсы), не включенные в список полей группировки. Соответственно и условное оформление здесь не рассчитать. Только ошибки не будет.
А если поле из условного оформления - ресурс, в выбранные поля мы его без проблем можем включить, стало быть и условное оформление будет работать.
Чтобы условное оформление сработало, поле, участвующее в условии, должно быть вычислимым. Если это обычное поле, то оно будет вычислимым либо в детальных записях, либо в группировках по этому полю. Если поле условия ресурс - оно вычислимо везде, кроме искусственно заданных ограничений на закладке выражений ресурсов.
Попробуйте свое поле (не ресурс), по которому настроено условное оформление, включить в выбранные поля на уровне отчета. Если этого поля нет в группировках, а среди группировок нет детальных записей, то и выбранное поле Вы не увидите. Соответственно и условное оформление рассчитать нет возможности.
Опять же, если включить поле в выбранные поля какой-нибудь группировки (не детальных записей), то при выводе отчета получите сообщение об ошибке: нельзя выводить поля (не ресурсы), не включенные в список полей группировки. Соответственно и условное оформление здесь не рассчитать. Только ошибки не будет.
А если поле из условного оформления - ресурс, в выбранные поля мы его без проблем можем включить, стало быть и условное оформление будет работать.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот