mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-24 11:15:53 +03:00
feat(template-add): добавление страницы макета на втором языке
Повторный вызов на существующем макете безусловно отказывал, поэтому второй язык приходилось добавлять руками — дописывать <Page> в дескриптор и заводить файл страницы. Случай не редкий: в выгрузке ERP 54 макета из 70 двуязычные. Теперь при -TemplateType HTML существующий макет — повод добавить страницу, а не отказать. Порядок <Page> — по коду языка (в ERP так во всех 54). Версия формата берётся из самого дескриптора, чтобы правка чужой выгрузки не меняла формат. Метаданные макета и ChildObjects не трогаются: перезапись сменила бы UUID. Отказ остался там, где он по делу: тот же язык повторно, нехтмловый макет под тем же именем, любой не-HTML тип. Макет в старой раскладке (Ext/Template.html) мигрируется с громким [WARN]: платформа такую раскладку игнорирует, то есть состояние и так нерабочее, а создать её могла только версия навыка без -Lang — значит это страница на языке по умолчанию. Проверено на 8.3.27.1859: двуязычный макет доходит до базы и возвращается обратно байт в байт — и дескриптор, и обе страницы. Попутно измерено: страницу на языке, не объявленном в Languages/, платформа принимает — поэтому состав языков не проверяем. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
b8b8140e3b
commit
04563a6973
@@ -0,0 +1,43 @@
|
||||
{
|
||||
"name": "HTML-макет: добавление страницы на втором языке",
|
||||
"preRun": [
|
||||
{
|
||||
"script": "epf-init/scripts/init",
|
||||
"args": { "-Name": "МояОбработка", "-SrcDir": "{workDir}" }
|
||||
},
|
||||
{
|
||||
"script": "template-add/scripts/add-template",
|
||||
"args": {
|
||||
"-ObjectName": "МояОбработка",
|
||||
"-TemplateName": "МакетHTML",
|
||||
"-TemplateType": "HTML",
|
||||
"-SrcDir": "{workDir}"
|
||||
}
|
||||
}
|
||||
],
|
||||
"params": { "objectName": "МояОбработка", "templateName": "МакетHTML", "templateType": "HTML" },
|
||||
"args_extra": ["-Lang", "en"],
|
||||
"expect": {
|
||||
"stdoutContains": ["Добавлена страница макета", "en.html"],
|
||||
"fileContains": {
|
||||
"file": "МояОбработка/Templates/МакетHTML/Ext/Template.xml",
|
||||
"text": "<Page>en</Page>\r\n\t<Page>ru</Page>"
|
||||
},
|
||||
"preserves": [
|
||||
{
|
||||
"file": "МояОбработка/Templates/МакетHTML/Ext/Template.xml",
|
||||
"bom": true,
|
||||
"eol": "crlf",
|
||||
"encoding": "UTF-8",
|
||||
"finalNewline": false,
|
||||
"noCR13": true
|
||||
},
|
||||
{
|
||||
"file": "МояОбработка/Templates/МакетHTML/Ext/Template/en.html",
|
||||
"bom": true,
|
||||
"eol": "lf",
|
||||
"finalNewline": false
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user