Выбор цвета на HTML

18.04.22

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

Возникла необходимость выбирать цвет для элементов справочника через html и хранить его в реквизите справочника в формате строки: НЕХ цвет (#FDFDFD), R - Значение красного, G - Значение зеленого, B - Значение синего. По параметрам RGB - формируется Цвет 1С - Новый Цвет(R, G, B). Проверена на платформе 8.3.20.1710.

В приложенных файлах код модуля общей формы ВыборЦвета, код ОбщегоМакета (HTML + JS).

 

Вид формы в режиме предприятия.

 

Картинка для формирования ПоляHTMLДокумента.


Ее нужно загрузить на сервер картинок и прописать путь в макете (строка № 52) вместо ВашПутьККартинке.

МодульФормы.

 

При закрытии формы Параметры ЦветНЕХ, ЦветКрасный, ЦветЗеленый, ЦветСиний.

ЦветНЕХ, возможно, не всем понадобится.

В ОповещенииОЗакрытии формы формируется Цвет1С: Новый Цвет(ЦветКрасный,ЦветЗеленый,ЦветСиний), который можно сохранить в реквизите.

Макет текстовый:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
<title>Colorpicker</title>

<style>

.canvasBox {
    max-width: 100%;
    width: 350px;
    border: 1px solid gray;
}

.my-color {
    width: 50px;
    height: 50px;
    border: 1px solid gray;
    margin: 9px 1px;
}

.cccolor {
	background: #fff;
}

</style>

<script>

</script>

</head>

<body>

<div class="container">
<canvas width="350px" id="myCanvas" class="canvasBox"></canvas>
<div class="my-color" id="cccolor"></div>
<div id="hex" style="display:none;">#ffffff</div>
<div id="ColorRGB" style="display:none;"><span id="ColorR"></span><span id="ColorG"></span><span id="ColorB"></span></div>
</div>

<script type="text/javascript">

	var canvas = document.getElementById('myCanvas');
	var ctx = canvas.getContext("2d");
	// create an image object and get it’s source
	var img = new Image();
	// copy the image to the canvas
	img.onload = function(){canvas.width=img.naturalWidth;canvas.height=img.naturalHeight;ctx.drawImage(img,1,1);};
	img.src = "<ВАШ_Путь_К_Картинке>/images/pixcolor.png";
	
	canvas.onclick = function(a){
		mousePos = getMousePos(canvas,a);
		GetPixel(mousePos.x, mousePos.y);
	};
	
	function GetPixel(a,c){
		var b = canvas.clientWidth/canvas.width;
		var x = event.pageX-8;
		var y = event.pageY-8;
		var imgData = ctx.getImageData(a/b,c/b,1,1).data;
		var R = imgData[0];
		var G = imgData[1];
		var B = imgData[2];
		var rgb = R + ' ' + G + ' ' + B;
		var hex = rgbToHex(R,G,B);
		
		document.getElementById("cccolor").style.backgroundColor = "#"+hex;
		document.getElementById("hex").innerText = "#"+hex;
		document.getElementById("ColorR").innerText = R;
		document.getElementById("ColorG").innerText = G;
		document.getElementById("ColorB").innerText = B;
	}
	
	function getMousePos(a,c){
		var b = a.getBoundingClientRect();
		return{x:c.clientX-b.left,y:c.clientY-b.top}
	}
	
	function rgbToHex(R,G,B) {return toHex(R)+toHex(G)+toHex(B)}
		
	function toHex(n) {
		n = parseInt(n,10);
		if (isNaN(n)) return "00";
		n = Math.max(0,Math.min(n,255));
		return "0123456789ABCDEF".charAt((n-n%16)/16)  + "0123456789ABCDEF".charAt(n%16);
}

</script>

</body>

</html>

Код Макета HTML.

Выбор цвета HTML JS

См. также

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

Механизм «Динамическое управление доступом к элементам форм объектов 1С8» предназначен для обеспечения возможности оперативного управления видимостью и доступностью элементов форм документов и справочников продуктов фирмы «1С» «1С:Предприятие 8». Решение универсальное, встраивается в любую конфигурацию с минимальными доработками, что позволяет без проблем обновлять типовые решения.

5000 руб.

14.01.2016    55306    17    23    

43

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

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

6000 руб.

16.01.2015    63700    44    59    

82

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

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

2400 руб.

29.06.2020    19550    27    6    

42

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

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

1500 руб.

06.10.2020    10768    7    7    

11

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

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

20.08.2024    20838    mrXoxot    44    

128

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

Пример простого и симпатичного прогресс-бара в динамическом списке, без картинок, используя редактирование запроса.

27.05.2024    10324    smielka    37    

105

Работа с интерфейсом Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Бесплатно (free)

Добавьте новогоднего настроения! Расширение создает декорацию в виде гирлянды на некоторых формах объектов.

27.12.2023    17745    1223    elcoan    53    

125
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. mrChOP93 99 18.04.22 08:50 Сейчас в теме
Спасибо, а модуль формы лучше бы текстом выложили, а не скриншотом.
2. SerVer1C 839 18.04.22 23:28 Сейчас в теме
Почему бы не сделать палитру плавными градиентами для более точного выбора цвета?
3. SlavaKron 19.04.22 08:27 Сейчас в теме
Если это модель HSL (hue - оттенок, saturation - насыщенность, lightness - светлота), то не хватает ползунка, регулирующего уровень насыщенности, так как на картинке представлены только матрица оттенка и светлоты. Также привычнее всё-таки вариант матрицей оттенок-насыщенность + регулировка светлоты. Такое, кстати, можно реализовать через табличный документ.
Прикрепленные файлы:
5. Bru_10 22.11.22 18:10 Сейчас в теме
(3)А есть готовое решение как на вашей картинке?
4. andrybar 406 04.09.22 12:39 Сейчас в теме
Ответ на 2 и на 3: Плавный градиент это хорошо, и уровень насыщенности. Но сколько людей им пользуются? Для быстрого выбора цвета - человек априори выбирает цвета примерно одни и те же. Поэтому стояла задача выбирать цвет в один клик, без всяких ползунков. Благо, что картинка палитры соответствует почти всем оттенкам, которые используются пользователями.
6. andrybar 406 29.11.22 19:04 Сейчас в теме
(5)
(5)есть но оно в составе коныигурации
7. smykom 6 25.09.24 06:37 Сейчас в теме
(6)
есть но оно в составе коныигурации


Так все таки в составе какой конфигурации есть эта форма выбора цвета?
8. andrybar 406 03.10.24 12:36 Сейчас в теме
(7) в нашей конфиге, не в типовой
Оставьте свое сообщение