1С-Предприятие 8.0. Практическое пособие разработчика

         

Оформление строк табличного поля


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

Для иллюстрации этой возможности мы снова воспользуемся формой справочника "Номенклатура" и придадим ей "нестандартный" вид.

Откроем в конфигураторе форму списка справочника "Номенклатура" и создадим обработчик события формы "При открытии" со следующим текстом:

Процедура ПриОткрытии()

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

   //задать режим чередования цветов строк

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

   СписокСправочника.ЧередованиеЦветовСтрок = Истина;



   //скрыть линии сетки

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

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

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

Вначале мы задаем режим чередования цветов фона строк списка. Первая строка будет выводиться на бежевом фоне, вторая на белом, третья снова на бежевом и т.д.

Затем мы скрываем линии разделяющие колонки и строки.

Теперь откроем обработчик события "ПриВыводеСтроки" табличного поля списка справочника, и добавим в него следующие строки:

Процедура СправочникСписокПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)

   //для элементов отобразим цену и ...

   Если Не ДанныеСтроки.ЭтоГруппа Тогда

       ОтборНоменклатуры = Новый Структура;

       ОтборНоменклатуры.Вставить("Номенклатура", ДанныеСтроки.Ссылка);

       ОформлениеСтроки.Ячейки.Цена.ОтображатьТекст = Истина;

       АктуальнаяЦена = РегистрыСведений.Цены.ПолучитьПоследнее(, ОтборНоменклатуры).Цена;

       ОформлениеСтроки.Ячейки.Цена.Текст = АктуальнаяЦена;

       //низкие цены выделим другим цветом




       Если АктуальнаяЦена < 500 Тогда

           ОформлениеСтроки.Ячейки.Цена.ЦветТекста = WEBЦвета.Васильковый;

       КонецЕсли;

       //... раздвинуть строку если длинное наименование

       Если СтрДлина(СокрЛП(ДанныеСтроки.Наименование)) > 30 Тогда

           ОформлениеСтроки.Ячейки.Наименование.АвтоВысотаЯчейки = Истина;

           ОформлениеСтроки.Ячейки.Наименование.ВысотаЯчейки = 3;

       КонецЕсли;

   КонецЕсли;

КонецПроцедуры [527]

Здесь, в случае вывода элемента справочника, мы анализируем длину его наименования и для наименований более 30 символов устанавливаем автоматическое определение высоты ячейки, ограничивая ее максимальную высоту тремя строками.

Запустим 1С:Предприятие в режиме отладки и посмотрим на результат:



[528]






Содержание раздела