diff --git a/tests/smoke/smoke.example.json b/tests/smoke/smoke.example.json index 134cdc526..685043af5 100644 --- a/tests/smoke/smoke.example.json +++ b/tests/smoke/smoke.example.json @@ -783,8 +783,10 @@ "Используется": false, "ПроверятьОсновныеРоли": true, - "Префикс": "", - "ОтборПоПрефиксу": false, + "ПрефиксОбъекта": "", + "ОтборПоПрефиксуОбъекта": false, + "ПрефиксРоли": "", + "ОтборПоПрефиксуРоли": false, "ИсключенияИзПроверок":{ "Справочники":[ @@ -792,7 +794,8 @@ ], "Документы":[ "Документ1" - ], + ] + } }, diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 242e73a92..079ad937c 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -9,9 +9,13 @@ &НаКлиенте Перем ПроверятьОсновныеРоли; &НаКлиенте -Перем ОтборПоПрефиксу; +Перем ОтборПоПрефиксуОбъекта; &НаКлиенте -Перем ПрефиксОбъектов; +Перем ПрефиксОбъекта; +&НаКлиенте +Перем ОтборПоПрефиксуРоли; +&НаКлиенте +Перем ПрефиксРоли; &НаКлиенте Перем ИсключенияИзПроверок; @@ -39,7 +43,7 @@ Возврат; КонецЕсли; - ОбъектыМетаданных = ОбъектыМетаданных(ОтборПоПрефиксу, ПрефиксОбъектов, ИсключенияИзПроверок); + ОбъектыМетаданных = ОбъектыМетаданных(ОтборПоПрефиксуОбъекта, ПрефиксОбъекта, ИсключенияИзПроверок); Для Каждого ОбъектМетаданных Из ОбъектыМетаданных Цикл Если ОбъектМетаданных.Значение.Количество() = 0 Тогда @@ -67,8 +71,10 @@ Возврат; КонецЕсли; - ПрефиксОбъектов = ""; - ОтборПоПрефиксу = Ложь; + ПрефиксОбъекта = ""; + ОтборПоПрефиксуОбъекта = Ложь; + ПрефиксРоли = ""; + ОтборПоПрефиксуРоли = Ложь; ИсключенияИзПроверок = Новый Структура; ПроверятьОсновныеРоли = Истина; @@ -85,12 +91,20 @@ ПроверятьОсновныеРоли = Настройки.ПроверятьОсновныеРоли; КонецЕсли; - Если Настройки.Свойство("Префикс") Тогда - ПрефиксОбъектов = ВРег(Настройки.Префикс); + Если Настройки.Свойство("ПрефиксОбъекта") Тогда + ПрефиксОбъекта = ВРег(Настройки.ПрефиксОбъекта); + КонецЕсли; + + Если Настройки.Свойство("ОтборПоПрефиксуОбъекта") Тогда + ОтборПоПрефиксуОбъекта = Настройки.ОтборПоПрефиксуОбъекта; + КонецЕсли; + + Если Настройки.Свойство("ПрефиксРоли") Тогда + ПрефиксРоли = ВРег(Настройки.ПрефиксРоли); КонецЕсли; - Если Настройки.Свойство("ОтборПоПрефиксу") Тогда - ОтборПоПрефиксу = Настройки.ОтборПоПрефиксу; + Если Настройки.Свойство("ОтборПоПрефиксуРоли") Тогда + ОтборПоПрефиксуРоли = Настройки.ОтборПоПрефиксуРоли; КонецЕсли; Если Настройки.Свойство("ИсключенияИзПроверок") Тогда @@ -106,14 +120,14 @@ &НаКлиенте Процедура ТестДолжен_ПроверитьЧтоНетПраваНаИнтерактивноеУдаление(ПолноеИмяМетаданных) Экспорт - Результат = ПроверитьЧтоНетПраваНаИнтерактивноеУдаление(ПолноеИмяМетаданных, ПроверятьОсновныеРоли); + Результат = ПроверитьЧтоНетПраваНаИнтерактивноеУдаление(ПолноеИмяМетаданных, ОтборПоПрефиксуРоли, ПрефиксРоли, ПроверятьОсновныеРоли); ШаблонСообщения = НСтр("ru = 'Есть право на интерактивное удаление объектов:%1'"); Утверждения.Проверить(Результат = "", СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, Результат)); КонецПроцедуры &НаСервереБезКонтекста -Функция ПроверитьЧтоНетПраваНаИнтерактивноеУдаление(ПолноеИмяМетаданных, ПроверятьОсновныеРоли) +Функция ПроверитьЧтоНетПраваНаИнтерактивноеУдаление(ПолноеИмяМетаданных, ОтборПоПрефиксуРоли, ПрефиксРоли, ПроверятьОсновныеРоли) ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ПолноеИмяМетаданных); ЕстьПраво = Ложь; @@ -123,6 +137,9 @@ Если Не ПроверятьОсновныеРоли И Метаданные.ОсновныеРоли.Содержит(Роль) Тогда Продолжить; КонецЕсли; + Если ОтборПоПрефиксуРоли И Не СтрНачинаетсяС(ВРег(Роль.Имя), ВРег(ПрефиксРоли)) Тогда + Продолжить; + КонецЕсли; ЕстьПраво = ПравоДоступа("ИнтерактивноеУдаление", ОбъектМетаданных, Роль); Если ЕстьПраво Тогда Результат = Результат + Символы.ПС + Роль.Имя; @@ -138,7 +155,7 @@ #Область СлужебныеПроцедурыИФункции &НаСервереБезКонтекста -Функция ОбъектыМетаданных(ОтборПоПрефиксу, ПрефиксОбъектов, ИсключенияИзПроверок) +Функция ОбъектыМетаданных(ОтборПоПрефиксуОбъекта, ПрефиксОбъекта, ИсключенияИзПроверок) ЛокальныйКонтекстЯдра = ВнешниеОбработки.Создать("xddTestRunner"); @@ -158,7 +175,7 @@ Для Каждого Элемент Из ОбъектыМетаданных Цикл Для Каждого ОбъектМетаданных Из Метаданные[Элемент.Ключ] Цикл ПолноеИмяОбъекта = ОбъектМетаданных.ПолноеИмя(); - Если ОтборПоПрефиксу И Не СтрНачинаетсяС(ВРег(ОбъектМетаданных.Имя), ВРег(ПрефиксОбъектов)) Тогда + Если ОтборПоПрефиксуОбъекта И Не СтрНачинаетсяС(ВРег(ОбъектМетаданных.Имя), ВРег(ПрефиксОбъекта)) Тогда Продолжить; КонецЕсли; Если ИсключенияИзПроверок.Свойство(Элемент.Ключ)