mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-15 07:15:17 +03:00
140 lines
8.3 KiB
Markdown
140 lines
8.3 KiB
Markdown
# Объектная форма реквизита и табличной части
|
|
|
|
Когда реквизиту (в `attributes` / `dimensions` / `resources` / колонках ТЧ) нужны свойства сверх
|
|
shorthand — вместо строки задаётся объект:
|
|
|
|
```json
|
|
{ "name": "Цена", "type": "Number(15,2)", "tooltip": "Цена за единицу", "fillValue": 0 }
|
|
```
|
|
|
|
`name` и `type` обязательны (тип можно задать и раздельно: `"type": "Number", "length": 15, "precision": 2`).
|
|
Остальные ключи — ниже, все со значением по умолчанию (не задавать, если устраивает дефолт).
|
|
|
|
## Свойства реквизита
|
|
|
|
| Ключ | Умолчание | Значения |
|
|
|------|-----------|----------|
|
|
| `synonym` | из имени | ML (строка или `{ru,en}`) |
|
|
| `tooltip` | пусто | ML |
|
|
| `comment` | пусто | строка |
|
|
| `fillChecking` | `DontCheck` | `DontCheck` / `ShowError` / `ShowWarning` (то же, что флаг `req`) |
|
|
| `fullTextSearch` | `Use` | `Use` / `DontUse` |
|
|
| `fillFromFillingValue` | `false` | bool |
|
|
| `fillValue` | по типу (см. ниже) | значение заполнения |
|
|
| `createOnInput` | `Auto` | `Auto` / `Use` / `DontUse` |
|
|
| `quickChoice` | `Auto` | `Auto` / `Use` / `DontUse` |
|
|
| `choiceHistoryOnInput` | `Auto` | `Auto` / `DontUse` |
|
|
| `dataHistory` | `Use` | `Use` / `DontUse` |
|
|
| `use` | `ForItem` | `ForItem` / `ForFolder` / `ForFolderAndItem` (реквизит иерархического справочника) |
|
|
| `passwordMode` | `false` | bool |
|
|
| `multiLine` | `false` | bool (то же, что флаг `multiline`) |
|
|
| `extendedEdit` | `false` | bool (расширенное редактирование — многострочный ввод) |
|
|
| `mask` | пусто | строка маски ввода |
|
|
| `format` / `editFormat` | пусто | форматная строка 1С (ML) |
|
|
| `markNegatives` | `false` | bool (выделять отрицательные, для Number) |
|
|
| `minValue` / `maxValue` | не задано | граница диапазона (см. ниже) |
|
|
| `choiceParameterLinks` | пусто | связи параметров выбора (см. ниже) |
|
|
| `choiceParameters` | пусто | параметры выбора (см. ниже) |
|
|
| `choiceForm` | пусто | ссылка на форму выбора `Тип.Объект.Form.ИмяФормы` |
|
|
| `choiceFoldersAndItems` | `Items` | `Items` / `Folders` / `FoldersAndItems` (что выбирать в иерарх. справочнике) |
|
|
|
|
Индексирование задаётся флагом `index` / `indexAdditional` в shorthand, либо в объекте — как и в строковой форме,
|
|
через `"type": "… | index"`.
|
|
|
|
### `fillValue` — значение заполнения
|
|
|
|
Пустое значение по типу компилятор подставляет сам — ключ **не задают**:
|
|
|
|
| Тип реквизита | Пустое значение |
|
|
|---------------|-----------------|
|
|
| String | пустая строка |
|
|
| Number | `0` |
|
|
| Boolean, Date, ссылочный, составной | не задано (nil) |
|
|
|
|
Ключ `fillValue` задают для **конкретного** значения — интерпретируется по типу реквизита:
|
|
|
|
- **Boolean** — `true` / `false`.
|
|
- **Number** — число (`21`, `1.5`).
|
|
- **String** — строка.
|
|
- **Date** — ISO-строка `"2020-01-01T00:00:00"`.
|
|
- **Ссылочный** — путь: `"Catalog.Валюты.EmptyRef"` (пустая ссылка), `"Enum.Периодичность.EnumValue.Месяц"`
|
|
(значение перечисления), `"Catalog.СтраныМира.Россия"` (предопределённый элемент).
|
|
- **`null`** — явно «значение не задано» (nil), когда нужно перекрыть непустой дефолт типа.
|
|
- **`{ "emptyRef": true }`** — пустая ссылка для реквизита типа `DefinedType.X` (когда тип из пути не выводится).
|
|
|
|
> Пустая ссылка (`EmptyRef`) и `null` — разное: платформа хранит их отдельно.
|
|
|
|
### `minValue` / `maxValue` — границы диапазона
|
|
|
|
Число → числовая граница; строка → строковая (напр. год `"2000"`). Без ключа — граница не задана.
|
|
|
|
### `choiceParameterLinks` — связи параметров выбора
|
|
|
|
Связывают параметр выбора этого реквизита с другим реквизитом объекта. Массив строк или объектов:
|
|
|
|
```json
|
|
"choiceParameterLinks": ["Отбор.Организация=Организация", "Отбор.Договор=Договор:DontChange"]
|
|
"choiceParameterLinks": [{ "name": "Отбор.Организация", "dataPath": "Организация", "valueChange": "Clear" }]
|
|
```
|
|
|
|
- `dataPath` — реквизит **того же объекта**: имя обычного реквизита (`"Организация"`) или стандартного
|
|
(`"Владелец"`, `"Ссылка"`).
|
|
- `valueChange` — `Clear` (по умолчанию) / `DontChange`.
|
|
|
|
### `choiceParameters` — параметры выбора
|
|
|
|
Фиксируют параметр выбора значением. Массив строк или объектов:
|
|
|
|
```json
|
|
"choiceParameters": ["Отбор.ЭтоГруппа=false"]
|
|
"choiceParameters": [{ "name": "Отбор.Владелец", "value": "Catalog.Организации.EmptyRef" }]
|
|
```
|
|
|
|
- `value` — bool / число / строка / ссылочный путь (несёт тип) ИЛИ массив (список фиксированных значений).
|
|
- Для набора голых имён-значений добавьте `type` (тип поля-фильтра), чтобы они стали ссылками:
|
|
`{ "name": "Отбор.Тип", "type": "EnumRef.ТипыВЕТИС", "value": ["EmptyRef", "ТТН"] }`.
|
|
|
|
### Редкие ключи
|
|
|
|
`linkByType` — связь по типу (тип реквизита-Характеристики берётся из другого реквизита):
|
|
`{ "dataPath": "Свойство", "linkItem": 0 }` или строка-путь. Применяется для реквизитов-характеристик.
|
|
|
|
---
|
|
|
|
## Табличная часть — объектная форма
|
|
|
|
Значение в `tabularSections` — массив колонок ЛИБО объект со свойствами самой ТЧ:
|
|
|
|
```json
|
|
"tabularSections": {
|
|
"Товары": {
|
|
"synonym": { "ru": "Товары", "en": "Goods" },
|
|
"tooltip": "Строки заказа",
|
|
"fillChecking": "ShowError",
|
|
"attributes": ["Номенклатура: CatalogRef.Номенклатура", "Количество: Number(15,3)"]
|
|
}
|
|
}
|
|
```
|
|
|
|
| Ключ | Умолчание | Значения |
|
|
|------|-----------|----------|
|
|
| `synonym` | из имени | ML |
|
|
| `tooltip` | пусто | ML |
|
|
| `comment` | пусто | строка |
|
|
| `fillChecking` | `DontCheck` | `DontCheck` / `ShowError` / `ShowWarning` (обязательность заполнения ТЧ) |
|
|
| `use` | `ForItem` | `ForItem` / `ForFolder` / `ForFolderAndItem` (только Catalog / ChartOfCharacteristicTypes) |
|
|
| `attributes` | `[]` | колонки (shorthand или объектная форма реквизита) |
|
|
| `lineNumber` | — | кастомизация стандартного реквизита НомерСтроки (см. ниже) |
|
|
|
|
### `lineNumber` — стандартный реквизит НомерСтроки
|
|
|
|
У каждой ТЧ есть стандартный реквизит НомерСтроки. По умолчанию все его свойства типовые. Ключ `lineNumber`
|
|
на объектной форме ТЧ их переопределяет:
|
|
|
|
```json
|
|
"Строки": { "lineNumber": { "synonym": "Номер п/п", "fullTextSearch": "DontUse" }, "attributes": [...] }
|
|
```
|
|
|
|
Переопределяемые: `synonym`, `comment`, `fullTextSearch` (`Use`/`DontUse`), `tooltip`, `format`, `editFormat`,
|
|
`choiceHistoryOnInput` (`Auto`/`DontUse`).
|