Идея или как сохранить ЦВЕТ, ШРИФТ, ОФОРМЛЕНИЕ пользователя

Простой и оригинальный способ сохранять ЦВЕТОВУЮ СХЕМУ и ОФОРМЛЕНИЕ пользователей.
Как сохранить ЦВЕТ

Добрый день !

Пользователи стали все более изощренными и предвзятыми и им очень нравиться , когда ВСЁ раскрашено в ИХ цвета

— минимальные остатки

— отрицательные остатки

— товар с нулевым остатков

— помеченный на удаление товар

— цвет товара

и.т.д.

и каждый хочешь видеть «свои» цвета.

Конечно можно всех послать … работать и не забивать себе голову, отвлекая великий разум.

Но, захотелось сделать красиво на практике, и просмотр поиска выдал некоторые приемы сохранения цвета

(план характеристик, хранилище, функции и формулы, замудренные алгоритмы….)

А мне все-таки хотелось простоты как для пользователя, так и для программиста. Что-то вроде реквизита на форме «Поле ввода» с типом значения «Цвет». Но такой реквизит просто так не сохранить, так как он имеет три значения (Зеленый, Красный, Синий)

Итак идея!

подготовить шаблон — лучше всего подходит Табличный документ ( расширение *.mxl)

и формат(ы) будет хранить НУЖНАЯ ЯЧЕЙКА табличного документа

Определяем поля (колонки)

  • использовать/не использовать 
  • условие
  • формат

Простая обработка, которая загружает нужный файл (имя файла — пользователь + разукрашка.mxl) 

 

Дальше открываем свойства выбранной ячейки (колонка № 3)

и здесь нам доступно все !!!!

— шрифт (размер, наименование, жирный, зачеркнутый, подчеркнутый, наклонный)

— цвет фона, цвет узора, цвет текста, оформление и.т.д.

настраиваем и сохраняем шаблон.

В настройках пользователя, добавить флаг — Использовать раскраску (Булево). Глобальная переменная ТДРазукрашка

Процедура ЗагрузитьРазукрашку() Экспорт
Перем ИмяФайлаРазукрашки;
ПараметрыСеанса.РаскраскаПользователя = Ложь;

ИмяФайлаРазукрашки = Константы.ПутьКартинок.Получить() + "РАЗУКРАШКА.mxl";
ПроверкаРазукрашки = Новый файл(ИмяФайлаРазукрашки);
Если ПроверкаРазукрашки.Существует() Тогда
Попытка
ТДРаскраска = Новый ТабличныйДокумент;
ТДРаскраска.Прочитать(Константы.ПутьКартинок.Получить() + "РАЗУКРАШКА.mxl");
ПараметрыСеанса.РаскраскаПользователя = Истина;
Исключение

КонецПопытки;
КонецЕсли;

КонецПроцедуры

//получаем нужное оформление
//параметры шрифта, цвет текста, цвет фона
ТекОбл = ТДРаскраска.Область(4, 3); //строка УСЛОВИЕ, колонка 3 - это отформатированная ячейка
ОформлениеСтроки.ЦветТекста = ТекОбл.ЦветТекста;
ОформлениеСтроки.ЦветФона = ТекОбл.ЦветФона;
НовШрифт = ТекОбл.Шрифт;
ОформлениеСтроки.Шрифт = Новый Шрифт(НовШрифт, Неопределено, НовШрифт.размер, НовШрифт.Жирный, НовШрифт.Наклонный, Неопределено, НовШрифт.Зачеркивание);

Смотрим результат.

Добавляем реквизит (флажок) для отключения этого…..цветопредставления.

 

Всегда ваш Tatitutu (c)

11 Comments

  1. Tatitutu

    Альтернатива или баян ?

    Reply
  2. karpik666

    (1) Прикольно, так получается судя по коду 1 файл разукрашка для всех пользователей? Никакой индивидуальности=) и как обстоят дела с производительностью, если хранить цвета в отдельном файле?

    Reply
  3. Tatitutu

    (2) Это в этом примере (код такой)

    Прикрутить можно как угодно и где угодно.

    «Простая обработка, которая загружает нужный файл (имя файла — пользователь + разукрашка.mxl) »

    в каталоге базы — сохраняет малюсенький файл . Производительность не страдает. (но даже на этот случай, всегда одним кликом можно отключить)

    В том то и дело, что мы специально не храним цвета, они храняться штатными средствами и форматом 1С

    Удобно, доступно, просто.

    Reply
  4. Yashazz

    Ну да, можно и так.

    Reply
  5. valvit

    Поскольку при написании кода нужно заранее знать что ячейка 4,3 это «нулевые остатки», то структура файла для каждого пользователя должна быть идентичной, потому как вариант создавать эти файлики обработкой которая обеспечивает идентичность структуры. А как идея самого хранения инфы, интересно.

    Reply
  6. Tatitutu

    (5) valvit, Статья и подается как ИДЕЯ — может кому и пригодиться в реализации свой задачи.

    это один из множества приемов, а чем больше приемов мы знаем — тем мы профессиональнее становимся.

    да именно так у меня и реализовано. Если у нового пользователя нет файлика — то он автоматически создается из ОБЩЕГО Шаблона.

    Очень удобно и быстро привыкаешь и пользователи довольны.

    Reply
  7. bulpi

    А не проще ли сохранить текстовое название цвета из коллекции WebЦвета ?

    Reply
  8. karpik666

    (7) bulpi, как я понял здесь можно в принципе сохранять не только цвета. Но и шрифт, размер шрифта и т.д

    Reply
  9. Tatitutu

    (7) bulpi, Кому как удобно — у каждой задачи есть своя цель и чем больше спосбов ты знаешь и умеешь ими пользоваться тем лучше, тем гибче получается решение.

    (8) Да вы совершенно правы. можно сохранять не только цвет (цвет текста, цвет фона, параметры шрифта (размер, наклон, жирность, зачеркнутый, штрифт), оформление , стиль и даже формулы!!! — но это тема отдельного семинарского занятия)

    Reply
  10. CheBurator

    блин, все поем про всякую старую фигню… мелкоподобное еще в 2006г написал http://infostart.ru/public/13799/

    развития тема не получила у меня, — ибо неактуально — потому что всякие такие «разукрашки» и свистопрделки любят типовые ларечники (ларечники это не размер фирмы, а образ мыслей 😉 — применяется там, где автоматизацитя заключается в автоматизации по принципу «записная книжка» — что хотим то и пишем. Часто такие свистопрделки любят типа «топы» — двигатели продаж, вносящие «новые» веяния и обещающие начальствам златые горы и цепь на дубе том…

    Reply
  11. mclarry

    Использую для подобных нужд УсловноеОформление. Коллекция, сериализуется, хранит и оформление и отбор — лепота!

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *