Выбор цвета из палитры web цветов 1с в обычной и управляемой формах

Опубликовал Александр Янчук (YaSan) в раздел Программирование - Работа с интерфейсом

Все web цвета 1с на одной форме.
Цвета упорядочены по оттенкам и подписаны.
Вариант для обычной и управляемой формы.

Обработка была разработана для быстрого и наглядного выбора конечным пользователем цветов кнопок меню. Используются именно web цвета 1c – проименованые цвета проще запомнить, чем цифровые коды.

Используются стандартные средства платформы — на формах рисуются кнопки выбора цвета с наименованием цвета и соответствующим фоном кнопки.

Количество строк кнопок можно настраивать в реквизите формы КоличествоСтрок при открытии.

Для использования в конфигурации можно либо встроить обработкой, либо общей формой.

Результатом модального вызова формы есть выбранный web цвет.

Примеры вызова разных вариантов для обычной формы:

 

//Если форма общая
ВыбраныйWebЦвет = ПолучитьОбщуюФорму("ПалитраWebЦветов").ОткрытьМодально();
 
//Если встроена в конфигурацию обработкой
ВыбраныйWebЦвет = Обработки.ВыборWebЦвета.ПолучитьФорму("ПалитраWebЦветов").ОткрытьМодально();
 
Если НЕ ВыбраныйWebЦвет = Неопределено Тогда
        Элемент.ЦветФонаКнопки = ВыбраныйWebЦвет;
        Элемент.Заголовок = ВыбраныйWebЦвет;
КонецЕсли;

 

 

Пример вызова для управляемой формы 8.3:

 

&НаКлиенте
Процедура ПриНажатииДемоКнопки(Команда)
Кнопка = ЭтаФорма.ТекущийЭлемент;
Обработчик = Новый ОписаниеОповещения("ПриВыбореWebЦвета", ЭтаФорма);
Режим = РежимОткрытияОкнаФормы.БлокироватьОкноВладельца;
ДопПарам = Новый Структура("ИмяКнопки", Кнопка.Имя);
 
//Если форма общая
ОткрытьФорму("ОбщаяФорма.ПалитраWebЦветовУправляемая", ДопПарам,,,,, Обработчик, Режим);
 
//Если встроена в конфигурацию обработкой
ОткрытьФорму("Обработка.ВыборWebЦвета.Форма.ПалитраWebЦветовУправляемая", ДопПарам,,,,, Обработчик, Режим);
 КонецПроцедуры
 
&НаКлиенте
Процедура ПриВыбореWebЦвета(ВыбраныйWebЦвет, ДополнительныеПараметры) Экспорт
     Если НЕ ВыбраныйWebЦвет = НеопределеноТогда
       ИмяКнопки = ЭтаФорма.ТекущийЭлемент.Имя;
       Элементы[ИмяКнопки].ЦветФона = ВыбраныйWebЦвет;
        Элементы[ИмяКнопки].Заголовок = ВыбраныйWebЦвет;
   КонецЕсли;
 КонецПроцедуры


Пример вызова для управляемой формы 8.2:

 

  

  //Если форма общая
   ВыбраныйWebЦвет = ОткрытьФормуМодально("ОбщаяФорма.ПалитраWebЦветовУправляемая");
    
    //Если встроена в конфигурацию обработкой
   ВыбраныйWebЦвет = ОткрытьФормуМодально("Обработка.ВыборWebЦвета.Форма.ПалитраWebЦветовУправляемая");
    
    
    //Обработка выбора цвета
Если НЕ ВыбраныйWebЦвет = НеопределеноТогда
        ИмяКнопки = ЭтаФорма.ТекущийЭлемент.Имя;
        Элементы[ИмяКнопки].ЦветФона  = ВыбраныйWebЦвет;
        Элементы[ИмяКнопки].Заголовок = ВыбраныйWebЦвет;
    КонецЕсли; 



 

Для платформ 8.2 и 8.3 обычная форма работает одинаково. Для управляемой формы в платформе 8.3 в отличие от 8.2 используется немодальный вызов формы выбора и расширенная подсказка для кнопок.


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

Наименование Файл Версия Размер
Обработка ВыборWebЦвета платформа 8.3
.epf 15,92Kb
01.07.15
23
.epf 1.0.83 15,92Kb 23 Скачать
Обработка ВыборWebЦвета платформа 8.2
.epf 18,04Kb
01.07.15
8
.epf 1.0.82 18,04Kb 8 Скачать

См. также

Комментарии
1. Алексей (Alexey_) 20 02.07.15 09:08 Сейчас в теме
В следующих публикациях ждем обработки по выбору файла, вводу строки, числа и т.п.
2. Марина Чирина (chmv) 02.07.15 09:40 Сейчас в теме
3. Allexey (alex_4x) 72 02.07.15 10:12 Сейчас в теме
Клёво! Красочно! Ярко! Креативно! Но зачем?

daMaster; +1 Ответить
4. Александр Янчук (YaSan) 6 02.07.15 11:36 Сейчас в теме
Зачем - в моем случае пользователи так настраиваются себе интерфейс. Выбирают цвета для кнопок в фронте фастфуда под тачскрин
5. Алексей (Alexey_) 20 02.07.15 11:42 Сейчас в теме
(4) YaSan, Зачем обработка, когда есть ДиалогВыбораЦвета?
6. Александр Янчук (YaSan) 6 02.07.15 12:12 Сейчас в теме
(5) Alexey_, Под тачскрин нужны были кнопки побольше. Вот и сделал, чтобы все цвета сразу на виду и пальцем проще тыкать.
7. V. L. (Vladal) 410 02.02.16 17:45 Сейчас в теме
Молодец.
Я себе тоже ваял чтобы видеть наглядно цвет и как он называется программно.
8. user user (inf012) 19.03.17 21:58 Сейчас в теме
Такая вещь нужна, но я смотрю - по скринам, как будто не совсем упорядочивание правильное.
Зеленые в разнобой немного, розовые.
Если бы автоматическое было (по ргб) - вот хорошо бы.

Кто-нибудь знает, как автоматически упорядочить web-цвета по РГБ?

Можно, конечно, руками, но лучше автоматом.