На управляемых формах для динамических списках у пользователей появилась возможность настройки условного оформления "под себя" в режиме предприятия, но часто такая необходимость возникает не только в списках, но и в таблицах (в формах элементов справочников, документов, обработках), для таких ситуаций и балы написана обработка.
Обработка анализирует реквизиты формы, находит среди них таблицы и позволяет настроить их оформление (цвет фона, цвет текста, шрифт) для отдельных полей и для строки в целом, возможна группировка условий ("Группа И" и "Группа ИЛИ"), в качестве условий может выступать любое поле таблицы.
Для подключения к форме необходимо создать команду и несколько процедур в модуле формы (см. скриншот).
Настройки сохраняются типовом РС "Сохраненные настройки" в разрезе пользователя и имени формы(необходимо указать уникальное для каждой используемой формы). При необходимости можно изменить на хранилище настроек.
Обработка реализована на управляемых формах, возможно подключение к УФ, работающих в режиме обычного приложения.
Тестировалось на платформе 8.3.13.1644.
UPD:
Код модуля формы, в котором вызывается обработка:
&НаКлиенте
Процедура Оформление(Команда)
ОповещениеОВыбореОформления = Новый ОписаниеОповещения("ОповещениеОВыбореОформления", ЭтаФорма, Новый Структура("ИмяФормы", "ТестоваяФорма"));
ОткрытьФорму("Обработка.УсловноеОформление.Форма.ФормаУстановкиОформления", ПолучитьПараметрыДляОткрытияОформления(), ЭтаФорма,,,, ОповещениеОВыбореОформления, РежимОткрытияОкнаФормы .БлокироватьОкноВладельца);
КонецПроцедуры
&НаКлиенте
Процедура ОповещениеОВыбореОформления(Результат, ДополнительныеПараметры) Экспорт
Если Результат = Неопределено Тогда
Возврат
КонецЕсли;
СохранитьИПрименитьУО(Результат, ДополнительныеПараметры.ИмяФормы);
КонецПроцедуры // ОповещениеОВыбореОформления()
&НаСервере
Процедура СохранитьИПрименитьУО(Адрес, ИмяФормы)
ТаблицаУО = ПолучитьИзВременногоХранилища(Адрес);
МенеджерЗаписи = РегистрыСведений.СохраненныеНастройки.СоздатьМенеджерЗаписи();
МенеджерЗаписи.Пользователь = ПараметрыСеанса.ТекущийПользователь;
МенеджерЗаписи.ИмяОбъекта = ИмяФормы;
МенеджерЗаписи.НаименованиеНастройки = "Условное оформление";
МенеджерЗаписи.СохраненнаяНастройка = Новый ХранилищеЗначения(ТаблицаУО);
МенеджерЗаписи.Записать();
Обработки.УсловноеОформление.ПрименитьУО(ЭтаФорма, ТаблицаУО);
КонецПроцедуры // СохранитьИПрименитьУО()
&НаСервере
Функция ПолучитьПараметрыДляОткрытияОформления()
Возврат Новый Структура("АдресСтруктурыТаблицФормы, АдресУО", Обработки.УсловноеОформление.ПолучитьХранениеСтруктурыТаблицФормы(ЭтаФорма), Обработки.УсловноеОформление.ПолучитьАдресУО("ТестоваяФорма", ""));
КонецФункции
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Обработки.УсловноеОформление.ПрименитьУО(ЭтаФорма, Обработки.УсловноеОформление.ПолучитьУО("ТестоваяФорма", ПараметрыСеанса.ТекущийПользователь));
КонецПроцедуры