Files
cc-1c-skills/tests/skills/cases/cfe-borrow/form-conditional-appearance-main.json
T
Nick ShirokovandClaude Opus 5.5 39f08563b2 feat(cfe-borrow): условное оформление формы переносится, как у Конфигуратора
Навык терял условное оформление заимствованной формы: писал <Attributes/>
(или только основной реквизит). Конфигуратор копирует <ConditionalAppearance>
как есть в обе части формы, внутрь <Attributes> после реквизитов — и без
основного реквизита тоже. Ссылки оформления на незаимствованные реквизиты
формы остаются, платформа их принимает. Элементы стиля из оформления
заимствуются, даже если больше нигде в форме не упомянуты; регэксп сбора
стилей не видел закрывающий тег с префиксом (<dcscor:value>style:X</…>).

Порядок заимствования стилей — порядок первого упоминания в обоих портах
(в PS был порядок хеша, в Python — множество). Оба порта, v1.42.

Эталоны Конфигуратора совпадают построчно в обоих портах: УТ StdPic,
StdPic_WithMain, CAStyle (включая набор стилей), УНФ Номенклатура.ФормаЭлемента —
она теперь совпадает целиком; прежние пять форм (link, TypeLink*, LinkOnly)
не сдвинулись. Кейсы form-conditional-appearance и -main; на v1.41 падали.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-27 19:25:26 +03:00

124 lines
4.5 KiB
JSON

{
"name": "Условное оформление формы с основным реквизитом: после реквизита в обеих частях",
"preRun": [
{
"script": "meta-compile/scripts/meta-compile",
"input": {
"type": "Catalog",
"name": "Товары",
"attributes": [
"Остаток: Number(15,3)"
]
},
"args": {
"-JsonPath": "{inputFile}",
"-OutputDir": "{workDir}"
}
},
{
"writeFile": {
"path": "StyleItems/ПоясняющийТекст.xml",
"content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<MetaDataObject xmlns=\"http://v8.1c.ru/8.3/MDClasses\" xmlns:app=\"http://v8.1c.ru/8.2/managed-application/core\" xmlns:cfg=\"http://v8.1c.ru/8.1/data/enterprise/current-config\" xmlns:cmi=\"http://v8.1c.ru/8.2/managed-application/cmi\" xmlns:ent=\"http://v8.1c.ru/8.1/data/enterprise\" xmlns:lf=\"http://v8.1c.ru/8.2/managed-application/logform\" xmlns:style=\"http://v8.1c.ru/8.1/data/ui/style\" xmlns:sys=\"http://v8.1c.ru/8.1/data/ui/fonts/system\" xmlns:v8=\"http://v8.1c.ru/8.1/data/core\" xmlns:v8ui=\"http://v8.1c.ru/8.1/data/ui\" xmlns:web=\"http://v8.1c.ru/8.1/data/ui/colors/web\" xmlns:win=\"http://v8.1c.ru/8.1/data/ui/colors/windows\" xmlns:xen=\"http://v8.1c.ru/8.3/xcf/enums\" xmlns:xpr=\"http://v8.1c.ru/8.3/xcf/predef\" xmlns:xr=\"http://v8.1c.ru/8.3/xcf/readable\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" version=\"2.17\">\n\t<StyleItem uuid=\"ad87bd29-0ad1-4da4-ac62-38e714e0cb9f\">\n\t\t<Properties>\n\t\t\t<Name>ПоясняющийТекст</Name>\n\t\t\t<Synonym>\n\t\t\t\t<v8:item>\n\t\t\t\t\t<v8:lang>ru</v8:lang>\n\t\t\t\t\t<v8:content>Поясняющий текст</v8:content>\n\t\t\t\t</v8:item>\n\t\t\t</Synonym>\n\t\t\t<Comment>Оформление справочного текста в форме</Comment>\n\t\t\t<Type>Color</Type>\n\t\t\t<Value xsi:type=\"v8ui:Color\">#807A59</Value>\n\t\t</Properties>\n\t</StyleItem>\n</MetaDataObject>"
}
},
{
"script": "cf-edit/scripts/cf-edit",
"args": {
"-ConfigPath": "{workDir}",
"-Operation": "add-childObject",
"-Value": "StyleItem.ПоясняющийТекст"
}
},
{
"script": "form-add/scripts/form-add",
"args": {
"-ObjectPath": "{workDir}/Catalogs/Товары.xml",
"-FormName": "ФормаЭлемента"
}
},
{
"script": "form-compile/scripts/form-compile",
"input": {
"title": "Товар",
"elements": [
{
"input": "Остаток",
"path": "Объект.Остаток"
},
{
"check": "Режим",
"path": "Режим"
}
],
"attributes": [
{
"name": "Объект",
"type": "CatalogObject.Товары",
"main": true
},
{
"name": "Режим",
"type": "boolean"
}
],
"conditionalAppearance": [
{
"selection": [
"Остаток"
],
"filter": [
"Режим = true"
],
"appearance": {
"ЦветТекста": "style:ПоясняющийТекст"
}
},
{
"selection": [
"Остаток"
],
"filter": [
"Объект.Остаток < 0"
],
"appearance": {
"ЦветТекста": "web:Red"
}
}
]
},
"args": {
"-JsonPath": "{inputFile}",
"-OutputPath": "{workDir}/Catalogs/Товары/Forms/ФормаЭлемента/Ext/Form.xml"
}
},
{
"script": "cfe-init/scripts/cfe-init",
"args": {
"-Name": "Тест",
"-OutputDir": "{workDir}/cfe",
"-ConfigPath": "{workDir}"
}
}
],
"params": {
"extensionPath": "cfe",
"object": "Catalog.Товары.Form.ФормаЭлемента"
},
"expect": {
"files": [
"cfe/StyleItems/ПоясняющийТекст.xml"
],
"fileContains": {
"file": "cfe/Catalogs/Товары/Forms/ФормаЭлемента/Ext/Form.xml",
"text": [
"<ConditionalAppearance>",
"style:ПоясняющийТекст"
]
}
},
"args_extra": [
"-BorrowMainAttribute",
"Form"
]
}