Существует ли способ несколько строк условного оформления объединить в одну?
Упрощенная задача, в скд есть две строки условного оформления:
1. Выделить красным номенклатуру с остатком < 5
2. Выделить синим номенклатуру с остатком > 10
Свойства элементов настроек (одинаково для обоих строк УО):
1. Включать в пользовательские настройки = ДА
2. Представление = "Раскрашивать номенклатуру в зависимости от остатка"
3. Режим редактирования = Быстрый доступ
Результат:
на форме отчета (типовая общая форма "форма отчета") добавляется 2 галочки "Раскрашивать номенклатуру в зависимости от остатка"
Вопросы:
можно ли их объединить в одну не меняя типовой формы, как?
Может быть есть способ "сгруппировать" строки условного оформления? (по типу как мы создаем группировки в отборах)
Может быть есть способ указать "динамическое значение" цвета, которое будет зависить от остатка? Например как в пользовательском поле "выбор". Если количество < 5, то красный. Если количество > 10, то синий.
Какие еще есть варианты?
Создавать свою форму отчета - плохо, т.к. реальная (а не упрощенная задача) будет использоваться в нескольких отчетах. Делать каждому свою форму - ну такое себе решение.
Мб что то можно придумать расширением?
Может быть есть способ указать "динамическое значение" цвета,
Можно использовать вычисляемое поле, которое будет возвращать значение типа Цвет. Потом это поле использовать в УО. Правда схему СКД придётся ручками подправить в xml.
(1) Могу предложить не самый изящный способ, но быть может он Вам подойдет.
Добавьте в СКД новый параметр, например "РаскрашиватьНоменклатуру". Тип: булево. Использование: всегда. В отборах условного оформления добавьте еще одно условие на равенство нового параметра значению Истина. Добавьте параметр в пользовательские настройки.
Теперь, когда пользователь будет устанавливать флажок "Расскрашивать номенклатуру", отборы УО сработают, и отчет окрасится.
Сам же опытным путем нашёл ещё один способ (со своими плюсами и минусами):
При создании условного оформления программно можно всем строкам УО задать один и тот же идентификатор пользовательских настроек (вроде так, я уже не у компа).
При создании напрямую в суд, нигде такого поля у элемента УО не нашел.
Допустим мы так сделали, теперь у нас в шапкк формы на панели быстрых настрек два пункта "раскрашивать номенклатуру", но при изменении первого меняется и второй.
Итого:
1. при программной настройке создаём хоть 100 строк УО, с одним и тем же идинтификатором.
2. Первому ставим режим отображения "быстрый выбор", остальным "недоступный".
3. На форме создаётся одна галочка "раскрашивать номенклатуру", связанная с первой строкой УО, но при ее изменении - меняются все (даже скрытые) галочки.
(1) Могу предложить не самый изящный способ, но быть может он Вам подойдет.
Добавьте в СКД новый параметр, например "РаскрашиватьНоменклатуру". Тип: булево. Использование: всегда. В отборах условного оформления добавьте еще одно условие на равенство нового параметра значению Истина. Добавьте параметр в пользовательские настройки.
Теперь, когда пользователь будет устанавливать флажок "Расскрашивать номенклатуру", отборы УО сработают, и отчет окрасится.
В (2) хорошее решение.
Единственное, я не понял пункт в (1)
Может быть есть способ указать "динамическое значение" цвета, которое будет зависить от остатка? Например как в пользовательском поле "выбор". Если количество < 5, то красный. Если количество > 10, то синий.
Это значит, что вы хотите вынести на выбор пользователю сам цвет? Или значение, с которым сравнивать Количество?
(4)нет, процесс вычисления придуман и организован. Просто думал вдруг есть неизвестная мне возможность задать условное оформление одной строкой, но с множественными условиями и разными оформлениями для условий
(8) хранится в справочнике "цвета" у которого есть реквизиты "красный, зелёный, синий" и значения от 0 до 255.
Справочник косвенно связан с номенклатурой, мы можем понять какую номенклатуру каким цветом отображать.
(10)Если бы задача была более глубокая, в которой обсчитывается не только номенклатура и инлфрмация которую мы можем легко подтянуть имея ссылку на номенклатуру, а та которую я тут привел (в зависимости от остатка), то справочник был бы намного сложнее. Но пока этого не требуется.
Интересно вышло, что моя "упрощённая задача, чисто для примера" по факту оказалась сложнее реальной задачи)
(10) мне было удобнее цвет представлять одним числом, но это уже дело вкуса (точнее привычки из журналов Бурда). И, да, это упрощает вычисления.
У мира моды та же проблема, что все дизайны привязаны к каталогу одного или двух производителей материалов. И если новый производитель захочет выйти на рынок, то использование уже запатентованных дизайнов запрещено.
Сам же опытным путем нашёл ещё один способ (со своими плюсами и минусами):
При создании условного оформления программно можно всем строкам УО задать один и тот же идентификатор пользовательских настроек (вроде так, я уже не у компа).
При создании напрямую в суд, нигде такого поля у элемента УО не нашел.
Допустим мы так сделали, теперь у нас в шапкк формы на панели быстрых настрек два пункта "раскрашивать номенклатуру", но при изменении первого меняется и второй.
Итого:
1. при программной настройке создаём хоть 100 строк УО, с одним и тем же идинтификатором.
2. Первому ставим режим отображения "быстрый выбор", остальным "недоступный".
3. На форме создаётся одна галочка "раскрашивать номенклатуру", связанная с первой строкой УО, но при ее изменении - меняются все (даже скрытые) галочки.
Может быть есть способ указать "динамическое значение" цвета,
Можно использовать вычисляемое поле, которое будет возвращать значение типа Цвет. Потом это поле использовать в УО. Правда схему СКД придётся ручками подправить в xml.
(15)интересный подход, но (имхо) это не правильно. Надо делать это программно работая с объектами 1с и самой СКД, а не менять файл настроек через xml. Тем более что все это там делается удобнее чем подмена xml
(13)
Тоже вариант, согласен)
Но это более сложное решение чем в постах 2 и 9: нам прийдется на каждую строку УО создавать вычисляемое поле (лучше наверное подойдёт пользовательское, но суть та же)
Программно можно при выводе секций назначать цвет (в моем случае цвет необходимо было суммировать, ну как "необходимо", это скорее моя прихоть). В СКД брать цвет из какого-то ресурса не получается:(, но никто же не мешает использовать обычный макет.
И еще я не помню, есть ли в СКД возможность назначать фоновый рисунок-паттерн.
Управление срабатыванием УО как написали тут - через значение параметра.
Динамические цвета вполне себе просто реализовать через программное добавление УО. Специальные функции для этого по-моему даже в типовых конфигурациях есть. Точно также как добавляются отборы.