Как известно, любые изменения в типовые конфигурации желательно производить программно, что значительно облегчит в дальнейшем процесс обновления таких конфигураций. Код программного создания условного оформления весьма громоздкий и его написание отнимает много времени и нервов. Данная обработка полностью решает данную проблему.
Вы можете легко и просто задать условное оформление в конфигураторе, через настройки условного оформления, создавая условные конструкции любой степени сложности и вложенности (Группы И, ИЛИ, НЕ), настраивая любые цвета, шрифты и другие характеристики. После чего, посредством данной обработки, сгенерировать программный код создания данного условного оформления, всего лишь одним кликом!
Для корректной работы обработки достаточно всего лишь прописать в конец процедуры ПриСозданииНаСервере() у нужной формы код:
Если Параметры.Свойство("ДекомпиляцияУсловногоОформления") Тогда
ВнешниеОбработки.Создать(ЭтаФорма.Параметры.ДекомпиляцияУсловногоОформления.ИмяПодключеннойОбработки,Ложь).ОпределитьКодУсловногоОформления(ЭтаФорма);
КонецЕсли;
Чтобы запустить обработку, нужно зайти в меню Файл - Открыть И выбрать внешнюю обработку "ДекомпиляцияУсловногоОформления.epf".
При запуске слева построится список метаданных конфигурации в виде дерева. В данном списке необходимо выбрать нужную вам форму, у которой вы хотите декомпилировать условное оформление. После этого станет активной кнопка сверху "Сгенерировать код". При нажатии на эту кнопку, в поле справа появится программный код создания условного оформления формы. Также, вместо нажатия на кнопку "Сгенерировать код", можно выполнить двойной клик по нужной форме из списка. Результат будет таким же.
Дальше вам достаточно скопировать сгенерированный программный код и вставить его в серверную процедуру формы, как правило, ПриСозданииНаСервере(), а затем удалить условное оформление формы, настроенное в конфигураторе интерактивно, через настройки условного оформления.
Тестирование обработки производилось на платформе 8.3.10, 8.3.13, 8.3.14 и 8.3.16.
Версия 1.0.1:
Обработаны ситуации, когда в условиях отбора в качестве правого значения выступает другое поле компоновки данных или предопределённый элемент справочника.
Обработана ситуация, когда в оформлении в свойстве текст указано другое поле компоновки данных.
Версия 1.0.2:
Обработана ситуация, когда ВидСравненияКомпоновкиДанных.ВСписке принимает не только список значений, но и массив. За нахождение и исправление ошибки спасибо Михаилу Кузнецову (MVK80).