Files
cc-1c-skills/tests/skills/cases/cfe-validate/register-record-paths.json
T
Nick ShirokovandClaude Opus 5 8366dd49de fix(cfe-validate): корень путей из основного реквизита формы
Проверки 12 (<AdditionalColumns table="...">) и 14 (пути против конфигурации-
источника) искали пути регуляркой, зашитой на корень «Объект». Он такой только
у формы объекта: у формы списка «Список», у формы записи регистра «Запись».
На таких формах регулярка не совпадала, и обе проверки молча не срабатывали —
валидатор рапортовал «чисто» на форме с висячим путём.

Корень теперь берётся из основного реквизита: сначала из <Attributes> самой
формы, затем из <BaseForm>. Нет его нигде — путей с корнем не бывает, проверка
пропускается. Имя подставляется и в регулярки, и в тексты сообщений: раньше в
сообщении стояло «Объект.X» независимо от формы, что дезинформировало.

Вместе с этим набор имён-кандидатов проверки 14 расширен с Attribute/
TabularSection до Dimension/Resource. Без этого замена корня превратила бы
тихий пропуск в ложные ошибки на форме записи регистра, где дочерние объекты —
измерения и ресурсы; отдельный кейс это фиксирует.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-14 15:42:41 +03:00

38 lines
2.7 KiB
JSON

{
"name": "Пути Запись.* формы записи регистра не считаются висячими (измерение/ресурс — тоже дочерние объекты)",
"preRun": [
{
"script": "meta-compile/scripts/meta-compile",
"input": {
"type": "InformationRegister", "name": "Настройка",
"dimensions": [ "Организация: String(50) | master" ],
"resources": [ "Лимит: Number(15,2)" ]
},
"args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" }
},
{
"script": "form-add/scripts/form-add",
"args": { "-ObjectPath": "{workDir}/InformationRegisters/Настройка.xml", "-FormName": "ФормаЗаписи" }
},
{
"writeFile": {
"path": "InformationRegisters/Настройка/Forms/ФормаЗаписи/Ext/Form.xml",
"content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Form xmlns=\"http://v8.1c.ru/8.3/xcf/logform\" xmlns:cfg=\"http://v8.1c.ru/8.1/data/enterprise/current-config\" xmlns:v8=\"http://v8.1c.ru/8.1/data/core\" xmlns:xr=\"http://v8.1c.ru/8.3/xcf/readable\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" version=\"2.17\">\n\t<AutoTitle>false</AutoTitle>\n\t<AutoCommandBar name=\"ФормаКоманднаяПанель\" id=\"-1\"/>\n\t<ChildItems>\n\t\t<InputField name=\"Организация\" id=\"1\">\n\t\t\t<DataPath>Запись.Организация</DataPath>\n\t\t\t<ExtendedTooltip name=\"ОрганизацияРасширеннаяПодсказка\" id=\"2\"/>\n\t\t</InputField>\n\t\t<InputField name=\"Лимит\" id=\"3\">\n\t\t\t<DataPath>Запись.Лимит</DataPath>\n\t\t\t<ExtendedTooltip name=\"ЛимитРасширеннаяПодсказка\" id=\"4\"/>\n\t\t</InputField>\n\t</ChildItems>\n\t<Attributes>\n\t\t<Attribute name=\"Запись\" id=\"1\">\n\t\t\t<Type>\n\t\t\t\t<v8:Type>cfg:InformationRegisterRecordManager.Настройка</v8:Type>\n\t\t\t</Type>\n\t\t\t<MainAttribute>true</MainAttribute>\n\t\t\t<SavedData>true</SavedData>\n\t\t</Attribute>\n\t</Attributes>\n</Form>"
}
},
{
"script": "cfe-init/scripts/cfe-init",
"args": { "-Name": "Тест", "-OutputDir": "{workDir}/ext", "-ConfigPath": "{workDir}" }
},
{
"script": "cfe-borrow/scripts/cfe-borrow",
"args": { "-ExtensionPath": "{workDir}/ext", "-ConfigPath": "{workDir}", "-Object": "InformationRegister.Настройка.Form.ФормаЗаписи", "-BorrowMainAttribute": "Form" }
}
],
"params": { "extensionPath": "ext" },
"args_extra": ["-ConfigPath", "{workDir}"],
"expect": {
"stdoutNotContains": ["Запись.Организация", "Запись.Лимит"]
}
}