Обработка была разработана для быстрого и наглядного выбора конечным пользователем цветов кнопок меню. Используются именно 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 используется немодальный вызов формы выбора и расширенная подсказка для кнопок.