Оформление строк табличного поля
Одним из полезных свойств элемента управления "Табличное поле" является возможность настройки оформления его строк программным способом.
Для иллюстрации этой возможности мы снова воспользуемся формой справочника "Номенклатура" и придадим ей "нестандартный" вид.
Откроем в конфигураторе форму списка справочника "Номенклатура" и создадим обработчик события формы "При открытии" со следующим текстом:
Процедура ПриОткрытии()
СписокСправочника = ЭлементыФормы.СправочникСписок;
//задать режим чередования цветов строк
СписокСправочника.ЦветФонаЧередованияСтрок = WEBЦвета.Бежевый;
СписокСправочника.ЧередованиеЦветовСтрок = Истина;
//скрыть линии сетки
СписокСправочника.ВертикальныеЛинии = Ложь;
СписокСправочника.ГоризонтальныеЛинии = Ложь;
КонецПроцедуры
Вначале мы задаем режим чередования цветов фона строк списка. Первая строка будет выводиться на бежевом фоне, вторая на белом, третья снова на бежевом и т.д.
Затем мы скрываем линии разделяющие колонки и строки.
Теперь откроем обработчик события "ПриВыводеСтроки" табличного поля списка справочника, и добавим в него следующие строки:
Процедура СправочникСписокПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
//для элементов отобразим цену и ...
Если Не ДанныеСтроки.ЭтоГруппа Тогда
ОтборНоменклатуры = Новый Структура;
ОтборНоменклатуры.Вставить("Номенклатура", ДанныеСтроки.Ссылка);
ОформлениеСтроки.Ячейки.Цена.ОтображатьТекст = Истина;
АктуальнаяЦена = РегистрыСведений.Цены.ПолучитьПоследнее(, ОтборНоменклатуры).Цена;
ОформлениеСтроки.Ячейки.Цена.Текст = АктуальнаяЦена;
//низкие цены выделим другим цветом
Если АктуальнаяЦена < 500 Тогда
ОформлениеСтроки.Ячейки.Цена.ЦветТекста = WEBЦвета.Васильковый;
КонецЕсли;
//... раздвинуть строку если длинное наименование
Если СтрДлина(СокрЛП(ДанныеСтроки.Наименование)) > 30 Тогда
ОформлениеСтроки.Ячейки.Наименование.АвтоВысотаЯчейки = Истина;
ОформлениеСтроки.Ячейки.Наименование.ВысотаЯчейки = 3;
КонецЕсли;
КонецЕсли;
КонецПроцедуры [527]
Запустим 1С:Предприятие в режиме отладки и посмотрим на результат:
[528]