mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-23 18:55:53 +03:00
Заголовок реквизита формы и параметра динамического списка опускается, если равен авто-выводу из имени: компилятор восстановит его сам. Сравнение было регистронезависимым (в ps1 -eq/-ne, в py зеркалящий их _ps_ieq), поэтому «Организации ВетИС» при имени ОрганизацииВЕТИС считался равным авто-выводу «Организации ВЕТИС», выпадал из DSL, и обратная сборка молча меняла текст на форме. Эталон сравнения — не PowerShell, а компилятор: он пишет заголовок как есть, значит опускать можно только при побайтовом совпадении. В ps1 этого не даёт и -ceq — он культурный, мягкий перенос и NFD-разложение для него ничего не весят, и порты разошлись бы между собой. Сравнение идёт через [string]::Equals(..., Ordinal), что и есть зеркало питоновского ==. _ps_ieq больше не нужен и удалён. Два регресс-кейса: реквизит формы (регистр + невидимый мягкий перенос) и параметр динамического списка. Оба падают на исходной версии в обоих портах. Найдено на типовой конфигурации: Документ.ИсходящаяТранспортнаяОперацияВЕТИС.ФормаСписка. Co-Authored-By: Шпаков Антон Александрович <shpakov.anton.job@gmail.com> Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SSyRNwSiuAAEQCLSCUGEzQ
38 lines
1.5 KiB
JSON
38 lines
1.5 KiB
JSON
{
|
|
"name": "Заголовок реквизита, отличающийся от авто-вывода только регистром или невидимым символом, не теряется",
|
|
"preRun": [
|
|
{
|
|
"script": "meta-compile/scripts/meta-compile",
|
|
"input": { "type": "DataProcessor", "name": "Регистр" },
|
|
"args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" }
|
|
},
|
|
{
|
|
"script": "form-add/scripts/form-add",
|
|
"args": { "-ObjectPath": "{workDir}/DataProcessors/Регистр.xml", "-FormName": "Форма" }
|
|
},
|
|
{
|
|
"script": "form-compile/scripts/form-compile",
|
|
"input": {
|
|
"title": "Регистр",
|
|
"elements": [{ "input": "Организации", "path": "ОрганизацииВЕТИС" }],
|
|
"attributes": [
|
|
{ "name": "Объект", "type": "DataProcessorObject.Регистр", "main": true },
|
|
{ "name": "ОрганизацииВЕТИС", "type": "string", "title": "Организации ВетИС" },
|
|
{ "name": "СуммаДокумента", "type": "string", "title": "Сумма документа" }
|
|
]
|
|
},
|
|
"args": {
|
|
"-JsonPath": "{inputFile}",
|
|
"-OutputPath": "{workDir}/DataProcessors/Регистр/Forms/Форма/Ext/Form.xml"
|
|
}
|
|
}
|
|
],
|
|
"params": {
|
|
"formPath": "DataProcessors/Регистр/Forms/Форма/Ext/Form.xml",
|
|
"outputPath": "draft.json"
|
|
},
|
|
"expect": {
|
|
"files": ["draft.json"]
|
|
}
|
|
}
|