diff --git a/.claude/skills/cfe-borrow/scripts/cfe-borrow.py b/.claude/skills/cfe-borrow/scripts/cfe-borrow.py
index a8f12e328..48952b7a1 100644
--- a/.claude/skills/cfe-borrow/scripts/cfe-borrow.py
+++ b/.claude/skills/cfe-borrow/scripts/cfe-borrow.py
@@ -2439,7 +2439,7 @@ def main():
else:
warn(f" Enum.{enum_name} not found in source config")
- # Вне блока ChildItems: стили нужны и оформлению формы без элементов
+ # Вне блока ChildItems: стили нужны и оформлению формы без элементов
# Auto-borrow StyleItems referenced in ChildItems and in the form's conditional appearance
# (стиль только из оформления Конфигуратор тоже заимствует — эталон УТ CAStyle).
# Порядок первого упоминания — как в PS-порте (от него зависит порядок в ChildObjects)
diff --git a/tests/skills/cases/cfe-borrow/common-form-reborrow.json b/tests/skills/cases/cfe-borrow/common-form-reborrow.json
new file mode 100644
index 000000000..328838ce5
--- /dev/null
+++ b/tests/skills/cases/cfe-borrow/common-form-reborrow.json
@@ -0,0 +1,109 @@
+{
+ "name": "Повторное заимствование общей формы: модуль расширения сохранён, регистрация в Configuration.xml не задвоена",
+ "preRun": [
+ {
+ "script": "meta-compile/scripts/meta-compile",
+ "input": {
+ "type": "Catalog",
+ "name": "Склады"
+ },
+ "args": {
+ "-JsonPath": "{inputFile}",
+ "-OutputDir": "{workDir}"
+ }
+ },
+ {
+ "script": "meta-compile/scripts/meta-compile",
+ "input": {
+ "type": "CommonForm",
+ "name": "Подбор"
+ },
+ "args": {
+ "-JsonPath": "{inputFile}",
+ "-OutputDir": "{workDir}"
+ }
+ },
+ {
+ "script": "form-compile/scripts/form-compile",
+ "input": {
+ "title": "Подбор",
+ "elements": [
+ {
+ "check": "Режим",
+ "path": "Режим"
+ },
+ {
+ "table": "Таблица",
+ "path": "Таблица",
+ "columns": [
+ {
+ "input": "ТаблицаСклад",
+ "path": "Таблица.Склад",
+ "choiceParameterLinks": [
+ {
+ "name": "Отбор.Ссылка",
+ "dataPath": "Items.Таблица.CurrentData.Склад"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "attributes": [
+ {
+ "name": "Режим",
+ "type": "boolean"
+ },
+ {
+ "name": "Таблица",
+ "type": "ValueTable",
+ "columns": [
+ {
+ "name": "Склад",
+ "type": "CatalogRef.Склады"
+ }
+ ]
+ }
+ ]
+ },
+ "args": {
+ "-JsonPath": "{inputFile}",
+ "-OutputPath": "{workDir}/CommonForms/Подбор/Ext/Form.xml"
+ }
+ },
+ {
+ "script": "cfe-init/scripts/cfe-init",
+ "args": {
+ "-Name": "Тест",
+ "-OutputDir": "{workDir}/cfe",
+ "-ConfigPath": "{workDir}"
+ }
+ },
+ {
+ "script": "cfe-borrow/scripts/cfe-borrow",
+ "args": {
+ "-ExtensionPath": "{workDir}/cfe",
+ "-ConfigPath": "{workDir}",
+ "-Object": "CommonForm.Подбор"
+ }
+ },
+ {
+ "writeFile": {
+ "path": "cfe/CommonForms/Подбор/Ext/Form/Module.bsl",
+ "content": "// код расширения\n"
+ }
+ }
+ ],
+ "params": {
+ "extensionPath": "cfe",
+ "object": "CommonForm.Подбор"
+ },
+ "expect": {
+ "fileContains": {
+ "file": "cfe/CommonForms/Подбор/Ext/Form/Module.bsl",
+ "text": "// код расширения"
+ },
+ "stdoutContains": "Preserved existing Module.bsl",
+ "stdoutNotContains": "Already in ChildObjects"
+ }
+}
diff --git a/tests/skills/cases/cfe-borrow/snapshots/common-form-reborrow/Catalogs/Склады.xml b/tests/skills/cases/cfe-borrow/snapshots/common-form-reborrow/Catalogs/Склады.xml
new file mode 100644
index 000000000..407ed9812
--- /dev/null
+++ b/tests/skills/cases/cfe-borrow/snapshots/common-form-reborrow/Catalogs/Склады.xml
@@ -0,0 +1,91 @@
+
+
+
+
+
+ UUID-002
+ UUID-003
+
+
+ UUID-004
+ UUID-005
+
+
+ UUID-006
+ UUID-007
+
+
+ UUID-008
+ UUID-009
+
+
+ UUID-010
+ UUID-011
+
+
+
+ Склады
+
+
+ ru
+ Склады
+
+
+
+ false
+ HierarchyFoldersAndItems
+ false
+ 2
+ true
+ true
+
+ ToItems
+ 9
+ 25
+ String
+ Variable
+ WholeCatalog
+ false
+ true
+ AsDescription
+
+ Auto
+ InDialog
+ false
+ BothWays
+
+ Catalog.Склады.StandardAttribute.Description
+ Catalog.Склады.StandardAttribute.Code
+
+ Begin
+ DontUse
+ Directly
+
+
+
+
+
+
+
+
+
+
+ false
+
+
+ Managed
+ Use
+
+
+
+
+
+ Use
+ Auto
+ DontUse
+ false
+ false
+
+
+
+
\ No newline at end of file
diff --git a/tests/skills/cases/cfe-borrow/snapshots/common-form-reborrow/Catalogs/Склады/Ext/ObjectModule.bsl b/tests/skills/cases/cfe-borrow/snapshots/common-form-reborrow/Catalogs/Склады/Ext/ObjectModule.bsl
new file mode 100644
index 000000000..e69de29bb
diff --git a/tests/skills/cases/cfe-borrow/snapshots/common-form-reborrow/CommonForms/Подбор.xml b/tests/skills/cases/cfe-borrow/snapshots/common-form-reborrow/CommonForms/Подбор.xml
new file mode 100644
index 000000000..528d51d56
--- /dev/null
+++ b/tests/skills/cases/cfe-borrow/snapshots/common-form-reborrow/CommonForms/Подбор.xml
@@ -0,0 +1,24 @@
+
+
+
+
+ Подбор
+
+
+ ru
+ Подбор
+
+
+
+ Managed
+ false
+
+ PlatformApplication
+ MobilePlatformApplication
+
+ false
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/skills/cases/cfe-borrow/snapshots/common-form-reborrow/CommonForms/Подбор/Ext/Form.xml b/tests/skills/cases/cfe-borrow/snapshots/common-form-reborrow/CommonForms/Подбор/Ext/Form.xml
new file mode 100644
index 000000000..362861bc9
--- /dev/null
+++ b/tests/skills/cases/cfe-borrow/snapshots/common-form-reborrow/CommonForms/Подбор/Ext/Form.xml
@@ -0,0 +1,95 @@
+
+
\ No newline at end of file
diff --git a/tests/skills/cases/cfe-borrow/snapshots/common-form-reborrow/CommonForms/Подбор/Ext/Form/Module.bsl b/tests/skills/cases/cfe-borrow/snapshots/common-form-reborrow/CommonForms/Подбор/Ext/Form/Module.bsl
new file mode 100644
index 000000000..e69de29bb
diff --git a/tests/skills/cases/cfe-borrow/snapshots/common-form-reborrow/Configuration.xml b/tests/skills/cases/cfe-borrow/snapshots/common-form-reborrow/Configuration.xml
new file mode 100644
index 000000000..dacfa4706
--- /dev/null
+++ b/tests/skills/cases/cfe-borrow/snapshots/common-form-reborrow/Configuration.xml
@@ -0,0 +1,253 @@
+
+
+
+
+
+ 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-borrow/snapshots/common-form-reborrow/Ext/ClientApplicationInterface.xml b/tests/skills/cases/cfe-borrow/snapshots/common-form-reborrow/Ext/ClientApplicationInterface.xml
new file mode 100644
index 000000000..3c1161b2d
--- /dev/null
+++ b/tests/skills/cases/cfe-borrow/snapshots/common-form-reborrow/Ext/ClientApplicationInterface.xml
@@ -0,0 +1,18 @@
+
+
+
+
+ UUID-002
+
+
+
+
+ UUID-004
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/skills/cases/cfe-borrow/snapshots/common-form-reborrow/Languages/Русский.xml b/tests/skills/cases/cfe-borrow/snapshots/common-form-reborrow/Languages/Русский.xml
new file mode 100644
index 000000000..37c60d786
--- /dev/null
+++ b/tests/skills/cases/cfe-borrow/snapshots/common-form-reborrow/Languages/Русский.xml
@@ -0,0 +1,16 @@
+
+
+
+
+ Русский
+
+
+ ru
+ Русский
+
+
+
+ ru
+
+
+
\ No newline at end of file
diff --git a/tests/skills/cases/cfe-borrow/snapshots/common-form-reborrow/cfe/CommonForms/Подбор.xml b/tests/skills/cases/cfe-borrow/snapshots/common-form-reborrow/cfe/CommonForms/Подбор.xml
new file mode 100644
index 000000000..6e49f3efe
--- /dev/null
+++ b/tests/skills/cases/cfe-borrow/snapshots/common-form-reborrow/cfe/CommonForms/Подбор.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+ Adopted
+ Подбор
+
+ UUID-002
+ Managed
+
+
+
\ No newline at end of file
diff --git a/tests/skills/cases/cfe-borrow/snapshots/common-form-reborrow/cfe/CommonForms/Подбор/Ext/Form.xml b/tests/skills/cases/cfe-borrow/snapshots/common-form-reborrow/cfe/CommonForms/Подбор/Ext/Form.xml
new file mode 100644
index 000000000..95334ce37
--- /dev/null
+++ b/tests/skills/cases/cfe-borrow/snapshots/common-form-reborrow/cfe/CommonForms/Подбор/Ext/Form.xml
@@ -0,0 +1,123 @@
+
+
\ No newline at end of file
diff --git a/tests/skills/cases/cfe-borrow/snapshots/common-form-reborrow/cfe/CommonForms/Подбор/Ext/Form/Module.bsl b/tests/skills/cases/cfe-borrow/snapshots/common-form-reborrow/cfe/CommonForms/Подбор/Ext/Form/Module.bsl
new file mode 100644
index 000000000..b239a7354
--- /dev/null
+++ b/tests/skills/cases/cfe-borrow/snapshots/common-form-reborrow/cfe/CommonForms/Подбор/Ext/Form/Module.bsl
@@ -0,0 +1 @@
+// код расширения
diff --git a/tests/skills/cases/cfe-borrow/snapshots/common-form-reborrow/cfe/Configuration.xml b/tests/skills/cases/cfe-borrow/snapshots/common-form-reborrow/cfe/Configuration.xml
new file mode 100644
index 000000000..10b30f378
--- /dev/null
+++ b/tests/skills/cases/cfe-borrow/snapshots/common-form-reborrow/cfe/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-borrow/snapshots/common-form-reborrow/cfe/Languages/Русский.xml b/tests/skills/cases/cfe-borrow/snapshots/common-form-reborrow/cfe/Languages/Русский.xml
new file mode 100644
index 000000000..c21624f52
--- /dev/null
+++ b/tests/skills/cases/cfe-borrow/snapshots/common-form-reborrow/cfe/Languages/Русский.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+ Adopted
+ Русский
+
+ UUID-002
+ ru
+
+
+
\ No newline at end of file
diff --git a/tests/skills/cases/cfe-borrow/snapshots/common-form-reborrow/cfe/Roles/Тест_ОсновнаяРоль.xml b/tests/skills/cases/cfe-borrow/snapshots/common-form-reborrow/cfe/Roles/Тест_ОсновнаяРоль.xml
new file mode 100644
index 000000000..ec9dfbaf6
--- /dev/null
+++ b/tests/skills/cases/cfe-borrow/snapshots/common-form-reborrow/cfe/Roles/Тест_ОсновнаяРоль.xml
@@ -0,0 +1,10 @@
+
+
+
+
+ Тест_ОсновнаяРоль
+
+
+
+
+
\ No newline at end of file