mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-19 09:09:41 +03:00
feat(form-decompile,form-compile): дата в фильтре = StandardBeginningDate Custom (голая ISO-дата как шорткат)
Дата-значение фильтра платформой почти всегда хранится как StandardBeginningDate
Custom, а не xs:dateTime (корпус 8.3.24: 268 SBD-Custom vs 2 xs:dateTime в
dcsset:right). Добавлен естественный шорткат: голая ISO-дата без valueType →
компилятор выводит SBD Custom+date. Работает и в shorthand-строке фильтра
("ДатаЗаказа > 2020-01-01T00:00:00").
Компилятор: Emit-FilterItem ловит дату без valueType → SBD Custom (раньше → xs:dateTime);
Parse-FilterShorthand больше не ставит valueType=xs:dateTime для даты (оставляет
вывод компилятору). Декомпилятор: SBD Custom+date → голая дата без valueType
(компилятор восстановит), именованный вариант → строка+valueType, SED/нетипичное →
объект+valueType. Escape для плоского xs:dateTime — явный valueType. Зеркало py.
Кейс input-fields (+date-фильтр голой датой объектно и shorthand-строкой, +именованный
вариант) сертифицирован в 1С, round-trip подтверждён (голые даты без valueType
возвращаются). Регресс 43/43, SBD-корпус (40 форм) без регрессий (match 28).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -75,7 +75,8 @@
|
||||
{ "filter": ["ЧисловоеПоле = 0"], "appearance": { "Текст": { "ru": "Локализованный", "en": "Localized" } } },
|
||||
{ "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": "3999-12-31T23:59:59" }], "appearance": { "ЦветТекста": "web:Gray" } },
|
||||
{ "filter": ["ДатаПоля > 2020-01-01T00:00:00"], "appearance": { "ЦветТекста": "web:Olive" } },
|
||||
{ "filter": [{ "field": "ДатаПоля", "op": ">=", "value": "BeginningOfThisDay", "valueType": "v8:StandardBeginningDate" }], "appearance": { "ЦветТекста": "web:Silver" } }
|
||||
]
|
||||
}
|
||||
|
||||
+19
@@ -735,6 +735,25 @@
|
||||
</dcscor:item>
|
||||
</dcsset:appearance>
|
||||
</dcsset:item>
|
||||
<dcsset:item>
|
||||
<dcsset:selection/>
|
||||
<dcsset:filter>
|
||||
<dcsset:item xsi:type="dcsset:FilterItemComparison">
|
||||
<dcsset:left xsi:type="dcscor:Field">ДатаПоля</dcsset:left>
|
||||
<dcsset:comparisonType>Greater</dcsset:comparisonType>
|
||||
<dcsset:right xsi:type="v8:StandardBeginningDate">
|
||||
<v8:variant xsi:type="v8:StandardBeginningDateVariant">Custom</v8:variant>
|
||||
<v8:date>2020-01-01T00:00:00</v8:date>
|
||||
</dcsset:right>
|
||||
</dcsset:item>
|
||||
</dcsset:filter>
|
||||
<dcsset:appearance>
|
||||
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
|
||||
<dcscor:parameter>ЦветТекста</dcscor:parameter>
|
||||
<dcscor:value xsi:type="v8ui:Color">web:Olive</dcscor:value>
|
||||
</dcscor:item>
|
||||
</dcsset:appearance>
|
||||
</dcsset:item>
|
||||
<dcsset:item>
|
||||
<dcsset:selection/>
|
||||
<dcsset:filter>
|
||||
|
||||
Reference in New Issue
Block a user