helpf.pro
Регистрация
 +1 
Распечатать

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

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

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

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

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

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

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

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

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

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

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

Здесь в случае вывода элемента справочника мы анализируем длину его наименования. Если оно более 30 символов, устанавливаем автоматическое определение высоты ячейки, ограничивая ее максимальную высоту тремя строками.
Разместил:   Версии: | 8.x | 8.2 УП |  Дата:   Прочитано: 82141
 +1 
Распечатать
Возможно, вас также заинтересует
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 52
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ
COM-подключение к базе 7.7 из .NET, .NET Core 2
Инсталяция: dotnet add package sabatex.V1C77 или добавить через NUGET пакет sabatex.V1C77. Добавить пространство имен: using sabatex.V1C77; пример использованя: ---C# static void Main(string args) { // создаем строку соединен
Excel файл как Внешний источник данных 17
Подключимся и загрузим из файла Excel данные в таблицу значений 1С. Сделать теперь это очень просто. 1. В конфигурации добавляет новый объект метаданных типа " Внешние источники данных" и назовем его просто " Excel" . https://helpf.pro/uploads/img
PostgreSQL: установка, настройка, обслуживание 11
PostgreSQL напрямую "из коробки" применяться для использования с 1С Предприятем не может. Необходима именно адаптированная версия от 1С, превращающая PostgreSQL в блокировочник, причем нужно понимать, что блокировки будут накладываться на всю таблиц
Автоматическое резервное копирование 1С:Предприятия в облако с помощью ПО Effector Saver 4
Всем известно, для большей гарантии восстановления важных данных, необходимо копировать архивы в несколько мест хранения. Отдельный диск может помочь в случае порчи основного, но в случае если устройство будет потеряно или украдено, он будет так же
Посмотреть все результаты поиска похожих
Комментарии
Gorus
14.12.2011 18:37Комментарий: 3
Gorus
Условное оформление для формы можно задать визуально прямо в редакторе: в свойствах формы есть пункт "Условное оформление" - жмем "Открыть" и открывается список с правилами оформления. В нем додаем новую строку, в которой указываем оформление, условие срабатывания и поле, которое будет оформляться. Для большинства случаев этого вполне достаточно. Если не достаточно - то же самое можно сделать и программно:
Код 1C v 8.2 УП
 ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();
ОформляемоеПоле = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("ПланНоменклатура");
ЭлементОтбора = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("План.Разница");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбора.ПравоеЗначение = 100;
ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.СеребристоСерый);

Пример кода взят отсюда.
E_Migachev
07.12.2011 17:38Комментарий: 2
E_Migachev
Gorus, спасибо, убрал! Если у вас есть пример как сделать в УП выложите пожалуйста *13
Gorus
07.12.2011 13:38Комментарий: 1
Gorus
В УП нужно делать через УсловноеОформление. Нужно снять тег УП.
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.