mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-17 00:05:17 +03:00
Add /meta-compile skill: JSON DSL → 1C metadata XML
Supports 6 types: Catalog, Document, Enum, Constant, InformationRegister, AccumulationRegister. Includes DSL spec, SKILL.md, and PowerShell compiler with CamelCase auto-synonyms, shorthand attribute syntax, Russian type aliases, Configuration.xml auto-registration, and module scaffolding. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,126 @@
|
|||||||
|
---
|
||||||
|
name: meta-compile
|
||||||
|
description: Компиляция объекта метаданных 1С (Справочник, Документ, Перечисление, Константа, Регистр) из компактного JSON-определения
|
||||||
|
argument-hint: <JsonPath> <OutputDir>
|
||||||
|
allowed-tools:
|
||||||
|
- Bash
|
||||||
|
- Read
|
||||||
|
- Write
|
||||||
|
- Glob
|
||||||
|
---
|
||||||
|
|
||||||
|
# /meta-compile — генерация объектов метаданных из JSON DSL
|
||||||
|
|
||||||
|
Принимает JSON-определение объекта метаданных → генерирует XML + модули в структуре выгрузки конфигурации + регистрирует в Configuration.xml.
|
||||||
|
|
||||||
|
## Параметры и команда
|
||||||
|
|
||||||
|
| Параметр | Описание |
|
||||||
|
|----------|----------|
|
||||||
|
| `JsonPath` | Путь к JSON-определению объекта |
|
||||||
|
| `OutputDir` | Корневая директория выгрузки конфигурации (где `Catalogs/`, `Documents/` и т.д.) |
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
powershell.exe -NoProfile -File .claude\skills\meta-compile\scripts\meta-compile.ps1 -JsonPath "<json>" -OutputDir "<ConfigDir>"
|
||||||
|
```
|
||||||
|
|
||||||
|
`OutputDir` — директория, содержащая подпапки `Catalogs/`, `Documents/`, `Enums/`, `Constants/`, `InformationRegisters/`, `AccumulationRegisters/`, а также `Configuration.xml`.
|
||||||
|
|
||||||
|
## Поддерживаемые типы
|
||||||
|
|
||||||
|
Catalog (Справочник), Document (Документ), Enum (Перечисление), Constant (Константа), InformationRegister (РегистрСведений), AccumulationRegister (РегистрНакопления).
|
||||||
|
|
||||||
|
## JSON DSL — краткий справочник
|
||||||
|
|
||||||
|
Полная спецификация: `docs/meta-dsl-spec.md`.
|
||||||
|
|
||||||
|
### Корневая структура
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"type": "Catalog",
|
||||||
|
"name": "Номенклатура",
|
||||||
|
"synonym": "авто из name",
|
||||||
|
...type-specific...,
|
||||||
|
"attributes": [...],
|
||||||
|
"tabularSections": {...}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Реквизиты — shorthand
|
||||||
|
|
||||||
|
```
|
||||||
|
"ИмяРеквизита" — String без квалификаторов
|
||||||
|
"ИмяРеквизита: Тип" — с типом
|
||||||
|
"ИмяРеквизита: Тип | req, index" — с флагами
|
||||||
|
```
|
||||||
|
|
||||||
|
Типы: `String(100)`, `Number(15,2)`, `Boolean`, `Date`, `DateTime`, `CatalogRef.Xxx`, `DocumentRef.Xxx`, `EnumRef.Xxx`, `DefinedType.Xxx`. Русские синонимы: `Строка(100)`, `Число(15,2)`, `Булево`, `Дата`, `СправочникСсылка.Xxx`.
|
||||||
|
|
||||||
|
Флаги: `req` (обязательное), `index`, `indexAdditional`, `nonneg`, `master`, `mainFilter`, `denyIncomplete`, `useInTotals`.
|
||||||
|
|
||||||
|
### Табличные части (Catalog, Document)
|
||||||
|
|
||||||
|
```json
|
||||||
|
"tabularSections": {
|
||||||
|
"Товары": ["Номенклатура: CatalogRef.Xxx | req", "Количество: Number(10,3)"]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Перечисления
|
||||||
|
|
||||||
|
```json
|
||||||
|
"values": ["Приход", "Расход", { "name": "НДС20", "synonym": "НДС 20%" }]
|
||||||
|
```
|
||||||
|
|
||||||
|
### Измерения и ресурсы (регистры)
|
||||||
|
|
||||||
|
```json
|
||||||
|
"dimensions": ["Организация: CatalogRef.Xxx | master, mainFilter"],
|
||||||
|
"resources": ["Количество: Number(15,3)"]
|
||||||
|
```
|
||||||
|
|
||||||
|
## Примеры
|
||||||
|
|
||||||
|
### Минимальный справочник
|
||||||
|
|
||||||
|
```json
|
||||||
|
{ "type": "Catalog", "name": "Валюты" }
|
||||||
|
```
|
||||||
|
|
||||||
|
### Перечисление
|
||||||
|
|
||||||
|
```json
|
||||||
|
{ "type": "Enum", "name": "Статусы", "values": ["Новый", "Закрыт"] }
|
||||||
|
```
|
||||||
|
|
||||||
|
### Константа
|
||||||
|
|
||||||
|
```json
|
||||||
|
{ "type": "Constant", "name": "ОсновнаяВалюта", "valueType": "CatalogRef.Валюты" }
|
||||||
|
```
|
||||||
|
|
||||||
|
### Регистр сведений
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"type": "InformationRegister",
|
||||||
|
"name": "КурсыВалют",
|
||||||
|
"periodicity": "Day",
|
||||||
|
"dimensions": ["Валюта: CatalogRef.Валюты | master, mainFilter, denyIncomplete"],
|
||||||
|
"resources": ["Курс: Number(15,4)", "Кратность: Number(10,0)"]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Что генерируется
|
||||||
|
|
||||||
|
- `{OutputDir}/{TypePlural}/{Name}.xml` — метаданные объекта
|
||||||
|
- `{OutputDir}/{TypePlural}/{Name}/Ext/ObjectModule.bsl` — пустой модуль (Catalog, Document)
|
||||||
|
- `{OutputDir}/{TypePlural}/{Name}/Ext/RecordSetModule.bsl` — пустой модуль (регистры)
|
||||||
|
- `Configuration.xml` — автоматическая регистрация в `<ChildObjects>`
|
||||||
|
|
||||||
|
## Верификация
|
||||||
|
|
||||||
|
```
|
||||||
|
/meta-info <OutputDir>/<TypePlural>/<Name>.xml — проверка структуры
|
||||||
|
```
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,412 @@
|
|||||||
|
# Meta DSL — спецификация JSON-формата для объектов метаданных 1С
|
||||||
|
|
||||||
|
Версия: 1.0
|
||||||
|
|
||||||
|
## Обзор
|
||||||
|
|
||||||
|
JSON DSL для описания объектов метаданных конфигурации 1С. Компактный формат компилируется в полноценный XML, совместимый с выгрузкой конфигурации 1С:Предприятие 8.3.
|
||||||
|
|
||||||
|
Поддерживаемые типы (Фаза 1): **Catalog**, **Document**, **Enum**, **Constant**, **InformationRegister**, **AccumulationRegister**.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Корневая структура
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"type": "Catalog",
|
||||||
|
"name": "Номенклатура",
|
||||||
|
"synonym": "авто из name",
|
||||||
|
"comment": "",
|
||||||
|
...type-specific properties...,
|
||||||
|
"attributes": [...],
|
||||||
|
"tabularSections": {...}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
| Поле | Тип | Обязательное | Описание |
|
||||||
|
|------|-----|-------------|----------|
|
||||||
|
| `type` | string | да | Тип объекта (см. §8) |
|
||||||
|
| `name` | string | да | Имя объекта (идентификатор 1С) |
|
||||||
|
| `synonym` | string | нет | Синоним; если не указан — авто из CamelCase (§2) |
|
||||||
|
| `comment` | string | нет | Комментарий |
|
||||||
|
|
||||||
|
Дополнительные поля зависят от типа (§7).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. Автогенерация синонима (CamelCase → слова)
|
||||||
|
|
||||||
|
Если `synonym` не указан, имя автоматически разбивается на слова:
|
||||||
|
|
||||||
|
| Вход | Результат |
|
||||||
|
|------|-----------|
|
||||||
|
| `АвансовыйОтчет` | `Авансовый отчет` |
|
||||||
|
| `ОсновнаяВалюта` | `Основная валюта` |
|
||||||
|
| `НДС20` | `НДС20` |
|
||||||
|
| `IncomingDocument` | `Incoming document` |
|
||||||
|
|
||||||
|
Правила:
|
||||||
|
- Граница на переходе `[а-яё][А-ЯЁ]` и `[a-z][A-Z]`
|
||||||
|
- Первое слово сохраняет заглавную, остальные — строчные
|
||||||
|
- Явный `synonym` перекрывает автогенерацию
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. Система типов
|
||||||
|
|
||||||
|
Совместима с skd-compile.
|
||||||
|
|
||||||
|
### 3.1 Примитивные типы
|
||||||
|
|
||||||
|
| DSL | XML |
|
||||||
|
|-----|-----|
|
||||||
|
| `String` или `String(100)` | `xs:string` + StringQualifiers |
|
||||||
|
| `Number(15,2)` | `xs:decimal` + NumberQualifiers |
|
||||||
|
| `Number(10,0,nonneg)` | `xs:decimal` + AllowedSign=Nonnegative |
|
||||||
|
| `Boolean` | `xs:boolean` |
|
||||||
|
| `Date` | `xs:dateTime` + DateFractions=Date |
|
||||||
|
| `DateTime` | `xs:dateTime` + DateFractions=DateTime |
|
||||||
|
|
||||||
|
### 3.2 Ссылочные типы
|
||||||
|
|
||||||
|
| DSL | XML |
|
||||||
|
|-----|-----|
|
||||||
|
| `CatalogRef.Xxx` | `cfg:CatalogRef.Xxx` |
|
||||||
|
| `DocumentRef.Xxx` | `cfg:DocumentRef.Xxx` |
|
||||||
|
| `EnumRef.Xxx` | `cfg:EnumRef.Xxx` |
|
||||||
|
| `ChartOfAccountsRef.Xxx` | `cfg:ChartOfAccountsRef.Xxx` |
|
||||||
|
| `DefinedType.Xxx` | `cfg:DefinedType.Xxx` (через `v8:TypeSet`) |
|
||||||
|
|
||||||
|
### 3.3 Русские синонимы типов
|
||||||
|
|
||||||
|
| Русский | Канонический |
|
||||||
|
|---------|-------------|
|
||||||
|
| `Строка(100)` | `String(100)` |
|
||||||
|
| `Число(15,2)` | `Number(15,2)` |
|
||||||
|
| `Булево` | `Boolean` |
|
||||||
|
| `Дата` | `Date` |
|
||||||
|
| `ДатаВремя` | `DateTime` |
|
||||||
|
| `СправочникСсылка.Xxx` | `CatalogRef.Xxx` |
|
||||||
|
| `ДокументСсылка.Xxx` | `DocumentRef.Xxx` |
|
||||||
|
| `ПеречислениеСсылка.Xxx` | `EnumRef.Xxx` |
|
||||||
|
| `ПланСчетовСсылка.Xxx` | `ChartOfAccountsRef.Xxx` |
|
||||||
|
| `ОпределяемыйТип.Xxx` | `DefinedType.Xxx` |
|
||||||
|
|
||||||
|
Регистронезависимые.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. Сокращённая запись реквизитов
|
||||||
|
|
||||||
|
### 4.1 Строковая форма
|
||||||
|
|
||||||
|
```
|
||||||
|
"ИмяРеквизита" → String (без квалификаторов)
|
||||||
|
"ИмяРеквизита: Тип" → с типом
|
||||||
|
"ИмяРеквизита: Тип | req, index" → с флагами
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4.2 Объектная форма
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"name": "Имя",
|
||||||
|
"type": "String(100)",
|
||||||
|
"synonym": "Мой синоним",
|
||||||
|
"comment": "Комментарий",
|
||||||
|
"fillChecking": "ShowError",
|
||||||
|
"indexing": "Index"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4.3 Флаги
|
||||||
|
|
||||||
|
| Флаг | Действие | Применимость |
|
||||||
|
|------|---------|-------------|
|
||||||
|
| `req` | FillChecking = ShowError | attributes, dimensions, resources |
|
||||||
|
| `index` | Indexing = Index | attributes, dimensions |
|
||||||
|
| `indexAdditional` | Indexing = IndexWithAdditionalOrder | attributes |
|
||||||
|
| `nonneg` | MinValue = 0 (+ nonneg для Number) | attributes, resources |
|
||||||
|
| `master` | Master = true | dimensions (РС) |
|
||||||
|
| `mainFilter` | MainFilter = true | dimensions (РС) |
|
||||||
|
| `denyIncomplete` | DenyIncompleteValues = true | dimensions |
|
||||||
|
| `useInTotals` | UseInTotals = true | dimensions (РН) |
|
||||||
|
|
||||||
|
Флаги разделяются запятой после `|`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5. Табличные части
|
||||||
|
|
||||||
|
Только для Catalog и Document.
|
||||||
|
|
||||||
|
```json
|
||||||
|
"tabularSections": {
|
||||||
|
"Товары": [
|
||||||
|
"Номенклатура: CatalogRef.Номенклатура | req",
|
||||||
|
"Количество: Number(10,3)",
|
||||||
|
"Цена: Number(15,2)",
|
||||||
|
"Сумма: Number(15,2)"
|
||||||
|
],
|
||||||
|
"Услуги": [
|
||||||
|
"Описание: String(200)"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Ключ — имя табличной части, значение — массив реквизитов (в строковой или объектной форме).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 6. Значения перечислений
|
||||||
|
|
||||||
|
Только для Enum.
|
||||||
|
|
||||||
|
```json
|
||||||
|
"values": [
|
||||||
|
"Приход",
|
||||||
|
"Расход",
|
||||||
|
{ "name": "НДС20", "synonym": "НДС 20%" }
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
Строка — имя (синоним авто из CamelCase). Объект — полная форма.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 7. Свойства по типам
|
||||||
|
|
||||||
|
### 7.1 Catalog
|
||||||
|
|
||||||
|
| Поле JSON | Умолчание | XML элемент |
|
||||||
|
|-----------|----------|-------------|
|
||||||
|
| `hierarchical` | `false` | Hierarchical |
|
||||||
|
| `hierarchyType` | `HierarchyFoldersAndItems` | HierarchyType |
|
||||||
|
| `codeLength` | `9` | CodeLength |
|
||||||
|
| `codeType` | `String` | CodeType |
|
||||||
|
| `codeAllowedLength` | `Variable` | CodeAllowedLength |
|
||||||
|
| `descriptionLength` | `25` | DescriptionLength |
|
||||||
|
| `autonumbering` | `true` | Autonumbering |
|
||||||
|
| `checkUnique` | `false` | CheckUnique |
|
||||||
|
| `defaultPresentation` | `AsDescription` | DefaultPresentation |
|
||||||
|
| `dataLockControlMode` | `Automatic` | DataLockControlMode |
|
||||||
|
| `fullTextSearch` | `Use` | FullTextSearch |
|
||||||
|
| `owners` | `[]` | Owners |
|
||||||
|
| `attributes` | `[]` | → Attribute в ChildObjects |
|
||||||
|
| `tabularSections` | `{}` | → TabularSection в ChildObjects |
|
||||||
|
|
||||||
|
### 7.2 Document
|
||||||
|
|
||||||
|
| Поле JSON | Умолчание | XML элемент |
|
||||||
|
|-----------|----------|-------------|
|
||||||
|
| `numberType` | `String` | NumberType |
|
||||||
|
| `numberLength` | `11` | NumberLength |
|
||||||
|
| `numberAllowedLength` | `Variable` | NumberAllowedLength |
|
||||||
|
| `numberPeriodicity` | `Year` | NumberPeriodicity |
|
||||||
|
| `checkUnique` | `true` | CheckUnique |
|
||||||
|
| `autonumbering` | `true` | Autonumbering |
|
||||||
|
| `posting` | `Allow` | Posting |
|
||||||
|
| `realTimePosting` | `Deny` | RealTimePosting |
|
||||||
|
| `registerRecordsDeletion` | `AutoDelete` | RegisterRecordsDeletion |
|
||||||
|
| `registerRecordsWritingOnPost` | `WriteModified` | RegisterRecordsWritingOnPost |
|
||||||
|
| `postInPrivilegedMode` | `true` | PostInPrivilegedMode |
|
||||||
|
| `unpostInPrivilegedMode` | `true` | UnpostInPrivilegedMode |
|
||||||
|
| `dataLockControlMode` | `Automatic` | DataLockControlMode |
|
||||||
|
| `fullTextSearch` | `Use` | FullTextSearch |
|
||||||
|
| `registerRecords` | `[]` | RegisterRecords |
|
||||||
|
| `attributes` | `[]` | → Attribute в ChildObjects |
|
||||||
|
| `tabularSections` | `{}` | → TabularSection в ChildObjects |
|
||||||
|
|
||||||
|
### 7.3 Enum
|
||||||
|
|
||||||
|
| Поле JSON | Умолчание | XML элемент |
|
||||||
|
|-----------|----------|-------------|
|
||||||
|
| `values` | `[]` | → EnumValue в ChildObjects |
|
||||||
|
|
||||||
|
Других настраиваемых свойств нет — все дефолтные.
|
||||||
|
|
||||||
|
### 7.4 Constant
|
||||||
|
|
||||||
|
| Поле JSON | Умолчание | XML элемент |
|
||||||
|
|-----------|----------|-------------|
|
||||||
|
| `valueType` | `String` | Type |
|
||||||
|
| `dataLockControlMode` | `Automatic` | DataLockControlMode |
|
||||||
|
|
||||||
|
### 7.5 InformationRegister
|
||||||
|
|
||||||
|
| Поле JSON | Умолчание | XML элемент |
|
||||||
|
|-----------|----------|-------------|
|
||||||
|
| `writeMode` | `Independent` | WriteMode |
|
||||||
|
| `periodicity` | `Nonperiodical` | InformationRegisterPeriodicity |
|
||||||
|
| `mainFilterOnPeriod` | авто* | MainFilterOnPeriod |
|
||||||
|
| `dataLockControlMode` | `Automatic` | DataLockControlMode |
|
||||||
|
| `fullTextSearch` | `Use` | FullTextSearch |
|
||||||
|
| `dimensions` | `[]` | → Dimension в ChildObjects |
|
||||||
|
| `resources` | `[]` | → Resource в ChildObjects |
|
||||||
|
| `attributes` | `[]` | → Attribute в ChildObjects |
|
||||||
|
|
||||||
|
\* `mainFilterOnPeriod` = `true` если `periodicity` != `Nonperiodical`, иначе `false`.
|
||||||
|
|
||||||
|
### 7.6 AccumulationRegister
|
||||||
|
|
||||||
|
| Поле JSON | Умолчание | XML элемент |
|
||||||
|
|-----------|----------|-------------|
|
||||||
|
| `registerType` | `Balance` | RegisterType |
|
||||||
|
| `enableTotalsSplitting` | `true` | EnableTotalsSplitting |
|
||||||
|
| `dataLockControlMode` | `Automatic` | DataLockControlMode |
|
||||||
|
| `fullTextSearch` | `Use` | FullTextSearch |
|
||||||
|
| `dimensions` | `[]` | → Dimension в ChildObjects |
|
||||||
|
| `resources` | `[]` | → Resource в ChildObjects |
|
||||||
|
| `attributes` | `[]` | → Attribute в ChildObjects |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 8. Русские синонимы типов объектов
|
||||||
|
|
||||||
|
| Русский | Канонический |
|
||||||
|
|---------|-------------|
|
||||||
|
| `Справочник` | `Catalog` |
|
||||||
|
| `Документ` | `Document` |
|
||||||
|
| `Перечисление` | `Enum` |
|
||||||
|
| `Константа` | `Constant` |
|
||||||
|
| `РегистрСведений` | `InformationRegister` |
|
||||||
|
| `РегистрНакопления` | `AccumulationRegister` |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 9. RegisterRecords для документов
|
||||||
|
|
||||||
|
```json
|
||||||
|
"registerRecords": [
|
||||||
|
"AccumulationRegister.Продажи",
|
||||||
|
"InformationRegister.Цены"
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
Или с русскими синонимами: `"РегистрНакопления.Продажи"`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 10. Измерения и ресурсы регистров
|
||||||
|
|
||||||
|
Синтаксис аналогичен реквизитам (§4), но с дополнительными флагами:
|
||||||
|
|
||||||
|
### Измерения (dimensions)
|
||||||
|
|
||||||
|
```json
|
||||||
|
"dimensions": [
|
||||||
|
"Организация: CatalogRef.Организации | master, mainFilter, denyIncomplete",
|
||||||
|
"Номенклатура: CatalogRef.Номенклатура"
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
### Ресурсы (resources)
|
||||||
|
|
||||||
|
```json
|
||||||
|
"resources": [
|
||||||
|
"Количество: Number(15,3)",
|
||||||
|
"Сумма: Number(15,2)"
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
Флаг `useInTotals` — только для измерений AccumulationRegister (по умолчанию `true`).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 11. Примеры
|
||||||
|
|
||||||
|
### Минимальные
|
||||||
|
|
||||||
|
```json
|
||||||
|
{ "type": "Catalog", "name": "Валюты" }
|
||||||
|
```
|
||||||
|
|
||||||
|
```json
|
||||||
|
{ "type": "Enum", "name": "Статусы", "values": ["Новый", "Закрыт"] }
|
||||||
|
```
|
||||||
|
|
||||||
|
```json
|
||||||
|
{ "type": "Constant", "name": "ОсновнаяВалюта", "valueType": "CatalogRef.Валюты" }
|
||||||
|
```
|
||||||
|
|
||||||
|
### Справочник с реквизитами и табличной частью
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"type": "Catalog",
|
||||||
|
"name": "Номенклатура",
|
||||||
|
"codeLength": 11,
|
||||||
|
"descriptionLength": 100,
|
||||||
|
"hierarchical": true,
|
||||||
|
"attributes": [
|
||||||
|
"Артикул: String(25)",
|
||||||
|
"ЕдиницаИзмерения: CatalogRef.ЕдиницыИзмерения | req",
|
||||||
|
"ВидНоменклатуры: EnumRef.ВидыНоменклатуры",
|
||||||
|
"Цена: Number(15,2)"
|
||||||
|
],
|
||||||
|
"tabularSections": {
|
||||||
|
"Штрихкоды": [
|
||||||
|
"Штрихкод: String(200) | req, index"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Документ с движениями
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"type": "Document",
|
||||||
|
"name": "РеализацияТоваров",
|
||||||
|
"posting": "Allow",
|
||||||
|
"registerRecords": ["AccumulationRegister.Продажи"],
|
||||||
|
"attributes": [
|
||||||
|
"Организация: CatalogRef.Организации | req",
|
||||||
|
"Контрагент: CatalogRef.Контрагенты | req",
|
||||||
|
"Склад: CatalogRef.Склады"
|
||||||
|
],
|
||||||
|
"tabularSections": {
|
||||||
|
"Товары": [
|
||||||
|
"Номенклатура: CatalogRef.Номенклатура | req",
|
||||||
|
"Количество: Number(15,3)",
|
||||||
|
"Цена: Number(15,2)",
|
||||||
|
"Сумма: Number(15,2)"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Регистр сведений с периодичностью
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"type": "InformationRegister",
|
||||||
|
"name": "КурсыВалют",
|
||||||
|
"periodicity": "Day",
|
||||||
|
"dimensions": [
|
||||||
|
"Валюта: CatalogRef.Валюты | master, mainFilter, denyIncomplete"
|
||||||
|
],
|
||||||
|
"resources": [
|
||||||
|
"Курс: Number(15,4)",
|
||||||
|
"Кратность: Number(10,0)"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Регистр накопления
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"type": "AccumulationRegister",
|
||||||
|
"name": "ОстаткиТоваров",
|
||||||
|
"registerType": "Balance",
|
||||||
|
"dimensions": [
|
||||||
|
"Номенклатура: CatalogRef.Номенклатура",
|
||||||
|
"Склад: CatalogRef.Склады"
|
||||||
|
],
|
||||||
|
"resources": [
|
||||||
|
"Количество: Number(15,3)"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user