diff --git a/.claude/skills/cfe-validate/scripts/cfe-validate.ps1 b/.claude/skills/cfe-validate/scripts/cfe-validate.ps1
index 5ca103c0..60ef4a7d 100644
--- a/.claude/skills/cfe-validate/scripts/cfe-validate.ps1
+++ b/.claude/skills/cfe-validate/scripts/cfe-validate.ps1
@@ -1077,6 +1077,11 @@ if (-not $script:stopped -and $script:borrowedFormsWithTree.Count -gt 0) {
$rootMatch14 = [regex]::Match($raw, '(?s)]*>(?:(?!).)*?true')
if (-not $rootMatch14.Success) { continue }
$rootName = $rootMatch14.Groups[1].Value
+ # У динамического списка набор полей — результат его запроса, а не состав объекта:
+ # туда входят и стандартные поля списка (Ref, Date, DefaultPicture), и псевдонимы
+ # запроса. Сверять такие пути с ChildObjects объекта нельзя — будут ложные ошибки
+ # (корпусная проверка: 3383 таких сегмента на 1094 формах списка УТ).
+ if ($rootMatch14.Value -match '>cfg:DynamicList<') { continue }
$ownerKey = ($ctx -split '\.Form\.')[0]
$ownerParts = $ownerKey -split '\.', 2
if ($ownerParts.Count -lt 2) { continue }
diff --git a/.claude/skills/cfe-validate/scripts/cfe-validate.py b/.claude/skills/cfe-validate/scripts/cfe-validate.py
index 27ae1876..5a5f6fad 100644
--- a/.claude/skills/cfe-validate/scripts/cfe-validate.py
+++ b/.claude/skills/cfe-validate/scripts/cfe-validate.py
@@ -1051,6 +1051,12 @@ def main():
if root_match14 is None:
continue
root_name14 = root_match14.group(1)
+ # У динамического списка набор полей — результат его запроса, а не состав объекта:
+ # туда входят и стандартные поля списка (Ref, Date, DefaultPicture), и псевдонимы
+ # запроса. Сверять такие пути с ChildObjects объекта нельзя — будут ложные ошибки
+ # (корпусная проверка: 3383 таких сегмента на 1094 формах списка УТ).
+ if '>cfg:DynamicList<' in root_match14.group(0):
+ continue
owner_key = ctx.split('.Form.')[0]
owner_parts = owner_key.split('.', 1)
if len(owner_parts) < 2:
diff --git a/tests/skills/cases/cfe-validate/list-form-dangling-path.json b/tests/skills/cases/cfe-validate/list-form-dangling-path.json
deleted file mode 100644
index f70fe0f3..00000000
--- a/tests/skills/cases/cfe-validate/list-form-dangling-path.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
- "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": "\n
"
- }
- },
- {
- "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": "Список.НетТакогоРеквизита" }
-}
diff --git a/tests/skills/cases/cfe-validate/list-form-no-false-paths.json b/tests/skills/cases/cfe-validate/list-form-no-false-paths.json
new file mode 100644
index 00000000..0d40a369
--- /dev/null
+++ b/tests/skills/cases/cfe-validate/list-form-no-false-paths.json
@@ -0,0 +1,33 @@
+{
+ "name": "Пути формы списка не проверяются по составу объекта: поля запроса и стандартные поля списка — не висячие",
+ "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": "\n"
+ }
+ },
+ {
+ "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}"],
+ "expect": {
+ "stdoutNotContains": ["Список.DefaultPicture", "Список.ПредставлениеСостояния"]
+ }
+}
diff --git a/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Configuration.xml b/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Configuration.xml
new file mode 100644
index 00000000..5311dd4e
--- /dev/null
+++ b/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Configuration.xml
@@ -0,0 +1,252 @@
+
+
+
+
+
+ UUID-002
+ UUID-003
+
+
+ UUID-004
+ UUID-005
+
+
+ UUID-006
+ UUID-007
+
+
+ UUID-008
+ UUID-009
+
+
+ UUID-010
+ UUID-011
+
+
+ UUID-012
+ UUID-013
+
+
+ UUID-014
+ UUID-015
+
+
+
+ TestConfig
+
+
+ ru
+ TestConfig
+
+
+
+
+ Version8_3_24
+ ManagedApplication
+
+ PlatformApplication
+
+ Russian
+
+
+
+
+ false
+ false
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Biometrics
+ true
+
+
+ Location
+ false
+
+
+ BackgroundLocation
+ false
+
+
+ BluetoothPrinters
+ false
+
+
+ WiFiPrinters
+ false
+
+
+ Contacts
+ false
+
+
+ Calendars
+ false
+
+
+ PushNotifications
+ false
+
+
+ LocalNotifications
+ false
+
+
+ InAppPurchases
+ false
+
+
+ PersonalComputerFileExchange
+ false
+
+
+ Ads
+ false
+
+
+ NumberDialing
+ false
+
+
+ CallProcessing
+ false
+
+
+ CallLog
+ false
+
+
+ AutoSendSMS
+ false
+
+
+ ReceiveSMS
+ false
+
+
+ SMSLog
+ false
+
+
+ Camera
+ false
+
+
+ Microphone
+ false
+
+
+ MusicLibrary
+ false
+
+
+ PictureAndVideoLibraries
+ false
+
+
+ AudioPlaybackAndVibration
+ false
+
+
+ BackgroundAudioPlaybackAndVibration
+ false
+
+
+ InstallPackages
+ false
+
+
+ OSBackup
+ true
+
+
+ ApplicationUsageStatistics
+ false
+
+
+ BarcodeScanning
+ false
+
+
+ BackgroundAudioRecording
+ false
+
+
+ AllFilesAccess
+ false
+
+
+ Videoconferences
+ false
+
+
+ NFC
+ false
+
+
+ DocumentScanning
+ false
+
+
+ SpeechToText
+ false
+
+
+ Geofences
+ false
+
+
+ IncomingShareRequests
+ false
+
+
+ AllIncomingShareRequestsTypesProcessing
+ false
+
+
+
+
+
+ Normal
+
+
+ Language.Русский
+
+
+
+
+
+ Managed
+ NotAutoFree
+ DontUse
+ DontUse
+ TaxiEnableVersion8_2
+ DontUse
+ Version8_3_24
+
+
+
+ Русский
+ Расход
+
+
+
\ No newline at end of file
diff --git a/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Documents/Расход.xml b/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Documents/Расход.xml
new file mode 100644
index 00000000..771ab10e
--- /dev/null
+++ b/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Documents/Расход.xml
@@ -0,0 +1,127 @@
+
+
+
+
+
+ UUID-002
+ UUID-003
+
+
+ UUID-004
+ UUID-005
+
+
+ UUID-006
+ UUID-007
+
+
+ UUID-008
+ UUID-009
+
+
+ UUID-010
+ UUID-011
+
+
+
+ Расход
+
+
+ ru
+ Расход
+
+
+
+ true
+
+ String
+ 11
+ Variable
+ Year
+ true
+ true
+
+
+
+ Document.Расход.StandardAttribute.Number
+
+ Use
+ Begin
+ DontUse
+ Directly
+ Document.Расход.Form.ФормаСписка
+
+
+
+
+
+ Allow
+ Deny
+ AutoDelete
+ WriteSelected
+ AutoFill
+
+ true
+ true
+ false
+
+ Managed
+ Use
+
+
+
+
+
+ Auto
+ DontUse
+ false
+ false
+
+
+
+
+ Склад
+
+
+ ru
+ Склад
+
+
+
+
+ xs:string
+
+ 50
+ Variable
+
+
+ false
+
+
+
+ false
+
+ false
+ false
+
+
+ false
+
+ DontCheck
+ Items
+
+
+ Auto
+ Auto
+
+
+ Auto
+ DontIndex
+ Use
+ Use
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Documents/Расход/Ext/ObjectModule.bsl b/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Documents/Расход/Ext/ObjectModule.bsl
new file mode 100644
index 00000000..e69de29b
diff --git a/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Documents/Расход/Forms/ФормаСписка.xml b/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Documents/Расход/Forms/ФормаСписка.xml
new file mode 100644
index 00000000..79ff6a75
--- /dev/null
+++ b/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Documents/Расход/Forms/ФормаСписка.xml
@@ -0,0 +1,21 @@
+
+
+
+
\ No newline at end of file
diff --git a/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Documents/Расход/Forms/ФормаСписка/Ext/Form.xml b/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Documents/Расход/Forms/ФормаСписка/Ext/Form.xml
new file mode 100644
index 00000000..8b824c4c
--- /dev/null
+++ b/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Documents/Расход/Forms/ФормаСписка/Ext/Form.xml
@@ -0,0 +1,35 @@
+
+
\ No newline at end of file
diff --git a/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Documents/Расход/Forms/ФормаСписка/Ext/Form/Module.bsl b/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Documents/Расход/Forms/ФормаСписка/Ext/Form/Module.bsl
new file mode 100644
index 00000000..8ead4cec
--- /dev/null
+++ b/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Documents/Расход/Forms/ФормаСписка/Ext/Form/Module.bsl
@@ -0,0 +1,19 @@
+#Область ОбработчикиСобытийФормы
+
+#КонецОбласти
+
+#Область ОбработчикиСобытийЭлементовФормы
+
+#КонецОбласти
+
+#Область ОбработчикиКомандФормы
+
+#КонецОбласти
+
+#Область ОбработчикиОповещений
+
+#КонецОбласти
+
+#Область СлужебныеПроцедурыИФункции
+
+#КонецОбласти
\ No newline at end of file
diff --git a/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Ext/ClientApplicationInterface.xml b/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Ext/ClientApplicationInterface.xml
new file mode 100644
index 00000000..3c1161b2
--- /dev/null
+++ b/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Ext/ClientApplicationInterface.xml
@@ -0,0 +1,18 @@
+
+
+
+
+ UUID-002
+
+
+
+
+ UUID-004
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Ext/Configuration.xml b/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Ext/Configuration.xml
new file mode 100644
index 00000000..250ee8d0
--- /dev/null
+++ b/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Ext/Configuration.xml
@@ -0,0 +1,72 @@
+
+
+
+
+
+ UUID-002
+ UUID-003
+
+
+ UUID-004
+ UUID-005
+
+
+ UUID-006
+ UUID-007
+
+
+ UUID-008
+ UUID-009
+
+
+ UUID-010
+ UUID-011
+
+
+ UUID-012
+ UUID-013
+
+
+ UUID-014
+ UUID-015
+
+
+
+ Adopted
+ Тест
+
+
+ ru
+ Тест
+
+
+
+ Customization
+ true
+ Тест_
+ Version8_3_24
+ ManagedApplication
+
+ PlatformApplication
+
+ Russian
+
+ Role.Тест_ОсновнаяРоль
+
+
+
+ Language.Русский
+
+
+
+
+
+ TaxiEnableVersion8_2
+
+
+ Русский
+ Тест_ОсновнаяРоль
+ Расход
+
+
+
\ No newline at end of file
diff --git a/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Ext/Documents/Расход.xml b/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Ext/Documents/Расход.xml
new file mode 100644
index 00000000..d7f14d97
--- /dev/null
+++ b/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Ext/Documents/Расход.xml
@@ -0,0 +1,50 @@
+
+
+
+
+
+ UUID-002
+ UUID-003
+
+
+ UUID-004
+ UUID-005
+
+
+ UUID-006
+ UUID-007
+
+
+ UUID-008
+ UUID-009
+
+
+ UUID-010
+ UUID-011
+
+
+
+ Adopted
+ Расход
+
+ UUID-012
+ String
+ 11
+ Variable
+
+
+
+
+
+
+
+ Adopted
+ Склад
+
+ UUID-014
+ xs:string50Variable
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Ext/Documents/Расход/Forms/ФормаСписка.xml b/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Ext/Documents/Расход/Forms/ФормаСписка.xml
new file mode 100644
index 00000000..c10ef3f6
--- /dev/null
+++ b/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Ext/Documents/Расход/Forms/ФормаСписка.xml
@@ -0,0 +1,13 @@
+
+
+
+
\ No newline at end of file
diff --git a/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Ext/Documents/Расход/Forms/ФормаСписка/Ext/Form.xml b/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Ext/Documents/Расход/Forms/ФормаСписка/Ext/Form.xml
new file mode 100644
index 00000000..d6484817
--- /dev/null
+++ b/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Ext/Documents/Расход/Forms/ФормаСписка/Ext/Form.xml
@@ -0,0 +1,77 @@
+
+
\ No newline at end of file
diff --git a/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Ext/Documents/Расход/Forms/ФормаСписка/Ext/Form/Module.bsl b/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Ext/Documents/Расход/Forms/ФормаСписка/Ext/Form/Module.bsl
new file mode 100644
index 00000000..e69de29b
diff --git a/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Ext/Languages/Русский.xml b/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Ext/Languages/Русский.xml
new file mode 100644
index 00000000..c21624f5
--- /dev/null
+++ b/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Ext/Languages/Русский.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+ Adopted
+ Русский
+
+ UUID-002
+ ru
+
+
+
\ No newline at end of file
diff --git a/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Ext/Roles/Тест_ОсновнаяРоль.xml b/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Ext/Roles/Тест_ОсновнаяРоль.xml
new file mode 100644
index 00000000..ec9dfbaf
--- /dev/null
+++ b/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Ext/Roles/Тест_ОсновнаяРоль.xml
@@ -0,0 +1,10 @@
+
+
+
+
+ Тест_ОсновнаяРоль
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Languages/Русский.xml b/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Languages/Русский.xml
new file mode 100644
index 00000000..37c60d78
--- /dev/null
+++ b/tests/skills/cases/cfe-validate/snapshots/list-form-no-false-paths/Languages/Русский.xml
@@ -0,0 +1,16 @@
+
+
+
+
+ Русский
+
+
+ ru
+ Русский
+
+
+
+ ru
+
+
+
\ No newline at end of file