fix(meta-edit,meta-validate): код/номер нулевой длины во вводе по строке

Платформа отвергает загрузку, если поле ввода по строке — код или номер
нулевой длины: «Указано неверное поле для ввода по строке».

- meta-edit: CodeLength/NumberLength = 0 убирает StandardAttribute.Code/
  Number из InputByString вслед за длиной.
- meta-validate: проверка 10 — такая пара (длина 0 + поле во вводе по
  строке) — ошибка; ловит и ручную правку.
- meta-edit (PS): очищенный список-свойство оставался <X></X>, хотя py и
  платформа пишут <X/> — теперь самозакрывающийся.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018dc2yLQfw6wppbopM1Y4Ps
This commit is contained in:
Nick Shirokov
2026-09-30 18:53:14 +03:00
co-authored by Claude Opus 5.5
parent 11cf1bf46d
commit c686fc23c8
19 changed files with 1289 additions and 5 deletions
@@ -0,0 +1,36 @@
{
"name": "NumberLength=0 у документа — номер убирается из ввода по строке, список становится пустым",
"preRun": [
{
"script": "meta-compile/scripts/meta-compile",
"input": {
"type": "Document",
"name": "Заказ"
},
"args": {
"-JsonPath": "{inputFile}",
"-OutputDir": "{workDir}"
}
}
],
"params": {
"objectPath": "Documents/Заказ"
},
"input": {
"modify": {
"properties": {
"NumberLength": 0
}
}
},
"expect": {
"stdoutContains": "InputByString: removed StandardAttribute.Number",
"fileContains": {
"file": "Documents/Заказ.xml",
"text": [
"<NumberLength>0</NumberLength>",
"<InputByString/>"
]
}
}
}