Files
cc-1c-skills/tests/skills/cases/skd-compile/empty-param-values.json
T
Nick Shirokov ff2d8513c4 feat(skd-compile): time type, string(N,fix), and composite type parameters
Calibrated against live Designer output in upload/erf/ПроверкаЭкранирования.

- New type 'time' (synonym 'время'): xs:dateTime with DateFractions=Time
  for time-of-day values. Designer uses the same xs:dateTime XSD type as
  date/dateTime — only DateFractions differs. Empty value: typed-zero
  0001-01-01T00:00:00 (same as dateTime).

- Extended string regex to accept (N,fix) → AllowedLength=Fixed (was
  Variable-only). Non-empty fixed-string values are emitted as-given
  without space-padding to Length — the platform handles padding on save.

- Composite types in parameters (array of types in object form, e.g.
  ["string(10,fix)", "CatalogRef.X"]) now work end-to-end: valueType
  emits each type with its qualifiers, and empty composite values
  serialize as <value xsi:nil="true"/> matching Designer.

Test case empty-param-values extended with 5 new params covering all
three additions. Snapshot validated by skd-validate.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 12:52:26 +03:00

33 lines
1.5 KiB
JSON

{
"name": "Параметры с пустыми значениями (все типы, разные sentinel-формы)",
"params": { "outputPath": "Template.xml" },
"input": {
"dataSets": [{
"name": "Основной",
"query": "ВЫБРАТЬ 1 КАК Поле1",
"fields": ["Поле1: число(1,0)"]
}],
"parameters": [
"Параметр1",
"Параметр2: string =",
"ПараметрСписок: EnumRef.СтатусТеста @valueList = _",
"ПараметрСсылка: CatalogRef.ПлоскийПростой",
"ПараметрДата: date = null",
{ "name": "ПараметрЧисло", "type": "decimal", "value": null },
"ПараметрБулево: boolean = ",
"ПараметрСтандартныйПериод: StandardPeriod = _",
{ "name": "ПараметрТипНеЗадан", "value": null },
"ПараметрСписокСтрок: string @valueList",
"ПараметрВремяСЗначением: time = 0001-01-01T12:30:00",
"ПараметрВремяПусто: time",
"ПараметрСтрокаФиксСЗначением: string(10,fix) = АБВ",
"ПараметрСтрокаФиксПусто: string(10,fix)",
{ "name": "СоставнойТип", "type": ["string(10,fix)", "CatalogRef.ПлоскийПростой"], "value": null }
]
},
"validatePath": "Template.xml",
"expect": {
"files": ["Template.xml"]
}
}