Добрый день !
Пользователи стали все более изощренными и предвзятыми и им очень нравиться , когда ВСЁ раскрашено в ИХ цвета
- минимальные остатки
- отрицательные остатки
- товар с нулевым остатков
- помеченный на удаление товар
- цвет товара
и.т.д.
и каждый хочешь видеть "свои" цвета.
Конечно можно всех послать ... работать и не забивать себе голову, отвлекая великий разум.
Но, захотелось сделать красиво на практике, и просмотр поиска выдал некоторые приемы сохранения цвета
(план характеристик, хранилище, функции и формулы, замудренные алгоритмы....)
А мне все-таки хотелось простоты как для пользователя, так и для программиста. Что-то вроде реквизита на форме "Поле ввода" с типом значения "Цвет". Но такой реквизит просто так не сохранить, так как он имеет три значения (Зеленый, Красный, Синий)
Итак идея!
подготовить шаблон - лучше всего подходит Табличный документ ( расширение *.mxl)
и формат(ы) будет хранить НУЖНАЯ ЯЧЕЙКА табличного документа
Определяем поля (колонки)
- использовать/не использовать
- условие
- формат
Простая обработка, которая загружает нужный файл (имя файла - пользователь + разукрашка.mxl)
Дальше открываем свойства выбранной ячейки (колонка № 3)
и здесь нам доступно все !!!!
- шрифт (размер, наименование, жирный, зачеркнутый, подчеркнутый, наклонный)
- цвет фона, цвет узора, цвет текста, оформление и т.д.
настраиваем и сохраняем шаблон.
В настройках пользователя, добавить флаг - Использовать раскраску (Булево). Глобальная переменная ТДРазукрашка
Процедура ЗагрузитьРазукрашку() Экспорт
Перем ИмяФайлаРазукрашки;
ПараметрыСеанса.РаскраскаПользователя = Ложь;
ИмяФайлаРазукрашки = Константы.ПутьКартинок.Получить() + "РАЗУКРАШКА.mxl";
ПроверкаРазукрашки = Новый файл(ИмяФайлаРазукрашки);
Если ПроверкаРазукрашки.Существует() Тогда
Попытка
ТДРаскраска = Новый ТабличныйДокумент;
ТДРаскраска.Прочитать(Константы.ПутьКартинок.Получить() + "РАЗУКРАШКА.mxl");
ПараметрыСеанса.РаскраскаПользователя = Истина;
Исключение
КонецПопытки;
КонецЕсли;
КонецПроцедуры
//получаем нужное оформление
//параметры шрифта, цвет текста, цвет фона
ТекОбл = ТДРаскраска.Область(4, 3); //строка УСЛОВИЕ, колонка 3 - это отформатированная ячейка
ОформлениеСтроки.ЦветТекста = ТекОбл.ЦветТекста;
ОформлениеСтроки.ЦветФона = ТекОбл.ЦветФона;
НовШрифт = ТекОбл.Шрифт;
ОформлениеСтроки.Шрифт = Новый Шрифт(НовШрифт, Неопределено, НовШрифт.размер, НовШрифт.Жирный, НовШрифт.Наклонный, Неопределено, НовШрифт.Зачеркивание);
Смотрим результат.
Добавляем реквизит (флажок) для отключения этого.....цветопредставления.
Всегда ваш Tatitutu (c)