Коллекция элементов оформления компоновки данных. Для оформления используются следующие элементы оформления: АвтоОтступ (AutoIndent) - тип значения Число; ВертикальноеПоложение (VerticalAlign) - тип значения ВертикальноеПоложение; ВертикальноеПоложениеКартинки (PictureVerticalAlign) - тип значения ВертикальноеПоложение. Размещение картинки по вертикали; ВесовойКоэффициентШирины (WidthWeightFactor) - тип значения Число. Весовой коэффициент для автоматического расчета ширины колонки; Видимость (Visible) - Булево. Используется только для поля, расположенного в таблице (колонки); ВыводитьКартинку (PictureOutput) - тип значения ТипВыводаКартинкиКомпоновкиДанных. Способ вывода картинки; ВыделятьОтрицательные (MarkNegatives) - тип значения Булево; ГоризонтальноеПоложение (HorizontalAlign) - тип значения ГоризонтальноеПоложение; ГоризонтальноеПоложениеКартинки (PictureHorizontalAlign) - тип значения ГоризонтальноеПоложение. Размещение картинки по горизонтали; Доступность (Enabled) - Булево. Используется только для поля, расположенного в таблице (колонки); ИндикаторВДиаграмме (IndicatorInChart) - тип значения Булево. Указывает, что серия, полученная из данной группировки является индикатором. Используется только для серий диаграммы; ИнформационнаяЛинияВДиаграмме (ReferenceLineInChart) - тип значения ИнформационнаяЛинияДиаграммы. Информационная линия в диаграмме; ИнформационныйИнтервалВДиаграмме (ReferenceBandInChart) - тип значения ИнформационныйИнтервалДиаграммы. Информационный интер
Полное описание, параметры и ограничения
ОформлениеКомпоновкиДанных (DataCompositionAppearance)
ОформлениеКомпоновкиДанных (DataCompositionAppearance)
Доступен, начиная с версии 8.1.
Элементы коллекции:
ЗначениеПараметраКомпоновкиДанных
Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются значения параметров.
Возможно обращение к значению параметра посредством оператора [...]. В качестве аргумента передается индекс (нумерация с 0).
Свойства:
ДоступныеПараметры (AvailableParameters)
ДоступныеПоляПараметров (ParameterAvailableFields)
Элементы (Items)
Методы:
НайтиЗначениеПараметра (FindParameterValue)
ПолучитьИдентификаторПоОбъекту (GetIDByObject)
ПолучитьОбъектПоИдентификатору (GetObjectByID)
УстановитьЗначениеПараметра (SetParameterValue)
Описание:
Коллекция элементов оформления компоновки данных.
Для оформления используются следующие элементы оформления:
АвтоОтступ (AutoIndent) - тип значения Число;
ВертикальноеПоложение (VerticalAlign) - тип значения ВертикальноеПоложение;
ВертикальноеПоложениеКартинки (PictureVerticalAlign) - тип значения ВертикальноеПоложение. Размещение картинки по вертикали;
ВесовойКоэффициентШирины (WidthWeightFactor) - тип значения Число. Весовой коэффициент для автоматического расчета ширины колонки;
Видимость (Visible) - Булево. Используется только для поля, расположенного в таблице (колонки);
ВыводитьКартинку (PictureOutput) - тип значения ТипВыводаКартинкиКомпоновкиДанных. Способ вывода картинки;
ВыделятьОтрицательные (MarkNegatives) - тип значения Булево;
ГоризонтальноеПоложение (HorizontalAlign) - тип значения ГоризонтальноеПоложение;
ГоризонтальноеПоложениеКартинки (PictureHorizontalAlign) - тип значения ГоризонтальноеПоложение. Размещение картинки по горизонтали;
Доступность (Enabled) - Булево. Используется только для поля, расположенного в таблице (колонки);
ИндикаторВДиаграмме (IndicatorInChart) - тип значения Булево. Указывает, что серия, полученная из данной группировки является индикатором. Используется только для серий диаграммы;
ИнформационнаяЛинияВДиаграмме (ReferenceLineInChart) - тип значения ИнформационнаяЛинияДиаграммы. Информационная линия в диаграмме;
ИнформационныйИнтервалВДиаграмме (ReferenceBandInChart) - тип значения ИнформационныйИнтервалДиаграммы. Информационный интервал в диаграмме;
ИспользуемаяОсьЗначенийВДиаграмме (UsedValueAxisInChart) - тип значения ИспользуемаяОсьЗначенийДиаграммы Настраивает использование дополнительной оси значений в диаграмме;
Картинка (Picture) - тип значения Картинка;
ЛинииТрендаВДиаграмме (ChartTrendlines) - тип значения ЛинииТрендаДиаграммы. Используется только для серий диаграммы;
ЛинияВДиаграмме (LineInChart) - тип значения Линия. Тип линии серии, полученной из данной группировки. Используется только для серий диаграммы;
МаксимальнаяВысота (MaxHeight) - тип значения Число;
МаксимальнаяШирина (MaxWidth) - тип значения Число;
МаркерВДиаграмме (MarkerInChart) - тип значения ТипМаркераДиаграммы. Тип маркера серии, полученной из данной группировки. Используется только для серий диаграммы;
МинимальнаяВысота (MinHeight) - тип значения Число;
МинимальнаяШирина (MinWidth) - тип значения Число;
ОриентацияТекста (TextOrientation) - тип значения Число;
ОтметкаНезаполненного (MarkIncomplete) - отмечать ячейку как незаполненную - тип значения Булево;
Отображать (Show) - Булево. Используется только для поля, расположенного в таблице (колонки);
ОтображатьГрафическоеПредставлениеДанныхВДиаграмме (ShowGraphicalRepresentationOfDataOnChart) тип значения ОтображениеВДиаграмме. Используется только для серий диаграммы;
ОтображатьГрафическоеПредставлениеДанныхВЛегендеДиаграммы (ShowGraphicalRepresentationOfDataInChartLegend) - тип значения ОтображениеВЛегендеДиаграммы. Используется только для серий диаграммы;
Отступ (Indent) - тип значения Число;
ОтступСверху (TopMargin) - тип значения Число;
ОтступСлева (LeftMargin) - тип значения Число;
ОтступСнизу (BottomMargin) - тип значения Число.
ОтступСправа (RightMargin) - тип значения Число;
ПоложениеТекстаОтносительноКартинки (TextPositionRelativeToPicture) - тип значения ПоложениеТекстаОтносительноКартинки. Положение текста относительно картинки;
РазделительМножественныхЗначений (MultipleValuesSeparator) - тип значения Строка. Содержит разделитель, который вставляется между значениями множественных характеристик. Если параметр не задан, то используется запятая с пробелом;
РазмерКартинки (PictureSize) - тип значения ПоложениеТекстаОтносительноКартинки. Положение текста относительно картинки;
Размещение (Placement) - размещение текста - тип значения ТипРазмещенияТекстаКомпоновкиДанных;
РастягиватьПоГоризонтали (HorizontalStretch) - тип значения Булево. Указывает, что ширина текущей колонки рассчитывается автоматически;
СтильГраницы (BorderStyle) - тип значения Линия;
СтильГраницы.Сверху (BorderStyle.Top) - тип значения Линия;
СтильГраницы.Слева (BorderStyle.Left) - тип значения Линия;
СтильГраницы.Снизу (BorderStyle.Bottom) - тип значения Линия;
СтильГраницы.Справа (BorderStyle.Right) - тип значения Линия;
Текст (Text) - тип значения Строка или ФорматированнаяСтрока;
ТипГрафическогоПредставленияВДиаграмме (VisualTypeInChart) - тип значения ТипГрафическогоПредставленияСерииДиаграммы.Тип графического представления серии в диаграмме;
ТипНакопленияВДиаграмме (StackTypeInChart) - тип значения ТипНакопленияСерииДиаграммы. Тип накопления серии, отличный от типа диаграммы. Группа накопления серии создаётся автоматически, на основе элемента условного оформления. Разные элементы условного оформления будут имеют разные группы накопления;
ТипОтметки (MarkType) - тип значения ТипОтметкиЯчейкиТаблицы;
ТолькоПросмотр (ReadOnly) - Булево. Используется только для поля, расположенного в таблице (колонки);
Формат (Format) - тип значения Строка (форматная строка);
ЦветВДиаграмме (ColorInChart) - тип значения Цвет. Используется только для серии диаграммы;
ЦветГраницы (BorderColor) - тип значения Цвет;
ЦветОтметки (MarkColor) - тип значения Цвет;
ЦветТекста (TextColor) - тип значения Цвет;
ЦветФона (BackColor) - тип значения Цвет;
Шрифт (Font) - тип значения Шрифт;
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Данный объект может быть сериализован в/из XDTO. Тип XDTO, соответствующий данному объекту, определяется в пространстве имен {http://v8.1c.ru/8.1/data-composition-system/core}. Имя типа XDTO: Appearance.
См. также:
ЭлементОбластиМакетаОформленияКомпоновкиДанных, свойство Оформление
ЭлементУсловногоОформленияКомпоновкиДанных, свойство Оформление
ПолеНабораДанныхСхемыКомпоновкиДанных, свойство Оформление
ВычисляемоеПолеСхемыКомпоновкиДанных, свойство Оформление
Использование в версии:
Доступен, начиная с версии 8.1.
Описание изменено в версии 8.3.27.
Методическая информация
Практические примеры
Рассчитать сумму Количество × Цена в списке
Вычисляемое поле принадлежит схеме списка. Для расчёта суммы не добавляем реквизит справочника и не записываем данные.
Где и как запускать
Модуль собственной управляемой формы внешней обработки. Вставляйте готовые процедуры с директивами на уровне модуля; каждый урок — в отдельной копии формы.
Подготовка
В учебной базе 8.5.1.1343 создайте новую внешнюю обработку УчебныйСписок85, пустую управляемую основную форму. Режим совместимости — 8.3.19 или выше. Не переделывайте список рабочей конфигурации.
В реквизитах формы добавьте Список типа ДинамическийСписок. Создайте один элемент ТаблицаФормы с именем ТаблицаТоваров и путём к данным Список. Колонки вручную не добавляйте: их создаёт код. Это не ТаблицаЗначений и не коллекция строк для Добавить().
В событиях формы назначьте ПриСозданииНаСервере одноимённой процедуре из примера. Не используйте одновременно другой обработчик заполнения этого списка.
При открытии код задаёт произвольный запрос из четырёх константных строк. Основная таблица не указана; таблицы базы, файлы и внешние сервисы не используются. Запись данных отсутствует.
Каждый раз открывайте отдельную копию формы. Автоматическое сохранение настроек отключено: старый пользовательский отбор не должен вмешиваться в упражнение.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Список.ПроизвольныйЗапрос = Истина;
Список.ОсновнаяТаблица = "";
Список.ДинамическоеСчитываниеДанных = Ложь;
Список.АвтоЗаполнениеДоступныхПолей = Истина;
Список.АвтоматическоеСохранениеПользовательскихНастроек = Ложь;
Список.ВидКлюча = ВидКлючаДинамическогоСписка.ЗначениеПоля;
КлючевыеПоля = Новый Массив;
КлючевыеПоля.Добавить("УчебныйНомер");
Список.ПоляКлюча = Новый ФиксированныйМассив(КлючевыеПоля);
Список.ТекстЗапроса = "ВЫБРАТЬ
| 1 КАК УчебныйНомер,
| ""Книга"" КАК Наименование,
| ""Канцелярия"" КАК Категория,
| 3 КАК Количество,
| 250 КАК Цена
|ОБЪЕДИНИТЬ ВСЕ
|ВЫБРАТЬ 2, ""Ручка"", ""Канцелярия"", 1, 30
|ОБЪЕДИНИТЬ ВСЕ
|ВЫБРАТЬ 3, ""Чай"", ""Продукты"", 2, 150
|ОБЪЕДИНИТЬ ВСЕ
|ВЫБРАТЬ 4, ""Вода"", ""Продукты"", 0, 70";
Элементы.ТаблицаТоваров.ТолькоПросмотр = Истина;
Сумма = Список.ВычисляемыеПоля.Добавить();
Сумма.ПутьКДанным = "УчебнаяСумма";
Сумма.Заголовок = "Сумма, руб.";
Сумма.Выражение = "Количество * Цена";
Сумма.ТипЗначения = Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 2));
Сумма.Оформление.УстановитьЗначениеПараметра("Формат", "ЧДЦ=2; ЧН=0");
Сообщить(Список.ВычисляемыеПоля.Найти("УчебнаяСумма") = Сумма);
Сообщить(Список.ВычисляемыеПоля.Количество() = 1);
Контроль = Новый Запрос(Список.ТекстЗапроса);
Данные = Контроль.Выполнить().Выгрузить();
Сообщить(Данные.Найти(1, "УчебныйНомер").Количество * Данные.Найти(1, "УчебныйНомер").Цена = 750);
Для Каждого ИмяПоля Из СтрРазделить("УчебныйНомер,Наименование,Категория,Количество,Цена,УчебнаяСумма", ",") Цикл
Колонка = Элементы.Добавить("Товары" + ИмяПоля, Тип("ПолеФормы"), Элементы.ТаблицаТоваров);
Колонка.Вид = ВидПоляФормы.ПолеВвода;
Колонка.ПутьКДанным = "Список." + ИмяПоля;
Колонка.Заголовок = ИмяПоля;
КонецЦикла;
КонецПроцедуры
Разбор по шагам
У вычисляемого поля задаём уникальный путь УчебнаяСумма. Это имя понадобится в ПутьКДанным колонки формы.
Выражение использует поля запроса, не переменные модуля формы. Количество и Цена числовые в собственном запросе.
Формат меняет отображение, а не арифметику. Дополнительная проверка исходных данных подтверждает сумму Книги 750.
Как проверить результат
Три проверки дают Истина.
В новой колонке суммы: Книга 750,00; Ручка 30,00; Чай 300,00; Вода 0,00.
В исходном запросе нет колонки УчебнаяСумма: вычисление относится к схеме списка.
Ожидаемый результат
Наглядная расчётная колонка без изменения структуры базы.
На что обратить внимание
ВыражениеПредставления вычисляемого поля не поддерживается в динамическом списке.
Не складывайте строки количества/цены как числа без определения их типа; здесь типы заданы самим запросом.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Выделить дорогой товар цветом, не скрывая остальные
Условное оформление списка меняет вид ячейки. В отличие от отбора, правило Цена > 200 оставляет все четыре строки.
Где и как запускать
Модуль собственной управляемой формы внешней обработки. Вставляйте готовые процедуры с директивами на уровне модуля; каждый урок — в отдельной копии формы.
Подготовка
В учебной базе 8.5.1.1343 создайте новую внешнюю обработку УчебныйСписок85, пустую управляемую основную форму. Режим совместимости — 8.3.19 или выше. Не переделывайте список рабочей конфигурации.
В реквизитах формы добавьте Список типа ДинамическийСписок. Создайте один элемент ТаблицаФормы с именем ТаблицаТоваров и путём к данным Список. Колонки вручную не добавляйте: их создаёт код. Это не ТаблицаЗначений и не коллекция строк для Добавить().
В событиях формы назначьте ПриСозданииНаСервере одноимённой процедуре из примера. Не используйте одновременно другой обработчик заполнения этого списка.
При открытии код задаёт произвольный запрос из четырёх константных строк. Основная таблица не указана; таблицы базы, файлы и внешние сервисы не используются. Запись данных отсутствует.
Каждый раз открывайте отдельную копию формы. Автоматическое сохранение настроек отключено: старый пользовательский отбор не должен вмешиваться в упражнение.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Список.ПроизвольныйЗапрос = Истина;
Список.ОсновнаяТаблица = "";
Список.ДинамическоеСчитываниеДанных = Ложь;
Список.АвтоЗаполнениеДоступныхПолей = Истина;
Список.АвтоматическоеСохранениеПользовательскихНастроек = Ложь;
Список.ВидКлюча = ВидКлючаДинамическогоСписка.ЗначениеПоля;
КлючевыеПоля = Новый Массив;
КлючевыеПоля.Добавить("УчебныйНомер");
Список.ПоляКлюча = Новый ФиксированныйМассив(КлючевыеПоля);
Список.ТекстЗапроса = "ВЫБРАТЬ
| 1 КАК УчебныйНомер,
| ""Книга"" КАК Наименование,
| ""Канцелярия"" КАК Категория,
| 3 КАК Количество,
| 250 КАК Цена
|ОБЪЕДИНИТЬ ВСЕ
|ВЫБРАТЬ 2, ""Ручка"", ""Канцелярия"", 1, 30
|ОБЪЕДИНИТЬ ВСЕ
|ВЫБРАТЬ 3, ""Чай"", ""Продукты"", 2, 150
|ОБЪЕДИНИТЬ ВСЕ
|ВЫБРАТЬ 4, ""Вода"", ""Продукты"", 0, 70";
Элементы.ТаблицаТоваров.ТолькоПросмотр = Истина;
Правило = Список.УсловноеОформление.Элементы.Добавить();
Правило.Использование = Истина;
Правило.Представление = "Цена выше 200";
Правило.Оформление.УстановитьЗначениеПараметра("ЦветФона", Новый Цвет(255, 239, 200));
Условие = Правило.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
Условие.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Цена");
Условие.ВидСравнения = ВидСравненияКомпоновкиДанных.Больше;
Условие.ПравоеЗначение = 200;
Условие.Использование = Истина;
ПолеЦены = Правило.Поля.Элементы.Добавить();
ПолеЦены.Поле = Новый ПолеКомпоновкиДанных("Цена");
ПолеЦены.Использование = Истина;
Сообщить(Список.УсловноеОформление.ПолучитьКоличествоИспользуемых() = 1);
Сообщить(Список.Отбор.ПолучитьКоличествоИспользуемых() = 0);
Для Каждого ИмяПоля Из СтрРазделить("УчебныйНомер,Наименование,Категория,Количество,Цена", ",") Цикл
Колонка = Элементы.Добавить("Товары" + ИмяПоля, Тип("ПолеФормы"), Элементы.ТаблицаТоваров);
Колонка.Вид = ВидПоляФормы.ПолеВвода;
Колонка.ПутьКДанным = "Список." + ИмяПоля;
Колонка.Заголовок = ИмяПоля;
КонецЦикла;
КонецПроцедуры
Разбор по шагам
Правило принадлежит Список.УсловноеОформление, не условному оформлению всей формы. Поле оформляем по имени данных Цена, не по имени элемента формы ТоварыЦена.
Отбор внутри правила отвечает за применение цвета. Это не Список.Отбор и он не убирает строки.
Светлый фон выбран для читаемости текста. Проверяйте его в используемой теме клиента; цвет не должен быть единственным смысловым сигналом.
Как проверить результат
Две проверки дают Истина.
В таблице четыре строки. Ячейка цены Книги (250) выделена; 150, 70 и 30 не выделены.
Измените порог на 150: Чай не выделяется, потому что сравнение строго Больше.
Ожидаемый результат
Одно проверяемое правило оформления с чётким отличием от фильтра.
На что обратить внимание
Цвет не изменяет цену и не записывает реквизиты.
Имена полей СКД и имена элементов формы различаются: здесь намеренно использовано Цена.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.