mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-06-13 17:34:57 +03:00
05374100c1
Emit-SingleValueType / emit_single_value_type previously required full decimal(D,F) — anything else fell through to a fallback that produced invalid <v8:Type>decimal</v8:Type> (no xs: prefix, no qualifiers). New regex `^decimal(\((\d+)(,(\d+))?(,nonneg)?\))?$` accepts: - decimal → 10,2,Any (money default — most common 1C intent) - decimal(N) → N,0,Any (integer) - decimal(N,nonneg) → N,0,Nonnegative - decimal(N,M) → as before - decimal(N,M,nonneg) → as before Synonyms (число, число(N), etc.) inherit the same forms via Resolve-TypeStr. Shared Emit-ValueType is called from fields, parameters, and output parameters — one fix covers all three paths. 3 existing snapshots regenerated with proper xs:decimal + qualifiers, plus new decimal-qualifier-defaults test case covering all 5 forms × synonyms. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
30 lines
1.1 KiB
JSON
30 lines
1.1 KiB
JSON
{
|
|
"name": "decimal — все формы квалификаторов (bare, (N), (N,M), nonneg, синонимы)",
|
|
"params": { "outputPath": "Template.xml" },
|
|
"input": {
|
|
"dataSets": [{
|
|
"name": "Основной",
|
|
"query": "ВЫБРАТЬ 1 КАК Поле1",
|
|
"fields": [
|
|
"ДеньгиПоУмолчанию: decimal",
|
|
"ЦелоеОдинАргумент: decimal(10)",
|
|
"ОбычныеДеньги: decimal(10,2)",
|
|
"Положительные: decimal(10,2,nonneg)",
|
|
"ЦелоеПоложительное: decimal(10,nonneg)",
|
|
"ЧислоСинонимБезАргументов: число",
|
|
"ЧислоСинонимЦелое: число(8)",
|
|
"ЧислоСинонимКоличество: число(15,3)"
|
|
]
|
|
}],
|
|
"parameters": [
|
|
"ПараметрДеньги: decimal",
|
|
"ПараметрЦелое: decimal(10)",
|
|
"ПараметрКоличество: decimal(15,3,nonneg)"
|
|
]
|
|
},
|
|
"validatePath": "Template.xml",
|
|
"expect": {
|
|
"files": ["Template.xml"]
|
|
}
|
|
}
|