diff --git a/.claude/skills/role-compile/scripts/role-compile.ps1 b/.claude/skills/role-compile/scripts/role-compile.ps1
index f55e5b878..13268eeb4 100644
--- a/.claude/skills/role-compile/scripts/role-compile.ps1
+++ b/.claude/skills/role-compile/scripts/role-compile.ps1
@@ -1,4 +1,4 @@
-# role-compile v1.37 — Compile 1C role from JSON
+# role-compile v1.38 — Compile 1C role from JSON
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
[CmdletBinding(PositionalBinding=$false)]
param(
@@ -620,6 +620,219 @@ $script:presets = @{
}
}
+# --- 4a. Канонический порядок прав и узлов (замерено на платформе) ---
+# Платформа нормализует порядок внутри
-
- View
- true
-
-
- Edit
- true
-
-
- InputByString
- true
-
Posting
true
@@ -56,10 +44,18 @@
UndoPosting
true
+
+ View
+ true
+
InteractiveInsert
true
+
+ Edit
+ true
+
InteractiveSetDeletionMark
true
@@ -84,6 +80,10 @@
InteractiveChangeOfPosted
true
+
+ InputByString
+ true
+
InformationRegister.Цены
diff --git a/tests/skills/cases/role-info/snapshots/with-rls/Roles/ОграниченноеЧтение/Ext/Rights.xml b/tests/skills/cases/role-info/snapshots/with-rls/Roles/ОграниченноеЧтение/Ext/Rights.xml
index bea9dd341..b0beeae28 100644
--- a/tests/skills/cases/role-info/snapshots/with-rls/Roles/ОграниченноеЧтение/Ext/Rights.xml
+++ b/tests/skills/cases/role-info/snapshots/with-rls/Roles/ОграниченноеЧтение/Ext/Rights.xml
@@ -3,21 +3,6 @@
false
true
false
-
- Catalog.Организации
-
- Read
- true
-
-
- View
- true
-
-
- InputByString
- true
-
-
Document.Реализация
@@ -36,6 +21,21 @@
true
+
+ Catalog.Организации
+
+ Read
+ true
+
+
+ View
+ true
+
+
+ InputByString
+ true
+
+
ПоОрганизации(Мод)
ГДЕ Организация = &Орг
diff --git a/tests/skills/cases/role-info/with-rls.json b/tests/skills/cases/role-info/with-rls.json
index 200d179ad..5ebfffdb4 100644
--- a/tests/skills/cases/role-info/with-rls.json
+++ b/tests/skills/cases/role-info/with-rls.json
@@ -1,56 +1,6 @@
{
"name": "Обзор роли с RLS",
- "preRun": [
- {
- "script": "meta-compile/scripts/meta-compile",
- "input": {
- "type": "Catalog",
- "name": "Организации"
- },
- "args": {
- "-JsonPath": "{inputFile}",
- "-OutputDir": "{workDir}"
- }
- },
- {
- "script": "meta-compile/scripts/meta-compile",
- "input": {
- "type": "Document",
- "name": "Реализация"
- },
- "args": {
- "-JsonPath": "{inputFile}",
- "-OutputDir": "{workDir}"
- }
- },
- {
- "script": "role-compile/scripts/role-compile",
- "input": {
- "name": "ОграниченноеЧтение",
- "synonym": "Ограниченное чтение",
- "objects": [
- "Catalog.Организации: @view",
- {
- "name": "Document.Реализация",
- "preset": "view",
- "rls": {
- "Read": "#ПоОрганизации(\"\")"
- }
- }
- ],
- "templates": [
- {
- "name": "ПоОрганизации(Мод)",
- "condition": "ГДЕ Организация = &Орг"
- }
- ]
- },
- "args": {
- "-JsonPath": "{inputFile}",
- "-OutputDir": "{workDir}"
- }
- }
- ],
+ "setup": "fixture:with-rls-fx",
"params": {
"rightsPath": "Roles/ОграниченноеЧтение/Ext/Rights.xml"
},
diff --git a/tests/skills/cases/role-validate/fixtures/multiple-objects-fx/Catalogs/Товары.xml b/tests/skills/cases/role-validate/fixtures/multiple-objects-fx/Catalogs/Товары.xml
new file mode 100644
index 000000000..259bfd890
--- /dev/null
+++ b/tests/skills/cases/role-validate/fixtures/multiple-objects-fx/Catalogs/Товары.xml
@@ -0,0 +1,91 @@
+
+
+
+
+
+ 9d5bd904-f71f-4248-b3d1-e0dd2a533d67
+ dde2fe97-eb1c-4c98-8d7a-5eb040c3d076
+
+
+ e07b81f8-b9fa-4090-a238-ced0ffa52a83
+ b103aff9-b63e-4ed0-9de0-7a0e92f1939d
+
+
+ 361e5552-ec18-4867-baf6-4c8d1fe1fd4d
+ e3492c25-69e6-4fd6-ae5a-355e08295d84
+
+
+ 744c5baf-5f01-42ef-a535-500cf85efbaa
+ 0f578984-235f-49e8-b333-0d94b32a1988
+
+
+ a7b58da6-31eb-4745-bfb5-763389601818
+ 1b167000-583a-4385-9683-e1e37b3b310f
+
+
+
+ Товары
+
+
+ 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/role-validate/fixtures/multiple-objects-fx/Catalogs/Товары/Ext/ObjectModule.bsl b/tests/skills/cases/role-validate/fixtures/multiple-objects-fx/Catalogs/Товары/Ext/ObjectModule.bsl
new file mode 100644
index 000000000..5f282702b
--- /dev/null
+++ b/tests/skills/cases/role-validate/fixtures/multiple-objects-fx/Catalogs/Товары/Ext/ObjectModule.bsl
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/tests/skills/cases/role-validate/fixtures/multiple-objects-fx/Configuration.xml b/tests/skills/cases/role-validate/fixtures/multiple-objects-fx/Configuration.xml
new file mode 100644
index 000000000..a16510244
--- /dev/null
+++ b/tests/skills/cases/role-validate/fixtures/multiple-objects-fx/Configuration.xml
@@ -0,0 +1,254 @@
+
+
+
+
+
+ 9cd510cd-abfc-11d4-9434-004095e12fc7
+ 2e5a0bea-0584-40a1-bbd0-cad58d78fcf3
+
+
+ 9fcd25a0-4822-11d4-9414-008048da11f9
+ 1b67389e-b9ff-46fc-b3fb-d0a6a2215097
+
+
+ e3687481-0a87-462c-a166-9f34594f9bba
+ 3679fc17-1732-4104-a0c8-8dd9ee1dbc29
+
+
+ 9de14907-ec23-4a07-96f0-85521cb6b53b
+ 208edb61-9e27-4327-b88b-708293b694e0
+
+
+ 51f2d5d8-ea4d-4064-8892-82951750031e
+ b055bd70-abf5-4243-b406-5dae53b448c7
+
+
+ e68182ea-4237-4383-967f-90c1e3370bc7
+ 83b31694-ae7f-4991-b2eb-7d7d07f81ad4
+
+
+ fb282519-d103-4dd3-bc12-cb271d631dfc
+ 8118f9b7-102e-4b8b-acb0-b5e09e5a1390
+
+
+
+ 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/role-validate/fixtures/multiple-objects-fx/Documents/Заказ.xml b/tests/skills/cases/role-validate/fixtures/multiple-objects-fx/Documents/Заказ.xml
new file mode 100644
index 000000000..ef25c2db7
--- /dev/null
+++ b/tests/skills/cases/role-validate/fixtures/multiple-objects-fx/Documents/Заказ.xml
@@ -0,0 +1,82 @@
+
+
+
+
+
+ a6a83ef1-2ec0-4741-9f33-fca40278b2c0
+ 6770645f-838a-44a5-9e72-c20e32c26e76
+
+
+ 53a0e3d3-1f23-43ae-b669-169d45805c64
+ 414527b5-14ca-4a4f-ad10-90c268e1a0ed
+
+
+ 52ea4585-4393-4a11-a86b-38a823045ec4
+ d60d2239-f0bc-4e83-956b-ba8ea8a20118
+
+
+ 88a36e2b-61fd-4783-88a9-e023817659f7
+ 89dbcce3-9c01-465f-980e-4e4abd9f6206
+
+
+ 96ea1967-f022-4805-9cd4-cb27b5ca4b34
+ 337562ac-9485-4de6-9d3e-839b963da127
+
+
+
+ Заказ
+
+
+ ru
+ Заказ
+
+
+
+ true
+
+ String
+ 11
+ Variable
+ Year
+ true
+ true
+
+
+
+ Document.Заказ.StandardAttribute.Number
+
+ Use
+ Begin
+ DontUse
+ Directly
+
+
+
+
+
+
+ Allow
+ Deny
+ AutoDelete
+ WriteSelected
+ AutoFill
+
+ true
+ true
+ false
+
+ Managed
+ Use
+
+
+
+
+
+ Auto
+ DontUse
+ false
+ false
+
+
+
+
\ No newline at end of file
diff --git a/tests/skills/cases/role-validate/fixtures/multiple-objects-fx/Documents/Заказ/Ext/ObjectModule.bsl b/tests/skills/cases/role-validate/fixtures/multiple-objects-fx/Documents/Заказ/Ext/ObjectModule.bsl
new file mode 100644
index 000000000..5f282702b
--- /dev/null
+++ b/tests/skills/cases/role-validate/fixtures/multiple-objects-fx/Documents/Заказ/Ext/ObjectModule.bsl
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/tests/skills/cases/role-validate/fixtures/multiple-objects-fx/Ext/ClientApplicationInterface.xml b/tests/skills/cases/role-validate/fixtures/multiple-objects-fx/Ext/ClientApplicationInterface.xml
new file mode 100644
index 000000000..3c92ebe52
--- /dev/null
+++ b/tests/skills/cases/role-validate/fixtures/multiple-objects-fx/Ext/ClientApplicationInterface.xml
@@ -0,0 +1,18 @@
+
+
+
+
+ cbab57f2-a0f3-4f0a-89ea-4cb19570ab75
+
+
+
+
+ b553047f-c9aa-4157-978d-448ecad24248
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/skills/cases/role-validate/fixtures/multiple-objects-fx/Languages/Русский.xml b/tests/skills/cases/role-validate/fixtures/multiple-objects-fx/Languages/Русский.xml
new file mode 100644
index 000000000..ef60a7426
--- /dev/null
+++ b/tests/skills/cases/role-validate/fixtures/multiple-objects-fx/Languages/Русский.xml
@@ -0,0 +1,16 @@
+
+
+
+
+ Русский
+
+
+ ru
+ Русский
+
+
+
+ ru
+
+
+
\ No newline at end of file
diff --git a/tests/skills/cases/role-validate/fixtures/multiple-objects-fx/Roles/Менеджер.xml b/tests/skills/cases/role-validate/fixtures/multiple-objects-fx/Roles/Менеджер.xml
new file mode 100644
index 000000000..c8ccae857
--- /dev/null
+++ b/tests/skills/cases/role-validate/fixtures/multiple-objects-fx/Roles/Менеджер.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ Менеджер
+
+
+ ru
+ Менеджер
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/skills/cases/role-validate/fixtures/multiple-objects-fx/Roles/Менеджер/Ext/Rights.xml b/tests/skills/cases/role-validate/fixtures/multiple-objects-fx/Roles/Менеджер/Ext/Rights.xml
new file mode 100644
index 000000000..ff37cd21c
--- /dev/null
+++ b/tests/skills/cases/role-validate/fixtures/multiple-objects-fx/Roles/Менеджер/Ext/Rights.xml
@@ -0,0 +1,88 @@
+
+
+ false
+ true
+ false
+
+ Catalog.Товары
+
+ Read
+ true
+
+
+ View
+ true
+
+
+ InputByString
+ true
+
+
+
+ Document.Заказ
+
+ Read
+ true
+
+
+ Insert
+ true
+
+
+ Update
+ true
+
+
+ Delete
+ true
+
+
+ Posting
+ true
+
+
+ UndoPosting
+ true
+
+
+ View
+ true
+
+
+ InteractiveInsert
+ true
+
+
+ Edit
+ true
+
+
+ InteractiveSetDeletionMark
+ true
+
+
+ InteractiveClearDeletionMark
+ true
+
+
+ InteractivePosting
+ true
+
+
+ InteractivePostingRegular
+ true
+
+
+ InteractiveUndoPosting
+ true
+
+
+ InteractiveChangeOfPosted
+ true
+
+
+ InputByString
+ true
+
+
+
\ No newline at end of file
diff --git a/tests/skills/cases/role-validate/fixtures/valid-role-fx/Catalogs/Товары.xml b/tests/skills/cases/role-validate/fixtures/valid-role-fx/Catalogs/Товары.xml
new file mode 100644
index 000000000..7f58f66cd
--- /dev/null
+++ b/tests/skills/cases/role-validate/fixtures/valid-role-fx/Catalogs/Товары.xml
@@ -0,0 +1,91 @@
+
+
+
+
+
+ 27c34577-5332-4d45-9684-cd074cd7107a
+ 01a0ceb6-c2cd-465a-8e40-4d2365389e42
+
+
+ 280af0f9-47ad-4821-a025-95a0ffadf7bd
+ 7c2a15fc-63e5-4c56-bd36-0840bf9a8dcf
+
+
+ a1f6d19e-6bfa-4336-8513-35d18ed83dbf
+ c25a1cf5-af24-4aca-8cbd-9e18aace87b1
+
+
+ 8199993a-966e-428b-a24d-ae274698daec
+ 047cfb73-203b-420d-84bd-e27341c6f4c1
+
+
+ b7f0664c-4537-4fcb-ae20-9c6283e2e2e9
+ 2d65b6d2-10c8-4ed6-82e8-65ca37077cae
+
+
+
+ Товары
+
+
+ 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/role-validate/fixtures/valid-role-fx/Catalogs/Товары/Ext/ObjectModule.bsl b/tests/skills/cases/role-validate/fixtures/valid-role-fx/Catalogs/Товары/Ext/ObjectModule.bsl
new file mode 100644
index 000000000..5f282702b
--- /dev/null
+++ b/tests/skills/cases/role-validate/fixtures/valid-role-fx/Catalogs/Товары/Ext/ObjectModule.bsl
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/tests/skills/cases/role-validate/fixtures/valid-role-fx/Configuration.xml b/tests/skills/cases/role-validate/fixtures/valid-role-fx/Configuration.xml
new file mode 100644
index 000000000..eec671511
--- /dev/null
+++ b/tests/skills/cases/role-validate/fixtures/valid-role-fx/Configuration.xml
@@ -0,0 +1,253 @@
+
+
+
+
+
+ 9cd510cd-abfc-11d4-9434-004095e12fc7
+ e7527f06-eab9-414f-a04f-c127168a6a4b
+
+
+ 9fcd25a0-4822-11d4-9414-008048da11f9
+ b8c2f193-9784-4937-a747-c9598ca22089
+
+
+ e3687481-0a87-462c-a166-9f34594f9bba
+ f67f5d5e-0813-49a6-b88e-4b83e3b16cd4
+
+
+ 9de14907-ec23-4a07-96f0-85521cb6b53b
+ b70d53b8-8190-484f-b9e9-a5d30724d06b
+
+
+ 51f2d5d8-ea4d-4064-8892-82951750031e
+ 48ae7580-2014-47f9-8ad4-bc00689580d8
+
+
+ e68182ea-4237-4383-967f-90c1e3370bc7
+ 00fdbb5f-0dbf-438d-b6cb-93947b5632e0
+
+
+ fb282519-d103-4dd3-bc12-cb271d631dfc
+ f9b8f86a-df91-41c1-85b1-28d3c9c58593
+
+
+
+ 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/role-validate/fixtures/valid-role-fx/Ext/ClientApplicationInterface.xml b/tests/skills/cases/role-validate/fixtures/valid-role-fx/Ext/ClientApplicationInterface.xml
new file mode 100644
index 000000000..3cf9bc9ec
--- /dev/null
+++ b/tests/skills/cases/role-validate/fixtures/valid-role-fx/Ext/ClientApplicationInterface.xml
@@ -0,0 +1,18 @@
+
+
+
+
+ cbab57f2-a0f3-4f0a-89ea-4cb19570ab75
+
+
+
+
+ b553047f-c9aa-4157-978d-448ecad24248
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/skills/cases/role-validate/fixtures/valid-role-fx/Languages/Русский.xml b/tests/skills/cases/role-validate/fixtures/valid-role-fx/Languages/Русский.xml
new file mode 100644
index 000000000..8ca95d309
--- /dev/null
+++ b/tests/skills/cases/role-validate/fixtures/valid-role-fx/Languages/Русский.xml
@@ -0,0 +1,16 @@
+
+
+
+
+ Русский
+
+
+ ru
+ Русский
+
+
+
+ ru
+
+
+
\ No newline at end of file
diff --git a/tests/skills/cases/role-validate/fixtures/valid-role-fx/Roles/Тест.xml b/tests/skills/cases/role-validate/fixtures/valid-role-fx/Roles/Тест.xml
new file mode 100644
index 000000000..8ece46eae
--- /dev/null
+++ b/tests/skills/cases/role-validate/fixtures/valid-role-fx/Roles/Тест.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ Тест
+
+
+ ru
+ Тест
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/skills/cases/role-validate/fixtures/valid-role-fx/Roles/Тест/Ext/Rights.xml b/tests/skills/cases/role-validate/fixtures/valid-role-fx/Roles/Тест/Ext/Rights.xml
new file mode 100644
index 000000000..cd4af1f98
--- /dev/null
+++ b/tests/skills/cases/role-validate/fixtures/valid-role-fx/Roles/Тест/Ext/Rights.xml
@@ -0,0 +1,13 @@
+
+
+ false
+ true
+ false
+
+ Catalog.Товары
+
+ Read
+ true
+
+
+
\ No newline at end of file
diff --git a/tests/skills/cases/role-validate/fixtures/with-rls-fx/Configuration.xml b/tests/skills/cases/role-validate/fixtures/with-rls-fx/Configuration.xml
new file mode 100644
index 000000000..698e0bd09
--- /dev/null
+++ b/tests/skills/cases/role-validate/fixtures/with-rls-fx/Configuration.xml
@@ -0,0 +1,253 @@
+
+
+
+
+
+ 9cd510cd-abfc-11d4-9434-004095e12fc7
+ 2f7ad3ae-3826-4d36-a959-4df6f1429c04
+
+
+ 9fcd25a0-4822-11d4-9414-008048da11f9
+ 49d4d62d-e5aa-479f-87d7-1659f945c4e6
+
+
+ e3687481-0a87-462c-a166-9f34594f9bba
+ 675a1d14-ac25-475a-97b0-af3a2c4c3e01
+
+
+ 9de14907-ec23-4a07-96f0-85521cb6b53b
+ cfbfcc7a-c926-46a3-9715-2b7d84aac637
+
+
+ 51f2d5d8-ea4d-4064-8892-82951750031e
+ f9f15028-735e-4fb9-856c-fd5a96008316
+
+
+ e68182ea-4237-4383-967f-90c1e3370bc7
+ 45a0e80c-3887-41bb-a734-933900a2bd73
+
+
+ fb282519-d103-4dd3-bc12-cb271d631dfc
+ db8b29c8-b8b7-47f0-a97a-a1c95c051cfc
+
+
+
+ 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/role-validate/fixtures/with-rls-fx/Documents/Продажа.xml b/tests/skills/cases/role-validate/fixtures/with-rls-fx/Documents/Продажа.xml
new file mode 100644
index 000000000..39add852c
--- /dev/null
+++ b/tests/skills/cases/role-validate/fixtures/with-rls-fx/Documents/Продажа.xml
@@ -0,0 +1,82 @@
+
+
+
+
+
+ 04ebf080-1605-4745-9c5a-f6ba89bad6f8
+ 7700139b-5223-4520-bd89-41216b982a28
+
+
+ ad5e0cef-4320-441b-8e2a-9094f3160979
+ 3df7137f-f117-4e2e-a94b-fad512744ce1
+
+
+ af826de1-8ebc-4816-a9d0-12de0afe737f
+ 92ea7c97-9976-45b9-8d82-396f822a5eb4
+
+
+ dd152483-146d-4929-a640-401b5a91a604
+ 594c9516-ae4f-4fb0-beba-ab3aba0465f3
+
+
+ c21947c8-b9c2-418e-ab06-4765bb92b739
+ a1bb80e2-1723-443d-b6e6-37b17ab5c6ac
+
+
+
+ Продажа
+
+
+ ru
+ Продажа
+
+
+
+ true
+
+ String
+ 11
+ Variable
+ Year
+ true
+ true
+
+
+
+ Document.Продажа.StandardAttribute.Number
+
+ Use
+ Begin
+ DontUse
+ Directly
+
+
+
+
+
+
+ Allow
+ Deny
+ AutoDelete
+ WriteSelected
+ AutoFill
+
+ true
+ true
+ false
+
+ Managed
+ Use
+
+
+
+
+
+ Auto
+ DontUse
+ false
+ false
+
+
+
+
\ No newline at end of file
diff --git a/tests/skills/cases/role-validate/fixtures/with-rls-fx/Documents/Продажа/Ext/ObjectModule.bsl b/tests/skills/cases/role-validate/fixtures/with-rls-fx/Documents/Продажа/Ext/ObjectModule.bsl
new file mode 100644
index 000000000..5f282702b
--- /dev/null
+++ b/tests/skills/cases/role-validate/fixtures/with-rls-fx/Documents/Продажа/Ext/ObjectModule.bsl
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/tests/skills/cases/role-validate/fixtures/with-rls-fx/Ext/ClientApplicationInterface.xml b/tests/skills/cases/role-validate/fixtures/with-rls-fx/Ext/ClientApplicationInterface.xml
new file mode 100644
index 000000000..576bc742d
--- /dev/null
+++ b/tests/skills/cases/role-validate/fixtures/with-rls-fx/Ext/ClientApplicationInterface.xml
@@ -0,0 +1,18 @@
+
+
+
+
+ cbab57f2-a0f3-4f0a-89ea-4cb19570ab75
+
+
+
+
+ b553047f-c9aa-4157-978d-448ecad24248
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/skills/cases/role-validate/fixtures/with-rls-fx/Languages/Русский.xml b/tests/skills/cases/role-validate/fixtures/with-rls-fx/Languages/Русский.xml
new file mode 100644
index 000000000..5348289a9
--- /dev/null
+++ b/tests/skills/cases/role-validate/fixtures/with-rls-fx/Languages/Русский.xml
@@ -0,0 +1,16 @@
+
+
+
+
+ Русский
+
+
+ ru
+ Русский
+
+
+
+ ru
+
+
+
\ No newline at end of file
diff --git a/tests/skills/cases/role-validate/fixtures/with-rls-fx/Roles/СОграничениями.xml b/tests/skills/cases/role-validate/fixtures/with-rls-fx/Roles/СОграничениями.xml
new file mode 100644
index 000000000..dd56556be
--- /dev/null
+++ b/tests/skills/cases/role-validate/fixtures/with-rls-fx/Roles/СОграничениями.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ СОграничениями
+
+
+ ru
+ СОграничениями
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/skills/cases/role-validate/fixtures/with-rls-fx/Roles/СОграничениями/Ext/Rights.xml b/tests/skills/cases/role-validate/fixtures/with-rls-fx/Roles/СОграничениями/Ext/Rights.xml
new file mode 100644
index 000000000..648480471
--- /dev/null
+++ b/tests/skills/cases/role-validate/fixtures/with-rls-fx/Roles/СОграничениями/Ext/Rights.xml
@@ -0,0 +1,28 @@
+
+
+ false
+ true
+ false
+
+ Document.Продажа
+
+ Read
+ true
+
+ #Шаблон("")
+
+
+
+ View
+ true
+
+
+ InputByString
+ true
+
+
+
+ Шаблон(Мод)
+ ГДЕ Поле = &Параметр
+
+
\ No newline at end of file
diff --git a/tests/skills/cases/role-validate/multiple-objects.json b/tests/skills/cases/role-validate/multiple-objects.json
index 9b878b544..a78aa3623 100644
--- a/tests/skills/cases/role-validate/multiple-objects.json
+++ b/tests/skills/cases/role-validate/multiple-objects.json
@@ -1,43 +1,6 @@
{
"name": "Валидация роли с несколькими объектами",
- "preRun": [
- {
- "script": "meta-compile/scripts/meta-compile",
- "input": {
- "type": "Catalog",
- "name": "Товары"
- },
- "args": {
- "-JsonPath": "{inputFile}",
- "-OutputDir": "{workDir}"
- }
- },
- {
- "script": "meta-compile/scripts/meta-compile",
- "input": {
- "type": "Document",
- "name": "Заказ"
- },
- "args": {
- "-JsonPath": "{inputFile}",
- "-OutputDir": "{workDir}"
- }
- },
- {
- "script": "role-compile/scripts/role-compile",
- "input": {
- "name": "Менеджер",
- "objects": [
- "Catalog.Товары: @view",
- "Document.Заказ: @edit"
- ]
- },
- "args": {
- "-JsonPath": "{inputFile}",
- "-OutputDir": "{workDir}"
- }
- }
- ],
+ "setup": "fixture:multiple-objects-fx",
"params": {
"rightsPath": "Roles/Менеджер/Ext/Rights.xml"
}
diff --git a/tests/skills/cases/role-validate/snapshots/multiple-objects/Roles/Менеджер/Ext/Rights.xml b/tests/skills/cases/role-validate/snapshots/multiple-objects/Roles/Менеджер/Ext/Rights.xml
index 6c5f01d58..87f1af381 100644
--- a/tests/skills/cases/role-validate/snapshots/multiple-objects/Roles/Менеджер/Ext/Rights.xml
+++ b/tests/skills/cases/role-validate/snapshots/multiple-objects/Roles/Менеджер/Ext/Rights.xml
@@ -36,18 +36,6 @@
Delete
true
-
- View
- true
-
-
- Edit
- true
-
-
- InputByString
- true
-
Posting
true
@@ -56,10 +44,18 @@
UndoPosting
true
+
+ View
+ true
+
InteractiveInsert
true
+
+ Edit
+ true
+
InteractiveSetDeletionMark
true
@@ -84,5 +80,9 @@
InteractiveChangeOfPosted
true
+
+ InputByString
+ true
+
\ No newline at end of file
diff --git a/tests/skills/cases/role-validate/valid-role.json b/tests/skills/cases/role-validate/valid-role.json
index 7df0aece3..7374be8c1 100644
--- a/tests/skills/cases/role-validate/valid-role.json
+++ b/tests/skills/cases/role-validate/valid-role.json
@@ -1,31 +1,6 @@
{
"name": "Корректная роль проходит валидацию",
- "preRun": [
- {
- "script": "meta-compile/scripts/meta-compile",
- "input": {
- "type": "Catalog",
- "name": "Товары"
- },
- "args": {
- "-JsonPath": "{inputFile}",
- "-OutputDir": "{workDir}"
- }
- },
- {
- "script": "role-compile/scripts/role-compile",
- "input": {
- "name": "Тест",
- "objects": [
- "Catalog.Товары: Read"
- ]
- },
- "args": {
- "-JsonPath": "{inputFile}",
- "-OutputDir": "{workDir}"
- }
- }
- ],
+ "setup": "fixture:valid-role-fx",
"params": {
"rightsPath": "Roles/Тест/Ext/Rights.xml"
}
diff --git a/tests/skills/cases/role-validate/with-rls.json b/tests/skills/cases/role-validate/with-rls.json
index 305869d31..901feabfb 100644
--- a/tests/skills/cases/role-validate/with-rls.json
+++ b/tests/skills/cases/role-validate/with-rls.json
@@ -1,43 +1,6 @@
{
"name": "Валидация роли с RLS",
- "preRun": [
- {
- "script": "meta-compile/scripts/meta-compile",
- "input": {
- "type": "Document",
- "name": "Продажа"
- },
- "args": {
- "-JsonPath": "{inputFile}",
- "-OutputDir": "{workDir}"
- }
- },
- {
- "script": "role-compile/scripts/role-compile",
- "input": {
- "name": "СОграничениями",
- "objects": [
- {
- "name": "Document.Продажа",
- "preset": "view",
- "rls": {
- "Read": "#Шаблон(\"\")"
- }
- }
- ],
- "templates": [
- {
- "name": "Шаблон(Мод)",
- "condition": "ГДЕ Поле = &Параметр"
- }
- ]
- },
- "args": {
- "-JsonPath": "{inputFile}",
- "-OutputDir": "{workDir}"
- }
- }
- ],
+ "setup": "fixture:with-rls-fx",
"params": {
"rightsPath": "Roles/СОграничениями/Ext/Rights.xml"
}