Тип: ОписаниеПалитрыЦветовТаблицы. Содержит настройку цветов для значков, отображаемых в таблице.
Полное описание, параметры и ограничения
ТаблицаФормы.ОписаниеПалитрыЦветовЗначков (FormTable.IconColorPaletteDescription)
ТаблицаФормы (FormTable)
ОписаниеПалитрыЦветовЗначков (IconColorPaletteDescription)
Доступен, начиная с версии 8.5.1.
Использование:
Только чтение.
Описание:
Тип: ОписаниеПалитрыЦветовТаблицы.
Содержит настройку цветов для значков, отображаемых в таблице.
Доступность:
Тонкий клиент, веб-клиент, сервер, толстый клиент.
Использование в версии:
Доступен, начиная с версии 8.5.1.
Методическая информация
Практические примеры
Подготовить разные палитры значков и фигур своей таблицы
Получаем два настоящих описания палитры из своей таблицы. Цвета значков зелёный/синий, фигур фиолетовый/серый; строка не считается цветом.
Где и как запускать
Полный модуль собственной управляемой формы учебной внешней обработки; настольный клиент.
Подготовка
В учебной базе: Файл → Новый → Внешняя обработка. Создайте управляемую форму и назначьте её основной. Дайте обработке имя УчебнаяТаблица.
Не добавляйте вручную реквизит Товары и одноимённые элементы: код создаст их при открытии. Модуль формы для этой задачи должен быть пустым.
В свойствах формы → События свяжите ПриСозданииНаСервере с одноимённой процедурой. Сохраните отдельную учебную EPF и откройте через Файл → Открыть.
Данные Книга/Ручка создаются в памяти формы. Справочники, документы и регистры вашей конфигурации не читаются и не записываются.
Используйте отдельную собственную конфигурацию с именем УчебнаяКонфигурацияСинтаксиса. Это не рабочая таблица и не динамический список каталога: только две собственные строки в форме.
Если код содержит ПриОткрытии, дополнительно свяжите событие формы ПриОткрытии с этой процедурой в свойствах формы.
Мобильные уроки запускать именно в мобильном клиенте своей учебной конфигурации. Для мобильного приложения можно перенести полный модуль в отдельную общую управляемую форму и открыть её собственной командой: произвольная EPF там не предполагается.
Флаги адаптации карточек, текущей строки и действий строки не являются правами на данные. Мобильный вид не подтверждается запуском только в настольном клиенте.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
НовыеРеквизиты = Новый Массив;
НовыеРеквизиты.Добавить(Новый РеквизитФормы("Товары", Новый ОписаниеТипов("ТаблицаЗначений")));
НовыеРеквизиты.Добавить(Новый РеквизитФормы("Код", Новый ОписаниеТипов("Строка"), "Товары", "Код"));
НовыеРеквизиты.Добавить(Новый РеквизитФормы("Наименование", Новый ОписаниеТипов("Строка"), "Товары", "Название"));
НовыеРеквизиты.Добавить(Новый РеквизитФормы("Количество", Новый ОписаниеТипов("Число",
Новый КвалификаторыЧисла(9, 0, ДопустимыйЗнак.Неотрицательный)), "Товары", "Количество"));
ЭтаФорма.ИзменитьРеквизиты(НовыеРеквизиты);
Данные = Новый ТаблицаЗначений;
Данные.Колонки.Добавить("Код", Новый ОписаниеТипов("Строка"));
Данные.Колонки.Добавить("Наименование", Новый ОписаниеТипов("Строка"));
Данные.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число",
Новый КвалификаторыЧисла(9, 0, ДопустимыйЗнак.Неотрицательный)));
СтрокаТовара = Данные.Добавить();
СтрокаТовара.Код = "A-01";
СтрокаТовара.Наименование = "Книга";
СтрокаТовара.Количество = 3;
СтрокаТовара = Данные.Добавить();
СтрокаТовара.Код = "B-02";
СтрокаТовара.Наименование = "Ручка";
СтрокаТовара.Количество = 1;
ЭтаФорма.ЗначениеВРеквизитФормы(Данные, "Товары");
Таблица = ЭтаФорма.Элементы.Добавить("ТаблицаТоваров", Тип("ТаблицаФормы"));
Таблица.ПутьКДанным = "Товары";
Таблица.Заголовок = "Учебные товары";
Таблица.Шапка = Истина;
Таблица.АвтоВводНезаполненного = Ложь;
Таблица.АвтоВводНовойСтроки = Ложь;
Для Каждого ИмяКолонки Из СтрРазделить("Код,Наименование,Количество", ",") Цикл
Колонка = Элементы.Добавить("Товары" + ИмяКолонки, Тип("ПолеФормы"), Таблица);
Колонка.Вид = ВидПоляФормы.ПолеВвода;
Колонка.ПутьКДанным = "Товары." + ИмяКолонки;
Колонка.Заголовок = ИмяКолонки;
КонецЦикла;
Ключ = "guide-owned-table-" + Строка(Новый УникальныйИдентификатор);
Таблица.КлючСохраненияЦветовЗначков = Ключ + "-icons";
Таблица.КлючСохраненияЦветовФигур = Ключ + "-shapes";
ЦветаЗначков = Новый Массив;
ЦветаЗначков.Добавить(Новый Цвет(20, 150, 80));
ЦветаЗначков.Добавить("не-цвет: будет проигнорирован");
ЦветаЗначков.Добавить(Новый Цвет(40, 100, 220));
ПалитраЗначков = Таблица.ОписаниеПалитрыЦветовЗначков;
ПалитраЗначков.УстановитьПалитру(ЦветаЗначков);
ЦветаФигур = Новый Массив;
ЦветаФигур.Добавить(Новый Цвет(150, 70, 190));
ЦветаФигур.Добавить(Новый Цвет(120, 120, 120));
ПалитраФигур = Таблица.ОписаниеПалитрыЦветовФигур;
ПалитраФигур.УстановитьПалитру(ЦветаФигур);
Значки = ПалитраЗначков.ПолучитьПалитру();
Фигуры = ПалитраФигур.ПолучитьПалитру();
Сообщить(Значки.Количество() = 2);
Сообщить(Значки[0].Красный = 20 И Значки[0].Зеленый = 150 И Значки[0].Синий = 80);
Сообщить(Значки[1].Синий = 220);
Сообщить(Фигуры.Количество() = 2);
Сообщить(Фигуры[0].Красный = 150 И Фигуры[0].Синий = 190);
Сообщить(Таблица.КлючСохраненияЦветовЗначков <> Таблица.КлючСохраненияЦветовФигур);
Сообщить(ТипЗнч(Таблица.СохранениеЦветов) = Тип("СохранениеОформленияТаблицы"));
Сообщить("Режим сохранения: " + Строка(Таблица.СохранениеЦветов));
Сообщить("Собственный ключ значков: " + Таблица.КлючСохраненияЦветовЗначков);
Сообщить("Собственный ключ фигур: " + Таблица.КлючСохраненияЦветовФигур);
КонецПроцедуры
Разбор по шагам
Создать только свою таблицу и назначить уникальные отдельные ключи цвета для значков и фигур. Одинаковые ключи не подставляются из рабочей формы.
Получить описания палитры через свойства только для чтения. Изменять не сами ссылки-свойства, а палитры их методами.
Передать массивы Цвет. Специальная собственная строка в первом массиве игнорируется API; порядок оставшихся цветов сохраняется.
Прочитать обе палитры и проверить RGB. Прочитать режим сохранения: присваивание этому свойству в BSL не допускается.
Как проверить результат
Семь проверок дают Истина: две палитры по два цвета с нужным порядком, разные собственные ключи и правильный тип режима.
Книга / 3 и Ручка / 1 не меняются. В этой простой таблице нет настроенных цветовых значков/фигур: один только выбор палитры их не создаёт.
Ожидаемый результат
Реальная настройка независимых палитр и границ системного сохранения цветов без обещания несуществующего визуального оформления.
На что обратить внимание
Системное хранилище может сохранять оформление по своим правилам. Ключи принадлежат только этой учебной базе; код не очищает общее хранилище и не меняет чужие записи.
ОписаниеПалитрыЦветовТаблицы не создаётся конструктором. Свойства описаний и СохранениеЦветов только читаются, методы УстановитьПалитру работают над полученными объектами.
Палитра не равна условному оформлению, картинке строки или заполнению RGB всех ячеек. Проверяются настройки, не наличие цветных значков на экране.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.