При переходе конфигураций с обычными формами на платформу 1С:Предприятие 8.3 (начиная с версий 8.3.7 и выше) разработчики часто сталкиваются с изменением визуального оформления табличных полей. Вместо привычных светло-коричневых или бежевых разделительных линий из стиля 8.2 таблицы начинают отрисовываться с жесткими черными вертикальными и горизонтальными линиями. Разберем, почему это происходит и какими способами можно восстановить аккуратный интерфейс.
Выясним причину такого отображения. В платформе 1С:Предприятие 8.2 для табличных полей свойство ЦветРамки по умолчанию наследовало значение из активного стиля оформления — стиль: Рамка. Это обеспечивало мягкий светло-коричневый оттенок линий сетки.
Начиная с версии 8.3.7 фирма «1С» изменила логику значений по умолчанию для элементов управления обычных форм. Новым элементам управления и автогенерируемым таблицам стало присваиваться значение Авто. При значении Авто цвет разделителей и границ вычисляется платформой на основе системной цветовой палитры Windows (цвета рамок окон и элементов объемных объектов). В современных темах оформления операционной системы это приводит к отображению контрастных черных или темно-серых линий.
Если табличное поле размещено на форме, созданной в конфигураторе (форма документа, справочника, отчета или внешней обработки), исправить отображение достаточно просто. Выполним следующие шаги:
ТабличноеПоле и откроем палитру свойств.ЦветРамки. Если в нем установлено значение Авто, нажмем кнопку выбора.Рамка.Также это свойство можно переопределить программно при инициализации формы в обработчике ПриОткрытии:
Процедура ПриОткрытии()
ЭлементыФормы.ТабличноеПолеСписок.ЦветРамки = ЦветаСтиля.Рамка;
КонецПроцедуры
Наибольшие неудобства вызывают формы, которых физически нет в дереве метаданных: системное окно настроек компоновщика отчета (СКД), стандартные диалоги выбора строки из объекта ТаблицаЗначений или СписокЗначений. Платформа генерирует их динамически «на лету», жестко прописывая свойствам элементов значение Авто. В обычном приложении нет глобального клиентского события для перехвата создания таких динамических окон. Рассмотрим пути решения этой задачи:
ЦветРамки со значением Рамка.Проанализируем конфигурацию в целом. Если проект работает в обычном приложении и не использует новые функции платформы 8.3, можно переключить режим совместимости:
Версия 8.3.6 (или более раннюю версию).При включении совместимости с версией 8.3.6 платформа возвращает прежний механизм инициализации визуальных стилей по умолчанию, и автогенерируемые таблицы снова используют цвета стиля конфигурации вместо системных цветов Авто.
Если изменить режим совместимости или доработать формы невозможно, рассмотрим инфраструктурные варианты:
Авто.Авто транслирует цвета из параметров оформления окон операционной системы, настройка системной палитры (цвета объемных элементов и разделителей) на клиентских машинах или сервере терминалов позволяет смягчить черный цвет рамок на светло-серый.