mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-05 03:00:22 +03:00
fix(form-edit,meta-edit,mxl-compile,role-compile,subsystem-*): кавычки в тексте не экранируем
Правило платформы единое и подтверждено дважды. По корпусу трёх конфигураций: 92142 сырых кавычки в тексте элементов и НИ ОДНОЙ "; в условиях RLS — 16334 сырых против нуля экранированных (при этом & платформа пишет, то есть амперсанд экранируется, а кавычка нет). Загрузка на стенде: оба варианта принимаются, но выгружает платформа сырую кавычку — то есть " не ошибка, а лишний шум в роундтрипе. Решение было принято раньше в form-compile (там оно и записано комментарием) и в skd-compile/skd-edit, но шесть навыков из него выпали. Приведены к общему виду: где Esc-Xml использовался только для текста — функция стала текстовой; в meta-edit, где она нужна и для атрибута, текстовые места переведены на существующий Esc-XmlText. Атрибуты нигде не затронуты: там экранирование кавычек обязательно. Дрейф эталонов — три строки, все условия RLS; role-info и role-validate строят фикстуры прогоном role-compile (кросс-навыковый пересъём). Проверка: полная сюита 630/630 на PowerShell и 627+3 skipped на python; 1С-сертификация role-compile 9/9, subsystem-compile 9/9, subsystem-edit 6/6, form-edit 6/6, meta-edit 16/16. В mxl-compile кейс guard-allow-external падает и до правки — не связан. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
6963df6b99
commit
919d49fe14
@@ -1,4 +1,4 @@
|
||||
# subsystem-compile v1.9 — Create 1C subsystem from JSON definition
|
||||
# subsystem-compile v1.10 — Create 1C subsystem from JSON definition
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
param(
|
||||
[string]$DefinitionFile,
|
||||
@@ -189,7 +189,9 @@ function X([string]$text) {
|
||||
}
|
||||
|
||||
function Esc-Xml([string]$s) {
|
||||
return $s.Replace('&','&').Replace('<','<').Replace('>','>').Replace('"','"')
|
||||
# Экранирование ТЕКСТА элемента: только & < > . Кавычки в тексте платформа НЕ экранирует —
|
||||
# пишет литерально (92142 сырых кавычки на корпус, ни одной ").
|
||||
return $s.Replace('&','&').Replace('<','<').Replace('>','>')
|
||||
}
|
||||
|
||||
function Split-CamelCase([string]$name) {
|
||||
|
||||
Reference in New Issue
Block a user