8.8 KiB
Оформление
Два независимых механизма: оформление элемента (постоянные цвета/шрифт/граница на конкретном элементе) и условное оформление формы (conditionalAppearance — правила, применяемые при выполнении условия).
Оформление элемента (цвета / шрифты / граница)
Свойства задаются прямо на элементе. Применимо к полям (input/check/radio/labelField/picField/calendar), декорациям (label/picture), кнопкам (button), группам (group/columnGroup), страницам (page/pages), попапам (popup) и таблицам (table). Каждое свойство необязательно.
| Ключ | Что задаёт |
|---|---|
textColor |
Цвет текста |
backColor |
Цвет фона |
borderColor |
Цвет рамки |
font |
Шрифт |
border |
Граница |
titleTextColor / titleBackColor / titleFont |
Цвет текста / цвет фона / шрифт заголовка колонки (labelField, колонки таблицы); у page/pages/popup — titleTextColor/titleFont заголовка страницы/попапа |
footerTextColor / footerBackColor / footerFont |
Цвет текста / цвет фона / шрифт подвала колонки |
Те же свойства доступны и через словарь appearance элемента — под русскими именами параметров платформы: ЦветТекста, ЦветФона, ЦветРамки, Шрифт, Граница, ЦветТекстаЗаголовка, ЦветФонаЗаголовка, ШрифтЗаголовка, ЦветТекстаПодвала, ЦветФонаПодвала, ШрифтПодвала. Это та же запись, что и в правилах условного оформления (ниже) и в appearance поля дин-списка.
Цвет
Строка в одной из форм:
| Форма | Значение |
|---|---|
web:Имя |
Цвет из web-палитры, напр. web:Red, web:FireBrick, web:HoneyDew |
win:Имя |
Системный цвет Windows, напр. win:MenuBar, win:ButtonText, win:DisabledText |
style:ИмяСтиля |
Ссылка на элемент стиля конфигурации/платформы, напр. style:FormBackColor, style:BorderColor |
#RRGGBB |
RGB-hex, напр. #FF0000 |
Имя должно существовать в своей палитре (несуществующий web-/win-цвет или ссылка на отсутствующий style:-элемент — ошибка загрузки формы).
Шрифт (font / titleFont / footerFont)
- Строка
"style:ИмяСтиля"— шрифт из элемента стиля. Минимальная форма. - Объект — задаются только нужные атрибуты:
| Ключ | Назначение |
|---|---|
ref |
Ссылка на стиль ("style:X") или системный шрифт ("sys:…") |
faceName |
Имя гарнитуры (для собственного шрифта) |
height |
Размер |
bold / italic / underline / strikeout |
true/false — начертание |
scale |
Масштаб, % |
kind |
Absolute (собственный шрифт — с faceName+height) / WindowsFont (системный — с ref:"sys:…") |
{ "label": "Внимание!", "textColor": "web:FireBrick",
"font": { "faceName": "Arial", "height": 12, "bold": true, "kind": "Absolute", "scale": 100 } }
Граница (border)
- Строка
"style:ИмяСтиля"(или объект{ "ref": "style:X" }) — граница из стиля. - Объект
{ "width": N, "style": "..." }— собственная граница.style— один из:Single,Double,Underline,DoubleUnderline,Overline,Embossed,Indented,WithoutBorder.
{ "input": "Цена", "path": "Объект.Цена", "textColor": "#FF0000",
"borderColor": "style:BorderColor", "border": { "width": 1, "style": "Single" } }
{ "labelField": "Код", "titleTextColor": "web:HoneyDew", "border": "style:ControlBorder" }
Условное оформление формы (conditionalAppearance)
Форменный ключ верхнего уровня — массив правил. Каждое правило применяет оформление к перечисленным полям, когда выполняется его условие.
"conditionalAppearance": [
{ "selection": ["ОбычноеПоле"], "filter": ["ЧисловоеПоле > 100"],
"appearance": { "ЦветФона": "style:FormBackColor" },
"presentation": { "ru": "Подсветка", "en": "Highlight" } }
]
| Ключ | Тип | Назначение |
|---|---|---|
selection |
array | Имена форматируемых полей формы |
filter |
array | Условие применения (грамматика — ниже) |
appearance |
object | Словарь «параметр платформы: значение» |
presentation |
string / object | Подпись правила в списке настроек |
use |
bool | false — правило отключено |
viewMode |
string | Режим отображения настройки |
userSettingID |
string | Идентификатор пользовательской настройки; "auto" — сгенерировать |
filter
Та же грамматика, что в отборе списка — shorthand "Поле оператор значение @флаги" или объект:
"filter": [
"Статус = 3",
{ "field": "Сумма", "op": ">=", "value": 1000 },
{ "group": "Or", "items": [ "Просрочено = true", "Заблокирован = true" ] }
]
- Операторы:
=<>>>=<<=,in/notIn,inHierarchy,contains/notContains,beginsWith/notBeginsWith,like/notLike(%-шаблон),filled/notFilled. - Флаги:
@off(отключён),@user,@quickAccess;_= пустое значение. - Группа:
{ "group": "And"|"Or"|"Not", "items": [...], "use"? }. - Дата-значение: ISO-дата
"2024-01-01T00:00:00"— фиксированная дата; именованный относительный период — строкой"BeginningOfThisWeek"с"valueType": "v8:StandardBeginningDate"(вариантыBeginningOfThisDay/BeginningOfThisWeek/BeginningOfThisMonth/BeginningOfThisYear/…).
appearance
Словарь «параметр платформы: значение». Имена параметров — русские: ЦветТекста, ЦветФона, Шрифт, Граница, Текст, Заголовок, Формат, ВидимостьЭлемента, Доступность и другие параметры оформления компоновки.
Значения:
- Цвет (
ЦветТекста/ЦветФона/…) и шрифт (Шрифт) — те же формы, что в оформлении элемента выше (web:/win:/style:/#RRGGBB; шрифт — строка"style:X"или объект). - Текстовые параметры (
Текст/Заголовок/Формат) — по форме значения:- голая строка → нелокализованный литерал (
""→ пустое значение); - объект
{ "ru": "...", "en": "..." }→ локализуемая строка; - объект
{ "field": "путь" }→ ссылка на поле компоновки.
- голая строка → нелокализованный литерал (
"conditionalAppearance": [
{ "selection": ["Остаток"], "filter": ["Остаток < 0"],
"appearance": { "ЦветТекста": "web:Red", "Шрифт": { "bold": true } } },
{ "selection": ["Комментарий"], "filter": ["Комментарий notFilled"],
"appearance": { "Текст": { "ru": "— нет данных —" }, "ЦветТекста": "win:DisabledText" } }
]
Условное оформление самого дин-списка задаётся не здесь, а в
settings.conditionalAppearanceреквизита-списка — см.references/dynamic-list.md.