mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-14 23:05:16 +03:00
65c4fba471
Три object-блока каталога компилятор хардкодил (InputByString={Descr,Code},
DataLockFields/BasedOn пустые), декомпилятор не захватывал.
Class-2 фикс InputByString: хардкод → вывод из Code/DescriptionLength
([Descr при D>0]+[Code при C>0]) — покрывает 88.5% каталогов, убил каскад
Field ADDED=80 (у 1057/1640 InputByString = только Наименование).
Class-3 DSL:
• inputByString — массив имён полей (авто-резолв через Expand-DataPath,
как dataPath), [] = пусто; декомпилятор эмитит только при отличии от дефолта.
• dataLockFields — поля блокировки, omit-on-empty.
• basedOn — «ввод на основании», MDObjectRef verbatim, omit-on-empty.
Хелперы Emit-FieldBlock/Emit-BasedOn (+py-порт); декомпилятор Short-Field
(частичная форма StandardAttribute.X/Attribute.X для dogfood резолвера).
Class-2 ловушка PS: пустой @() в позиц.параметр схлопывается в $null, а
@($null) = массив из 1 null → пустой <xr:Field>. Фикс — Where-Object фильтр.
Роундтрип 120 объектов: match 20→94, TOTAL 305→183 (−122), DataLockFields
35→0, InputByString/BasedOn=0, новых diff не внесено. Override-кейсы (реверс,
+реквизит, пустой, codeonly, dlf, basedOn) роундтрипятся чисто. Регресс 46/46
ps1+py, ps1↔py identical. spec §7.1.5, кейс catalog-inputbystring-datalock.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
21 lines
814 B
JSON
21 lines
814 B
JSON
{
|
|
"name": "InputByString / DataLockFields / BasedOn каталога",
|
|
"input": {
|
|
"type": "Catalog",
|
|
"name": "ДоговорыКонтрагентов",
|
|
"codeLength": 11,
|
|
"descriptionLength": 100,
|
|
"inputByString": ["Код", "Наименование", "Контрагент"],
|
|
"dataLockFields": ["Организация", "Контрагент", "Владелец"],
|
|
"basedOn": ["Catalog.Контрагенты", "Document.ЗаказПоставщику"],
|
|
"attributes": [
|
|
"Организация: CatalogRef.Организации",
|
|
"Контрагент: CatalogRef.Контрагенты"
|
|
]
|
|
},
|
|
"validatePath": "Catalogs/ДоговорыКонтрагентов",
|
|
"expect": {
|
|
"files": ["Catalogs/ДоговорыКонтрагентов.xml"]
|
|
}
|
|
}
|