Как настроить видимость вертикальных линий и разделение данных в динамических списках 1С

Программист 1С v8.3 (Управляемые формы) 1С:Комплексная автоматизация IT и автоматизация бизнеса
← На главную

Разберем распространенную проблему, с которой сталкиваются разработчики и пользователи при переходе на современные версии платформы 1С:Предприятие 8.3 (интерфейс «Такси»). Суть вопроса заключается в том, что стандартные настройки таблицы, такие как ВертикальныеЛинии и ГоризонтальныеЛинии, не обеспечивают привычной контрастности. Тонкие светло-серые или белые линии практически неразличимы на современных мониторах, что затрудняет восприятие больших массивов данных в динамических списках.

Проанализируем ситуацию: интерфейс «Такси» изначально проектировался в концепции «воздушности» и минимализма. Разработчики платформы намеренно отказались от «тяжелых» рамок и разделителей, чтобы интерфейс выглядел современно. Однако для бухгалтеров и аналитиков, работающих с таблицами из десятков колонок, это создает дискомфорт. Выясним, как мы можем программно и интерактивно улучшить читаемость списков, используя доступный инструментарий платформы.

Причина низкой видимости стандартных линий

Прежде чем переходить к решениям, рассмотрим технический нюанс. В управляемых формах за отрисовку таблицы отвечает объект ТаблицаФормы. Даже если в свойствах установлены флаги «Горизонтальные линии» и «Вертикальные линии», их итоговый вид диктуется системным стилем оформления. В режиме «Такси» эти линии имеют крайне низкую контрастность. Более того, при масштабировании экрана (DPI выше 100%) линии толщиной в 1 пиксель могут «размываться» или пропадать вовсе из-за особенностей рендеринга графического движка.

Решение 1: Использование «Зебры» (Чередование цветов строк)

Самый простой и эффективный способ визуально разделить данные — это включение режима чередования цветов. Это помогает глазу удерживать строку при горизонтальном просмотре таблицы. Рассмотрим, как это настроить:

  1. Откроем форму, на которой размещен ДинамическийСписок.
  2. Выберем элемент управления Таблица.
  3. В палитре свойств найдем раздел «Оформление».
  4. Установим флаг в поле ЧередованиеЦветовСтрок.

По умолчанию платформа предложит очень бледный цвет для четных строк. Если этого недостаточно, мы можем изменить цвет фона программно в модуле формы. Рассмотрим пример настройки в процедуре ПриСозданииНаСервере:


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    // Устанавливаем принудительное чередование цветов для таблицы "Список"
    Элементы.Список.ЧередованиеЦветовСтрок = Истина;
    // Можно задать свой цвет (например, очень светлый бежевый или голубой)
    Элементы.Список.ЦветФонаЧередованияСтрок = ЦветаСтиля.ЦветФонаЧередованияСтрок;
КонецПроцедуры

Решение 2: Условное оформление колонок («Вертикальная зебра»)

Так как сделать «сочные черные линии» стандартными средствами невозможно, мы применим хитрость: создадим визуальные «коридоры», раскрасив колонки через одну. Это позволит четко отделять один столбец от другого. Проанализируем, как реализовать это через механизм УсловноеОформление формы.

Выполним следующие шаги:

  1. Перейдем на закладку «Условное оформление» в редакторе формы.
  2. Добавим новый элемент оформления.
  3. В настройках оформления выберем ЦветФона (например, светло-серый или очень бледный желтый).
  4. В разделе «Оформляемые поля» выберем каждую вторую колонку нашего списка (например: Номер, Дата, Склад, Ответственный).
  5. Условие оставим пустым, чтобы оформление применялось всегда ко всей колонке.

Этот метод создает отличный контраст без использования тонких линий, которые «режут глаз» или пропадают при масштабировании.

Решение 3: Группировка колонок для визуального акцента

Рассмотрим ситуацию, когда нам нужно выделить не все данные, а только логические блоки. В интерфейсе 1С мы можем использовать ГруппыКолонок. При объединении колонок в группу в заголовках таблицы появляются дополнительные вертикальные разделители, которые отрисовываются более отчетливо.

Разберем по шагам:

  1. В дереве элементов формы нажмем правой кнопкой на таблицу динамического списка.
  2. Выберем «Добавить» — «Группа колонок».
  3. Установим свойство Группировка в значение «Горизонтальная».
  4. Перетащим нужные колонки внутрь этой группы.

В результате в шапке списка появятся границы группы, что визуально упростит навигацию пользователя по вертикальным массивам данных.

Решение 4: Компактный режим отображения (для новых платформ)

Если вы используете платформу версии 8.3.20 и выше, проанализируем возможность включения компактного режима. В этом режиме плотность элементов управления выше, а границы отрисовываются более явно. Это настраивается через свойства пользователя или программно.


&НаКлиенте
Процедура ПриОткрытии(Отказ)
    // Установка компактного режима для всей формы
    ЭтаФорма.ВариантМасштаба = ВариантМасштаба.Компактный;
КонецПроцедуры

Решение 5: Настройка выделения активной строки

Пользователи часто жалуются, что линии появляются только при выделении строки. Мы можем усилить этот эффект, сделав активную строку максимально заметной. Для этого в свойствах таблицы Список изменим режим выделения:

  1. Свойство ЦветТекстаВыделения установим в «Авто» (или выберем контрастный темный цвет).
  2. Свойство ЦветФонаВыделения настроим таким образом, чтобы оно не перекрывало данные, но создавало четкую рамку вокруг активной ячейки.

Итоги и рекомендации

Мы выяснили, что отсутствие «сочных» черных линий — это не баг, а осознанная концепция дизайна современных интерфейсов 1С. Чтобы удовлетворить требования пользователей к хорошей читаемости, рекомендуем совмещать несколько подходов:

Такой комплексный подход позволит создать комфортную рабочую среду даже в условиях ограничений стандартного стиля оформления платформы.

← На главную