mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-11 22:13:20 +03:00
fix(meta-compile,meta-validate): канон стандартных реквизитов регистров
Справочник порядка StandardAttributes был неполон у трёх видов регистров, а неизвестные имена эмитятся перед фикс-списком — платформа их вкрапляет, и роундтрип переставал быть побайтовым. Порядок снят с выгрузки платформы, присутствие условных реквизитов теперь выводится из свойств объекта (periodAdjustmentLength, correspondence, registerType), а не из наличия ключа в DSL: иначе регистр, создаваемый с нуля, терял реквизит, который платформа обязана материализовать. Наличие ключа осталось дополняющим условием, чтобы роундтрип не зависел от точности вывода. - регистр расчёта: 11 реквизитов, состав безусловен (проверено матрицей actionPeriod × basePeriod × периодичность на 8.3.27) - регистр бухгалтерии: PeriodAdjustment при длине периода корректировки > 0, RecordType при correspondence=false - регистр накопления: RecordType только у регистра остатков meta-validate: снято ложное предупреждение об «unexpected» RecordType у бухрегистра, условные реквизиты исключены из проверки missing. Проверка: 739 регистров по шести конфигурациям — 0 расхождений; снэпшоты пересняты и верифицированы загрузкой в 1С. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
707a5c293f
commit
16199deb92
+14
-2
@@ -944,6 +944,9 @@ choiceParameters/indexing/fullTextSearch/dataHistory/…, см. §3–4). При
|
||||
Признаки измерения — флаги shorthand (`denyIncomplete`, `nouseintotals`) ЛИБО object-ключи (`denyIncompleteValues`,
|
||||
`useInTotals`: bool, дефолт true). Ресурс РН НЕ имеет `<Indexing>` (только `<FullTextSearch>`).
|
||||
|
||||
Стандартные реквизиты РН: RecordType, Active, LineNumber, Recorder, Period — в этом порядке.
|
||||
`RecordType` есть только у регистра остатков (`registerType=Balance`); у оборотного его нет.
|
||||
|
||||
### 7.6a AccountingRegister (Регистр бухгалтерии)
|
||||
|
||||
| Поле JSON | Умолчание | XML элемент |
|
||||
@@ -957,8 +960,13 @@ choiceParameters/indexing/fullTextSearch/dataHistory/…, см. §3–4). При
|
||||
| `dimensions` / `resources` / `attributes` / `commands` | `[]` | → ChildObjects |
|
||||
|
||||
Измерения/ресурсы РБ несут `balance` (bool), `accountingFlag` (ссылка `ChartOfAccounts.X.AccountingFlag.Y`);
|
||||
ресурсы дополнительно `extDimensionAccountingFlag`, измерения — `denyIncompleteValues`. Стандартные реквизиты
|
||||
ExtDimension1..N связаны с Account через `linkByType` (в блоке `standardAttributes`, §7.1.1; DataPath полный).
|
||||
ресурсы дополнительно `extDimensionAccountingFlag`, измерения — `denyIncompleteValues`.
|
||||
|
||||
Стандартные реквизиты РБ: PeriodAdjustment, Account, RecordType, Active, LineNumber, Recorder, Period,
|
||||
далее пары субконто ExtDimensionN/ExtDimensionTypeN (их число задаётся `maxExtDimensionCount` плана счетов).
|
||||
Два реквизита условны: `PeriodAdjustment` — при `periodAdjustmentLength > 0`, `RecordType` — при
|
||||
`correspondence=false`. ExtDimension1..N связаны с Account через `linkByType` (в блоке `standardAttributes`,
|
||||
§7.1.1; DataPath полный).
|
||||
|
||||
### 7.6b CalculationRegister (Регистр расчёта)
|
||||
|
||||
@@ -975,6 +983,10 @@ ExtDimension1..N связаны с Account через `linkByType` (в блок
|
||||
Измерения РР несут `denyIncompleteValues`, `baseDimension` (bool), `scheduleLink` (ссылка на измерение графика);
|
||||
реквизиты — `scheduleLink`; ресурсы — только `<FullTextSearch>` (без Indexing).
|
||||
|
||||
Стандартные реквизиты РР: RegistrationPeriod, ReversingEntry, Active, EndOfBasePeriod, BegOfBasePeriod,
|
||||
EndOfActionPeriod, BegOfActionPeriod, ActionPeriod, CalculationType, LineNumber, Recorder — в этом порядке
|
||||
и все сразу, независимо от `actionPeriod` / `basePeriod` / `periodicity`.
|
||||
|
||||
### 7.6c BusinessProcess (Бизнес-процесс)
|
||||
|
||||
Ссылочный тип с нумерацией (Document-стиль). Поля: `numberType`/`numberLength`/`numberAllowedLength`/`checkUnique`/
|
||||
|
||||
Reference in New Issue
Block a user