mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-15 07:49:01 +03:00
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>
This commit is contained in:
co-authored by
Claude Opus 5
parent
c63b626dd4
commit
8366dd49de
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"name": "С -ConfigPath ловится висячий путь формы списка (Список.НетТакогоРеквизита)",
|
||||
"preRun": [
|
||||
{
|
||||
"script": "meta-compile/scripts/meta-compile",
|
||||
"input": { "type": "Document", "name": "Расход", "attributes": [ "Склад: String(50)" ] },
|
||||
"args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" }
|
||||
},
|
||||
{
|
||||
"script": "form-add/scripts/form-add",
|
||||
"args": { "-ObjectPath": "{workDir}/Documents/Расход.xml", "-FormName": "ФормаСписка" }
|
||||
},
|
||||
{
|
||||
"writeFile": {
|
||||
"path": "Documents/Расход/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<Table name=\"Список\" id=\"1\">\n\t\t\t<DataPath>Список</DataPath>\n\t\t\t<ChildItems>\n\t\t\t\t<InputField name=\"СписокСклад\" id=\"2\">\n\t\t\t\t\t<DataPath>Список.Склад</DataPath>\n\t\t\t\t\t<ExtendedTooltip name=\"СписокСкладРасширеннаяПодсказка\" id=\"3\"/>\n\t\t\t\t</InputField>\n\t\t\t\t<InputField name=\"СписокНетТакого\" id=\"4\">\n\t\t\t\t\t<DataPath>Список.НетТакогоРеквизита</DataPath>\n\t\t\t\t\t<ExtendedTooltip name=\"СписокНетТакогоРасширеннаяПодсказка\" id=\"5\"/>\n\t\t\t\t</InputField>\n\t\t\t</ChildItems>\n\t\t\t<ExtendedTooltip name=\"СписокРасширеннаяПодсказка\" id=\"6\"/>\n\t\t</Table>\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:DynamicList</v8:Type>\n\t\t\t</Type>\n\t\t\t<MainAttribute>true</MainAttribute>\n\t\t\t<Settings xsi:type=\"DynamicList\">\n\t\t\t\t<ManualQuery>false</ManualQuery>\n\t\t\t\t<MainTable>Document.Расход</MainTable>\n\t\t\t</Settings>\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": "Document.Расход.Form.ФормаСписка", "-BorrowMainAttribute": "Form" }
|
||||
}
|
||||
],
|
||||
"params": { "extensionPath": "ext" },
|
||||
"args_extra": ["-ConfigPath", "{workDir}"],
|
||||
"expectError": true,
|
||||
"expect": { "stdoutContains": "Список.НетТакогоРеквизита" }
|
||||
}
|
||||
Reference in New Issue
Block a user