Универсальные функции для работы с цветом в 1С

07.08.20

Разработка - Работа с интерфейсом

Все на что мы смотрим состоит из цветов в том числе и то, что есть в конфигурациях на 1С :) За время своей работы скопилось достаточно 1С-функций, которые что-то делают с цветом. Это публикация - попытка их систематизировать. Что есть: работа с HEX, HSV, HSL, CMYK представлениями цвета, конвертации из одной системы хранения в другую, работа с каталогами RAL, работа со случайными цветами, контрастные и инверсные цвета, трансформация цветов (осветление, затемнение, градации серого, смешивание цветов), работа с именованными CSS-цветами и т.п. В общем концептуально.

Скачать файлы

Наименование Файл Версия Размер
Универсальные функции для работы с цветом в 1С:
.zip 38,11Kb
27
.zip 1.2 38,11Kb 27 Скачать

Модуль определяет работу с:

  • HEX-представлением цвета (тип Строка, вида #RRGGBB)
  • HSV-представлением цвета (тип Cтруктура * h - Число от 0 до 360 - Hue. * s - Число от 0 до 100 - Saturation. * v - Число от 0 до 100 - Value/Brightness)
  • HSL-представлением цвета (тип Cтруктура * h - Число от 0 до 360 - Hue. * s - Число от 0 до 100 - Saturation. * l - Число от 0 до 100 - lightness)
  • CMYK-представлением цвета (тип Cтруктура * c - Число от 0 до 100 - Cyan, * m - Число от 0 до 100 - Magenta. * y - Число от 0 до 100 - Yellow. * k - Число от 0 до 100 - Key или Black)
  • Конвертациями из одной системы представления цвета в другую (WebЦвет-Цвет, WindowsЦвет-Цвет, ЭлементСтиля-Цвет, CMYK-Цвет, HSV-Цвет, HSL-Цвет, HEX-Цвет и обратно)
  • Работа с каталогами RAL (RAL Standart, RAL Design)
  • Получение цветов по Web-цвету, WindowsЦвету, ЭлементуСтиля
  • Работа со случайными цветами;
    • Получение случайного цвета;
    • Получение случайного светлого цвета;
    • Получение случайного темного цвета;
  • Получение случайного цвета из каталога RAL Standart;
  • Получение случайного Web-цвета;
  • Получение контрастных и инвертированных цветов для текста и фона;
  • Извлечение компонент цвета (красный, зеленый, синий).
  • Трансформация цветов:
    • осветление;
    • затемнение;
    • различные алгоритмы градации серого;
    • смешивание двух цветов;
  • Работа с именованными CSS-цветами (black, green, white...)

Особенности

В модуле решается вопрос с хранением цвета в реквизитах. Часто цвет хранят в хранилище значений, что не очень удобно при дальнейшей работе с цветом. Гораздо проще сохранить цвет в HEX-представление (строка 7 символов). Пример, #FFFFFF (это белый цвет) или #000000 (это черный цвет). Такое хранение общепринятое в мире веб-разработчиков и тем, кто раньше работал с web так гораздо проще. Да и дальнейшая работа не предполагает распаковывать цвет из хранилища значений, он в реквизите типа строка.

Функция АбсолютныйЦвет позволяет на входе получить цвет любого типа (WindowsСтиль, WebЦвет, АбсолютныйЦвет) и вернуть все в абсолютном цвете. Я не знаю, почему в 1С в базовом функционале нет возможности вернуть абсолютный цвет, но этот вопрос решен в этой функции.

Поддерживаются всевозможные трансформации цвета: сделать светлее, темнее, смешать, градация серого и т.д. Все методы

В планах добавить работу с генерацией совместимых цветов и цветов, которые подходят друг к другу. Что-то типа цветовых схем.

Во вложении обработка, которая содержит примеры работы с функциями работы с цветом.

Обработку можно запустить абсолютно на любой конфигурации на управляемых формах. Тестировалась на версии 8.3.15.1830, но будет работать и на более ранних версиях.

Все функции работы с цветом находятся в модуле объекта обработки.

color цвет RAL HEX HSV HSL CMYK случайный трансформация цвета осветление затемнение градация серого смешивание палитра

См. также

Управление дашбордами

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

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

2400 руб.

29.06.2020    14823    18    4    

25

Условное оформление элементов форм в пользовательском режиме 1С (управление видимостью и доступностью элементов форм)

Работа с интерфейсом Платформа 1С v8.3 Платные (руб)

Подсистема условного оформления элементов форм (далее подсистема) предназначена для настройки оформления элементов форм (видимость, доступность, цвет фона, цвет текста и прочее) в пользовательском режиме 1С. Также подсистему возможно использовать для ограничения доступа к реквизитам формы для определенных пользователей (или групп пользователей).

6000 руб.

18.01.2022    7704    1    2    

6

Богатый редактор картинок, хранимых в базе, с возможностью РИСОВАНИЯ. Редактор внешних файлов картинок. Объект, расширяющий возможности работы с картинками из встроенного языка (Три в одном) + Обработка «Стандартизация картинок»

Работа с интерфейсом Рабочее место Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Обработка предназначена для редактирования картинок в режиме «Предприятие», с возможностью РИСОВАТЬ на них. Поддерживается работа как в обычных формах (толстый клиент) так и на управляемых формах (тонкий клиент). Обработка позволяет редактировать как картинки, хранимые в базе, так и графические файлы с диска на файловой системе. Помимо базовых функций (изменение размеров, преобразование формата, обрезание картинки, повороты и т.п.) – редактор имеет богатый набор инструментов для рисования. Доступна функция вставки изображения из буфера обмена. Также обработка может быть использована из встроенного языка как объект для редактирования картинок. Объект может быть использован: на стороне клиента, на стороне сервера, из внешнего соединения. Данная обработка будет особенно полезна тем, кто вносит картинки в базу (изображения номенклатуры, фотографии физических лиц и т.п.). Функционал реализуется с использованием JavaScript и бесплатного ПО ImageMagick (без использования внешних компонент).

6000 руб.

16.01.2015    59968    41    57    

77

Редактор граф

Работа с интерфейсом Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Внешний отчет, формирует графы на основе таблицы значений, используя рисунки табличного документа. Есть возможность добавления, редактирования объектов графа и выгрузки результата в таблицу значений.

1500 руб.

06.10.2020    8772    6    7    

8

Конструктор HTML, CSS и javascript

Инструментарий разработчика Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Подходит для создания web-страниц для замены управляемых форм 1С, красивых отчетов, интерфейса мобильного приложения на платформе 1С и для простых страниц веб-сайтов.

2 стартмани

10.04.2023    7426    141    acces969    31    

106

Модель состояния для MVC

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.

1 стартмани

05.07.2022    2114    kalyaka    2    

19

Табло очереди заказов на экран телевизора

WEB-интеграция Работа с интерфейсом Платформа 1С v8.3 1С:Розница 2 Платные (руб)

Связка из веб-приложения и расширения для 1С: Розница 2.3.

3600 руб.

29.04.2022    10546    1    5    

9

Программный интерфейс для доработки форм

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Реализовал простой способ программного создания новых элементов, команд и реквизитов на форме.

25.11.2021    7805    AtamanovYS    19    

130
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Diversus 2299 24.08.20 17:12 Сейчас в теме
Версия 1.1 Удалена зависимость от БСП. Исправлена ошибка вызова из под web-клиента.
2. NikeeNik 69 25.10.20 03:29 Сейчас в теме
Предложу небольшое изменение: преобразование в HEX без создания временных файлов и по идее должно работать в веб-клиенте:
ПотокВПамяти = Новый ПотокВПамяти();

ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.Область(1, 1, 1, 1).ЦветФона = Цвет;
ТабДокумент.Записать(ПотокВПамяти, ТипФайлаТабличногоДокумента.ODS);

ПотокВПамяти.Перейти(0, ПозицияВПотоке.Начало);

ТабДокумент.Прочитать(ПотокВПамяти,, ТипФайлаТабличногоДокумента.ODS);
ЦветФона = ТабДокумент.Область(1, 1, 1, 1).ЦветФона;

Результат = ДополнитьСтроку(Из_10_В_Любую(ЦветФона.Красный), 2)
	+ ДополнитьСтроку(Из_10_В_Любую(ЦветФона.Зеленый), 2)
	+ ДополнитьСтроку(Из_10_В_Любую(ЦветФона.Синий), 2);
	
ПотокВПамяти.Закрыть();
Показать
user1430860; DrAku1a; Diversus; +3 Ответить
3. Diversus 2299 26.10.20 13:20 Сейчас в теме
(2) Спасибо добавил.
4. frkbvfnjh 766 06.01.21 10:12 Сейчас в теме
А когда поддержку цветовых схем добавите?
5. Diversus 2299 06.01.21 20:52 Сейчас в теме
(4) Пока не планируется. Репозитарий открыт, можете сами добавить, внесем в проект
6. frkbvfnjh 766 07.01.21 13:05 Сейчас в теме
(5)
Репозитарий открыт
Извините, но о каком репозитарии Вы говорите?
7. frkbvfnjh 766 08.01.21 09:20 Сейчас в теме
(5) На других сайтах нашел Вашу публикацию и там есть в конце строчка:

Вам бы эту строчку и в эту статью добавить
Cthulhu; msergeev79; +2 Ответить
8. Diversus 2299 08.01.21 19:31 Сейчас в теме
(7) Да. Спасибо. Надо обновить публикацию.
9. Cthulhu 1 04.08.22 15:17 Сейчас в теме
АбсолютныйЦвет(windows-цвет) преобразует неверно только у меня? (скриншот#1)
ИсходныйЦвет1с = Тд.Область(НомерСтроки, НомерКолонки, НомерСтроки, НомерКолонки).ЦветФона;
Тд.Область(НомерСтроки, НомерКолонки).Текст = "(" + ИсходныйЦвет1с.Вид + ") " + ИсходныйЦвет1с;

АбсолютныйЦвет = АбсолютныйЦвет(ИсходныйЦвет1с);
ВыводРезультата = Тд.Область(НомерСтроки, НомерКолонки + 2);
ВыводРезультата.Текст = "(" + АбсолютныйЦвет.Вид + ") " + АбсолютныйЦвет + ": Red = " + АбсолютныйЦвет.Красный
+ ",  Green = " + АбсолютныйЦвет.Зеленый + ",  Blue = " + АбсолютныйЦвет.Синий;
ВыводРезультата.ЦветФона = Новый Цвет(АбсолютныйЦвет.Красный, АбсолютныйЦвет.Зеленый, АбсолютныйЦвет.Синий);
Показать

как получить то, что выдается (для первого фона) через "Свойства" ячейки в режиме предприятия (скриншот#2)?..
Прикрепленные файлы:
Оставьте свое сообщение