feat(form-decompile,form-compile): StandardBeginningDate — короткая форма значения (строка-вариант)

Добавлена короткая запись значения фильтра StandardBeginningDate (как в skd для
StandardPeriod): именованный вариант → просто строка "BeginningOfThisDay" (без даты);
Custom → объект {variant:"Custom", date:"…"} (нужна дата). Компилятор Emit-FilterItem
принимает обе формы (строка → variant-only; объект → variant+date); декомпилятор
эмитит строку для именованных вариантов, объект для Custom.

Зеркало py. Кейс input-fields: именованный вариант переведён на короткую строку
(snapshot байт-в-байт = объектной форме). Round-trip: Custom→объект,
BeginningOfThisDay→строка. Регресс 43/43, SBD-корпус (40 форм) без регрессий.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-06-11 18:31:45 +03:00
co-authored by Claude Opus 4.8
parent 3ce71d436f
commit 89bb58a101
5 changed files with 33 additions and 25 deletions
@@ -76,7 +76,7 @@
{ "filter": ["ЧисловоеПоле < 0"], "appearance": { "Текст": "" } },
{ "filter": ["ЧисловоеПоле = 1"], "appearance": { "Текст": { "field": "ОбычноеПоле" } } },
{ "filter": [{ "field": "ДатаПоля", "op": "=", "value": { "variant": "Custom", "date": "3999-12-31T23:59:59" }, "valueType": "v8:StandardBeginningDate" }], "appearance": { "ЦветТекста": "web:Gray" } },
{ "filter": [{ "field": "ДатаПоля", "op": ">=", "value": { "variant": "BeginningOfThisDay" }, "valueType": "v8:StandardBeginningDate" }], "appearance": { "ЦветТекста": "web:Silver" } }
{ "filter": [{ "field": "ДатаПоля", "op": ">=", "value": "BeginningOfThisDay", "valueType": "v8:StandardBeginningDate" }], "appearance": { "ЦветТекста": "web:Silver" } }
]
}
}