HelpF.pro

Табличное поле ~ Оформление строк, ячеек табличного поля (цвет, текст)

Одним из полезных свойств элемента управления Табличное поле является возможность настройки оформления его строк программным способом.
Для иллюстрации этой возможности мы снова воспользуемся формой справочника Номенклатура и придадим ей «нестандартный» вид.
Откроем в конфигураторе форму списка справочника Номенклатура и создадим обработчик события формы ПриОткрытии со следующим текстом:
Код 1C v 8.х
 Процедура ПриОткрытии()

СписокСправочника = ЭлементыФормы.СправочникСписок;

// Задать режим чередования цветов строк
СписокСправочника.ЦветФонаЧередованияСтрок = WEBЦвета.Бежевый;
СписокСправочника.ЧередованиеЦветовСтрок = Истина;

// Скрыть линии сетки
СписокСправочника.ВертикальныеЛинии = Ложь;
СписокСправочника.ГоризонтальныеЛинии = Ложь;

КонецПроцедуры

Вначале мы задаем режим чередования цветов фона строк списка. Первая строка будет выводиться на бежевом фоне, вторая на белом, третья снова на бежевом и т. д.
Затем мы скрываем линии, разделяющие колонки и строки.
Теперь откроем обработчик события ПриВыводеСтроки табличного поля списка справочника и добавим в него следующие строки:
Код 1C v 8.х
 Процедура СправочникСписокПриВыводеСтроки(Элемент, ОформлениеСтроки,ДанныеСтроки)

// Для элементов отобразить цену и...
Если Не ДанныеСтроки.ЭтоГруппа Тогда
ОтборНоменклатуры = Новый Структура;
ОтборНоменклатуры.Вставить("Номенклатура", ДанныеСтроки.Ссылка);
ОформлениеСтроки.Ячейки.Цена.ОтображатьТекст = Истина;
АктуальнаяЦена = РегистрыСведений.Цены.ПолучитьПоследнее( , ОтборНоменклатуры).Цена;
ОформлениеСтроки.Ячейки.Цена.Текст = АктуальнаяЦена;

// низкие цены выделим другим цветом
Если АктуальнаяЦена<500 Тогда
ОформлениеСтроки.Ячейки.Цена.ЦветТекста = WEBЦвета.Васильковый;
КонецЕсли;

// Раздвинуть строку, если длинное наименование
Если СтрДлина(СокрЛП(ДанныеСтроки.Наименование))>30 Тогда
ОформлениеСтроки.Ячейки.Наименование.АвтоВысотаЯчейки = Истина;
ОформлениеСтроки.Ячейки.Наименование.ВысотаЯчейки = 3;
КонецЕсли;

// Пример Оформления ВСЕЙ СТРОКИ
// ОформлениеСтроки.Шрифт = Новый Шрифт(ОформлениеСтроки.Шрифт , , , Истина, Ложь);
// ОформлениеСтроки.ЦветФона = Новый Цвет(255, 245, 207);
КонецЕсли;
КонецПроцедуры

Здесь в случае вывода элемента справочника мы анализируем длину его наименования. Если оно более 30 символов, устанавливаем автоматическое определение высоты ячейки, ограничивая ее максимальную высоту тремя строками.
Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq82/view/786.html