Разберем распространенную проблему, с которой сталкиваются разработчики и пользователи при переходе на современные версии платформы 1С:Предприятие 8.3 (интерфейс «Такси»). Суть вопроса заключается в том, что стандартные настройки таблицы, такие как ВертикальныеЛинии и ГоризонтальныеЛинии, не обеспечивают привычной контрастности. Тонкие светло-серые или белые линии практически неразличимы на современных мониторах, что затрудняет восприятие больших массивов данных в динамических списках.
Проанализируем ситуацию: интерфейс «Такси» изначально проектировался в концепции «воздушности» и минимализма. Разработчики платформы намеренно отказались от «тяжелых» рамок и разделителей, чтобы интерфейс выглядел современно. Однако для бухгалтеров и аналитиков, работающих с таблицами из десятков колонок, это создает дискомфорт. Выясним, как мы можем программно и интерактивно улучшить читаемость списков, используя доступный инструментарий платформы.
Прежде чем переходить к решениям, рассмотрим технический нюанс. В управляемых формах за отрисовку таблицы отвечает объект ТаблицаФормы. Даже если в свойствах установлены флаги «Горизонтальные линии» и «Вертикальные линии», их итоговый вид диктуется системным стилем оформления. В режиме «Такси» эти линии имеют крайне низкую контрастность. Более того, при масштабировании экрана (DPI выше 100%) линии толщиной в 1 пиксель могут «размываться» или пропадать вовсе из-за особенностей рендеринга графического движка.
Самый простой и эффективный способ визуально разделить данные — это включение режима чередования цветов. Это помогает глазу удерживать строку при горизонтальном просмотре таблицы. Рассмотрим, как это настроить:
ДинамическийСписок.Таблица.ЧередованиеЦветовСтрок.По умолчанию платформа предложит очень бледный цвет для четных строк. Если этого недостаточно, мы можем изменить цвет фона программно в модуле формы. Рассмотрим пример настройки в процедуре ПриСозданииНаСервере:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
// Устанавливаем принудительное чередование цветов для таблицы "Список"
Элементы.Список.ЧередованиеЦветовСтрок = Истина;
// Можно задать свой цвет (например, очень светлый бежевый или голубой)
Элементы.Список.ЦветФонаЧередованияСтрок = ЦветаСтиля.ЦветФонаЧередованияСтрок;
КонецПроцедуры
Так как сделать «сочные черные линии» стандартными средствами невозможно, мы применим хитрость: создадим визуальные «коридоры», раскрасив колонки через одну. Это позволит четко отделять один столбец от другого. Проанализируем, как реализовать это через механизм УсловноеОформление формы.
Выполним следующие шаги:
ЦветФона (например, светло-серый или очень бледный желтый).Этот метод создает отличный контраст без использования тонких линий, которые «режут глаз» или пропадают при масштабировании.
Рассмотрим ситуацию, когда нам нужно выделить не все данные, а только логические блоки. В интерфейсе 1С мы можем использовать ГруппыКолонок. При объединении колонок в группу в заголовках таблицы появляются дополнительные вертикальные разделители, которые отрисовываются более отчетливо.
Разберем по шагам:
Группировка в значение «Горизонтальная».В результате в шапке списка появятся границы группы, что визуально упростит навигацию пользователя по вертикальным массивам данных.
Если вы используете платформу версии 8.3.20 и выше, проанализируем возможность включения компактного режима. В этом режиме плотность элементов управления выше, а границы отрисовываются более явно. Это настраивается через свойства пользователя или программно.
&НаКлиенте
Процедура ПриОткрытии(Отказ)
// Установка компактного режима для всей формы
ЭтаФорма.ВариантМасштаба = ВариантМасштаба.Компактный;
КонецПроцедуры
Пользователи часто жалуются, что линии появляются только при выделении строки. Мы можем усилить этот эффект, сделав активную строку максимально заметной. Для этого в свойствах таблицы Список изменим режим выделения:
ЦветТекстаВыделения установим в «Авто» (или выберем контрастный темный цвет).ЦветФонаВыделения настроим таким образом, чтобы оно не перекрывало данные, но создавало четкую рамку вокруг активной ячейки.Мы выяснили, что отсутствие «сочных» черных линий — это не баг, а осознанная концепция дизайна современных интерфейсов 1С. Чтобы удовлетворить требования пользователей к хорошей читаемости, рекомендуем совмещать несколько подходов:
ЧередованиеЦветовСтрок для длинных списков.УсловноеОформление для заливки фона критически важных колонок.Такой комплексный подход позволит создать комфортную рабочую среду даже в условиях ограничений стандартного стиля оформления платформы.