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