Files
cc-1c-skills/tests/skills/cases/meta-compile/catalog-attr-fillvalue.json
T
Nick Shirokov b93fd0807f feat(meta-compile,meta-decompile): значение заполнения реквизита fillValue (v1.27/v0.12)
Пара FillFromFillingValue+FillValue — единый блок «заполнения» (у top-level
реквизитов всегда, у ТЧ нет). Класс-2 фикс: boolean дефолт пустого FillValue
false→nil (модальная форма платформы, 3734 мисматча). Дефолт по типу:
String→typed-empty, Number→0, всё прочее→nil.

DSL-ключ fillValue (интерпретация по типу реквизита): bool/число/строка/дата-
литерал + null→nil-override + DTR-путь (полный рус/англ, GUID.GUID, короткая
запись по типу: EmptyRef / имя-значения перечисления / предопределённое).
Ref-резолвер портирован из form-compile (+ПустаяСсылка/Истина/Ложь, гард
составного типа). Декомпилятор: захват FillValue с omit-при-дефолте.

remaining=0 на выборке категории Attribute>FillValue (baseline-impact 7222),
регресс 39/39 ps1+py. spec v2.7 §4.2, кейс catalog-attr-fillvalue.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-03 17:46:31 +03:00

28 lines
1.8 KiB
JSON

{
"name": "Значение заполнения реквизита (fillValue)",
"input": {
"type": "Catalog",
"name": "ТестЗаполнения",
"attributes": [
"СтрокаДефолт: String(50)",
{ "name": "БулевоДефолт", "type": "Boolean" },
{ "name": "БулевоИстина", "type": "Boolean", "fillValue": true },
{ "name": "БулевоЛожь", "type": "Boolean", "fillValue": "Ложь" },
{ "name": "СтрокаNil", "type": "String(10)", "fillValue": null },
{ "name": "СтрокаЗначение", "type": "String(20)", "fillValue": "по умолчанию" },
{ "name": "ЧислоЗначение", "type": "Number(15,2)", "fillValue": "1.5" },
{ "name": "ЧислоNil", "type": "Number(10,0)", "fillValue": null },
{ "name": "ДатаЗначение", "type": "Date", "fillValue": "0001-01-01T00:00:00" },
{ "name": "СсылкаПустаяКратко", "type": "CatalogRef.Валюты", "fillValue": "EmptyRef" },
{ "name": "СсылкаПустаяРус", "type": "CatalogRef.Валюты", "fillValue": "Справочник.Валюты.ПустаяСсылка" },
{ "name": "ПеречислениеКратко", "type": "EnumRef.Периодичность", "fillValue": "Месяц" },
{ "name": "ПеречислениеПолноРус", "type": "EnumRef.Периодичность", "fillValue": "Перечисление.Периодичность.ЗначениеПеречисления.Год" },
{ "name": "ПредопределённоеКратко", "type": "CatalogRef.СтраныМира", "fillValue": "Россия" }
]
},
"validatePath": "Catalogs/ТестЗаполнения",
"expect": {
"files": ["Catalogs/ТестЗаполнения.xml"]
}
}