7.2 KiB
Оформление: шрифты, стили, колонки
Оформление в табличном документе — одна сущность на всех: ячейка, строка и колонка ссылаются
на один и тот же именованный стиль. Ячейка — ключом style, строка — rowStyle, колонка —
через columnStyles.
Шрифты (fonts.<name>)
| Поле | По умолч. | Описание |
|---|---|---|
face |
"Arial" |
Имя шрифта |
size |
10 |
Размер (бывает дробным: 8.3) |
bold |
false |
Жирный |
italic |
false |
Курсив |
underline |
false |
Подчёркнутый |
strikeout |
false |
Зачёркнутый |
Шрифт "default" используется, когда стиль не указывает шрифт явно. Если не определён,
создаётся автоматически (Arial 10).
Вместо собственного описания шрифт может быть ссылкой — на элемент стиля конфигурации или на системный шрифт. Тогда у него единственное поле:
"fonts": {
"основной": { "ref": "style:TextFont" },
"системный": { "ref": "sys:DefaultGUIFont" }
}
Это та же запись, что у шрифта в описании формы.
Стили (styles.<name>)
Ключ стиля — имя свойства так, как оно называется в выгрузке. Ниже частые; полный список
из 44 свойств — в format-properties.md.
| Поле | Описание |
|---|---|
font |
Ссылка на имя из fonts |
horizontalAlignment |
Left, Center, Right, Justify, Auto |
verticalAlignment |
Top, Center, Bottom |
textPlacement |
Что делать с длинным текстом: Wrap (перенос), Cut (обрезать), Block, Auto |
backColor |
Цвет фона (см. «Цвет») |
textColor |
Цвет текста |
border, leftBorder, topBorder, rightBorder, bottomBorder |
Рамка (см. «Рамка») |
borderColor |
Цвет рамки |
format |
Формат данных 1С: "ЧЦ=15; ЧДЦ=2", "ДФ=dd.MM.yyyy" |
hidden |
Скрыть |
protection |
Защита от редактирования |
indent |
Отступ |
textOrientation |
Поворот текста, в десятых долях градуса (900 = 90°) |
Значения перечислений регистр не различают: "center" и "Center" равнозначны.
"styles": {
"шапка": {
"font": "жирный",
"horizontalAlignment": "Center",
"verticalAlignment": "Center",
"textPlacement": "Wrap",
"backColor": "#EBEBEB"
},
"итог": { "font": "жирный", "topBorder": "Solid", "horizontalAlignment": "Right" }
}
Цвет
Строка в одной из четырёх форм — это нотация самой платформы:
| Форма | Значение |
|---|---|
#RRGGBB |
RGB-hex, напр. #FFFFC0 |
style:ИмяСтиля |
Элемент стиля конфигурации или платформы, напр. style:FormBackColor |
web:Имя |
Цвет из web-палитры, напр. web:Gainsboro, web:FireBrick |
win:Имя |
Системный цвет Windows, напр. win:ButtonText |
Имя должно существовать в своей палитре — несуществующее платформа отвергнет при загрузке.
Рамка
Пять ключей: border — все четыре стороны сразу, leftBorder / topBorder / rightBorder /
bottomBorder — по отдельности. Значение одинаковое у всех:
| Запись | Значение |
|---|---|
"Solid" |
Стиль линии, ширина 1 |
{ "style": "Solid", "width": 2 } |
Стиль и ширина |
Стили линии: Solid, None, Dotted, ThinDashed, LargeDashed, ThickDashed, Double.
Задавать стороны по отдельности можно всегда: если все четыре совпали, компилятор сам свернёт
их в один border — так это хранит платформа.
"рамка-снизу": { "bottomBorder": "Dotted" },
"рамка-вокруг": { "border": { "style": "Solid", "width": 2 } }
Колоночные раскладки (columnSets)
Группа строк может иметь собственные ширины колонок — в 1С это «индивидуальная ширина колонок».
Документные columns и columnWidths описывают раскладку по умолчанию; дополнительные
объявляются в columnSets, а область ссылается на нужную ключом columnSet — так же, как
ячейка ссылается на styles через style.
{
"columns": 52,
"columnWidths": { "1": 8 },
"columnSets": {
"таблица": { "columns": 52, "columnWidths": { "1": 7, "2-52": 24 } }
},
"areas": [
{ "name": "Шапка", "rows": [ ] },
{ "name": "ТабличнаяЧасть", "columnSet": "таблица", "rows": [ ] }
]
}
Раскладка описывается той же парой полей, что и документная: columns — количество колонок
(у раскладок оно обычно разное), columnWidths — ширины. Ключ словаря — имя раскладки;
в макетах, полученных декомпиляцией, это идентификатор из исходного файла, при описании
с нуля — любая строка.
Все строки области получают раскладку области, поэтому одна область не может смешивать
раскладки. Позиции колонок (col, span) проверяются по ширине раскладки СВОЕЙ области,
а не документной.
Ссылка на необъявленную раскладку → ненулевой код выхода и сообщение в stderr.
Стиль колонки (columnStyles)
Колонка несёт то же оформление, что ячейка и строка. Ключи — та же грамматика диапазонов,
что у columnWidths; значение — имя стиля.
"columnWidths": { "1": 30, "2-3": 15 },
"columnStyles": { "1": "по-центру", "4": "скрытая" }
Внутри columnSets работает тот же ключ. Ширина и стиль независимы: колонка может иметь
только ширину, только стиль или и то, и другое.