1С и цвет. Как из одной строчки HEX-кода выросла целая библиотека
Все началось с банальной задачи. Я хотел нормально сохранять настройки цветов в конфигурации «Управление IT-отделом 8».
В веб-разработке все привыкли к формату вроде #FABC01
. Мне показалось логичным использовать его и в 1С. Это просто, понятно и универсально. Но оказалось, что в платформе нет готовых функций для конвертации такого формата в стандартный тип Цвет
. И обратно.
Пришлось написать пару небольших процедур. А потом закрутилось. Раз уж я работаю с HEX, почему бы не добавить смешивание цветов? А потом генерацию случайных оттенков для диаграмм? А потом градиенты?
Так маленький «велосипед» постепенно оброс фичами и превратился в полноценную библиотеку color1c. Я понял, что решаю не только свою проблему, и выложил инструмент в опенсорс.
Ссылка на GitHub, забирайте: https://github.com/Diversus23/color1c
Что умеет инструмент, если коротко
Полная конвертация Преобразование между
Цвет1С
,HEX
,RGB
,CMYK
,HSV
иHSL
.Манипуляции с цветом Смешивание нескольких цветов, получение контрастного или инвертированного цвета, градации серого.
Получение случайных светлых или темных оттенков, что идеально для диаграмм и графиков.
Каталоги Встроена работа с каталогами RAL, пастельные цвета и т.д. При этом можно легко добавлять свои.
Градиенты Расчет градиентного перехода между двумя и более цветами.
…

Почему это важно не только для разработчика
Этот инструмент не просто для кодеров, он решает три важные задачи для руководителя.
Экономия ресурсов. Ваши разработчики перестают тратить часы на написание однотипного кода. Они берут готовую, отлаженную библиотеку и занимаются бизнес-задачей, а не технической рутиной.
Единый стандарт. У вас появляется один инструмент вместо десятка разных самописных реализаций. Это сильно упрощает код-ревью, поддержку и развитие всей системы.
Качество UX. Удобная работа с цветом позволяет быстро и без боли кастомизировать интерфейс. А хороший UI, как мы знаем, это не просто «красивости». Он снижает количество ошибок пользователя и повышает его производительность.
Мы у себя в «Управлении IT-отделом 8» уже давно перевели всю работу с цветом на этот механизм. Окупилось многократно.
Буду рад, если инструмент окажется полезным и вам. Если есть идеи по доработке или желание внести свой вклад, pull request на GitHub горячо приветствуются.
---
Понравилась моя разработка? В моем ТГ канале Код ИТ-директора я гораздо чаще делюсь подобными инструментами, мыслями и короткими кейсами, которые не всегда доходят до формата большой статьи.