mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-11 13:33:41 +03:00
133 lines
8.4 KiB
Markdown
133 lines
8.4 KiB
Markdown
# Таблица — продвинутые возможности
|
||
|
||
Базовый элемент таблицы (`type: "table"`, колонки, основные свойства) описан в основной инструкции, раздел «Таблица (table)». Здесь — продвинутые возможности: дополнения командной панели, специфика таблицы динамического списка и неочевидные свойства/режимы.
|
||
|
||
## Представление (`representation`)
|
||
|
||
Как таблица рисует строки:
|
||
|
||
```json
|
||
{ "table": "Список", "path": "Список", "representation": "Tree" }
|
||
```
|
||
|
||
`List` — плоский список (по умолчанию), `Tree` — дерево, `HierarchicalList` — иерархический список (группы + элементы на одном уровне).
|
||
|
||
Для дерева/иерархии управляйте раскрытием уровней через `initialTreeView` (`ExpandTopLevel` / `ExpandAllLevels` / `NoExpand`).
|
||
|
||
## Выделение и текущая строка
|
||
|
||
| Ключ | Значения | Назначение |
|
||
|------|----------|-----------|
|
||
| `selectionMode` | `SingleRow` / `MultiRow` | Режим выделения строк |
|
||
| `multipleChoice` | bool | Разрешить множественный выбор (для форм выбора) |
|
||
| `currentRowUse` | `DontUse` / `Use` / `SelectionPresentation` / `SelectionPresentationAndChoice` / `Choice` | Использование текущей строки таблицы |
|
||
|
||
```json
|
||
{ "table": "Список", "path": "Список", "selectionMode": "MultiRow", "multipleChoice": true }
|
||
```
|
||
|
||
## Поиск при вводе (`searchOnInput`)
|
||
|
||
Поведение встроенного поиска при наборе текста в таблице:
|
||
|
||
```json
|
||
{ "table": "Список", "path": "Список", "searchOnInput": "Use" }
|
||
```
|
||
|
||
`Auto` (по умолчанию) / `Use` (искать) / `DontUse` (не искать).
|
||
|
||
Где располагать сами элементы поиска — управляется `searchStringLocation` / `viewStatusLocation` / `searchControlLocation` (`None` / `Top` / `Bottom` / `CommandBar` / `Auto`).
|
||
|
||
## Прочие свойства таблицы
|
||
|
||
| Ключ | Тип | Назначение |
|
||
|------|-----|-----------|
|
||
| `useAlternationRowColor` | bool | Чередование цвета строк |
|
||
| `verticalLines` / `horizontalLines` | bool | Линии сетки (укажите `false`, чтобы скрыть) |
|
||
| `markIncomplete` | bool | Автоотметка незаполненных ячеек |
|
||
| `heightInTableRows` | int | Высота элемента в строках (отдельно от `height`) |
|
||
| `autoInsertNewRow` | bool | Автодобавление новой строки при вводе в последнюю |
|
||
| `rowsPicture` | string \| object | Картинка строк. Ссылка (`"CommonPicture.X"`, `"abs:..."`) либо объект `{ src, loadTransparent?, transparentPixel? }` |
|
||
| `tooltipRepresentation` | string | Режим показа подсказки таблицы: `None`, `Button`, `ShowBottom`, `ShowTop`, `ShowLeft`, `ShowRight`, `ShowAuto`, `Balloon` |
|
||
|
||
## Фиксация колонки (`fixingInTable`)
|
||
|
||
Свойство **колонки** (на `input` / `labelField` / `check` / `picField` внутри `columns`), а не самой таблицы. Закрепляет колонку у края при горизонтальной прокрутке:
|
||
|
||
```json
|
||
{ "table": "Товары", "path": "Объект.Товары", "columns": [
|
||
{ "input": "Номенклатура", "path": "Объект.Товары.Номенклатура", "fixingInTable": "Left" },
|
||
{ "input": "Количество", "path": "Объект.Товары.Количество" }
|
||
]}
|
||
```
|
||
|
||
`Left` / `Right` / `None`.
|
||
|
||
## Исключённые команды (`excludedCommands`)
|
||
|
||
Убрать стандартные команды редактора таблицы (кнопки добавления/перемещения/сортировки):
|
||
|
||
```json
|
||
{ "table": "Товары", "path": "Объект.Товары",
|
||
"excludedCommands": [ "Add", "Delete", "MoveUp", "SortListAsc" ] }
|
||
```
|
||
|
||
Свойство работает на любом поле и на уровне формы; для таблицы значимы команды вида `Add` / `Delete` / `MoveUp` / `MoveDown` / `SortListAsc` / `SortListDesc`.
|
||
|
||
## Дополнения командной панели (`additions`)
|
||
|
||
Дополнения — это «представления» встроенного поиска таблицы:
|
||
|
||
- `searchString` — отображение строки поиска,
|
||
- `viewStatus` — состояние просмотра,
|
||
- `searchControl` — управление поиском.
|
||
|
||
Каждое дополнение — полноценный элемент (полный набор свойств поля). Размещать их можно двумя способами.
|
||
|
||
**(1) Стандартные дополнения** генерирует платформа на уровне таблицы. В DSL указывайте **только отклонения** от стандартного вида — через карту `additions` (ключ = тип дополнения):
|
||
|
||
```json
|
||
{ "table": "Список", "path": "Список",
|
||
"additions": { "viewStatus": { "horizontalLocation": "left" } } }
|
||
```
|
||
|
||
**(2) Кастомное дополнение**, размещённое прямо в командной панели — обычный элемент в `commandBar` с ключом-типом:
|
||
|
||
```json
|
||
{ "table": "Список", "path": "Список", "commandBar": [
|
||
{ "searchString": "ПоискСписка", "source": "Список", "width": 15, "horizontalStretch": true }
|
||
]}
|
||
```
|
||
|
||
- Тип-ключ: `searchString` / `viewStatus` / `searchControl`.
|
||
- `source` — имя таблицы-источника; необязательно, по умолчанию = имя родительской таблицы.
|
||
- `horizontalLocation`: `auto` (по умолчанию) / `left` / `right`. Применимо и к обычным элементам командных панелей.
|
||
- Прочие свойства как у поля: `title`, `visible`, `userVisible`, `enabled`, `tooltip`, оформление, `width` / `maxWidth` / `autoMaxWidth` / `horizontalStretch` / `groupHorizontalAlign` и др.
|
||
|
||
## Таблица динамического списка
|
||
|
||
Когда `path` таблицы указывает на реквизит `type: "DynamicList"` (см. `references/dynamic-list.md`), доступен блок специфичных свойств. Указывайте **только отличия** от умолчания.
|
||
|
||
| Ключ | Тип | Умолчание | Назначение |
|
||
|------|-----|-----------|-----------|
|
||
| `rowPictureDataPath` | string | картинка осн. таблицы | Путь к картинке строки. `""` — подавить картинку |
|
||
| `rowsPicture` | string | — | Картинка строк (`"CommonPicture.X"`) |
|
||
| `autoRefresh` | bool | `false` | Автообновление списка |
|
||
| `autoRefreshPeriod` | int | `60` | Период автообновления, сек |
|
||
| `updateOnDataChange` | string | `Auto` | Обновлять при изменении данных: `Auto` / `DontUpdate` |
|
||
| `choiceFoldersAndItems` | string | `Items` | Что выбирать: `Items` / `Folders` / `FoldersAndItems` |
|
||
| `restoreCurrentRow` | bool | `false` | Восстанавливать текущую строку при обновлении |
|
||
| `showRoot` | bool | `true` | Показывать корень |
|
||
| `allowRootChoice` | bool | `false` | Разрешить выбор корня |
|
||
| `allowGettingCurrentRowURL` | bool | `true` | Разрешить получение URL текущей строки |
|
||
| `userSettingsGroup` | string | — | Группа пользовательских настроек (привязка к одноимённой группе настроек) |
|
||
|
||
```json
|
||
{ "table": "Список", "path": "Список",
|
||
"representation": "Tree",
|
||
"rowPictureDataPath": "Список.DefaultPicture",
|
||
"choiceFoldersAndItems": "FoldersAndItems",
|
||
"allowRootChoice": true,
|
||
"updateOnDataChange": "DontUpdate" }
|
||
```
|