diff --git a/tests/smoke/smoke.bsp.json b/tests/smoke/smoke.bsp.json index ed20e4c0d..87dfd9dc5 100644 --- a/tests/smoke/smoke.bsp.json +++ b/tests/smoke/smoke.bsp.json @@ -411,7 +411,13 @@ , "ИдентификаторыОбъектовМетаданных" , "ИдентификаторыОбъектовРасширений" , "ПредопределенныеВариантыОтчетов" - ] + ], + "ПроверятьТолькоИзбранные": { + "Справочники": [ + "Контрагенты", + "Номенклатура" + ] + } }, "ЗаписьГруппСправочников":{ @@ -423,7 +429,13 @@ , "ИдентификаторыОбъектовМетаданных" , "ИдентификаторыОбъектовРасширений" , "ПредопределенныеВариантыОтчетов" - ] + ], + "ПроверятьТолькоИзбранные": { + "Справочники": [ + "Контрагенты", + "Номенклатура" + ] + } }, "ФормированиеПечатныхФорм":{ diff --git a/tests/smoke/smoke.example.json b/tests/smoke/smoke.example.json index d9418c28d..117d24fa0 100644 --- a/tests/smoke/smoke.example.json +++ b/tests/smoke/smoke.example.json @@ -224,7 +224,13 @@ , "ИдентификаторыОбъектовМетаданных" , "ИдентификаторыОбъектовРасширений" , "ПредопределенныеВариантыОтчетов" - ] + ], + "ПроверятьТолькоИзбранные": { + "Справочники": [ + "Контрагенты", + "Номенклатура" + ] + } }, "ЗаписьГруппСправочников":{ @@ -236,7 +242,13 @@ , "ИдентификаторыОбъектовМетаданных" , "ИдентификаторыОбъектовРасширений" , "ПредопределенныеВариантыОтчетов" - ] + ], + "ПроверятьТолькоИзбранные": { + "Справочники": [ + "Контрагенты", + "Номенклатура" + ] + } }, "ФормированиеПечатныхФорм":{ diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\223\321\200\321\203\320\277\320\277\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\223\321\200\321\203\320\277\320\277\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\223\321\200\321\203\320\277\320\277\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\223\321\200\321\203\320\277\320\277\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/Ext/ObjectModule.bsl" index edf89c0fb..b04e87160 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\223\321\200\321\203\320\277\320\277\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\223\321\200\321\203\320\277\320\277\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\223\321\200\321\203\320\277\320\277\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\223\321\200\321\203\320\277\320\277\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/Ext/ObjectModule.bsl" @@ -50,8 +50,21 @@ Если МожноМенять И Иерархический И ПравоДоступа("Изменение", МетаОбъект) И (Не Настройки.ОтборПоПрефиксу ИЛИ СтрНачинаетсяС(ВРег(МетаОбъект.Имя), ВРег(Настройки.Префикс))) Тогда + + ИмяМетаданного = МетаОбъект.Имя; + + ФильтрМетаданных = НайтиКоллекциюФильтрМетаданныхИзНастроек("Справочники", Настройки, "ПроверятьТолькоИзбранные"); + ЕстьОтборТолькоДляВключенияМетаданных = ЗначениеЗаполнено(ФильтрМетаданных ); + + Если ЕстьОтборТолькоДляВключенияМетаданных Тогда + ВключатьТест = НайтиИмяВКоллекции(ИмяМетаданного, ФильтрМетаданных, КонтекстЯдра); + Если Не ВключатьТест Тогда + Продолжить; + КонецЕсли; + КонецЕсли; ДобавитьТестыДляСправочника(НаборТестов, МетаОбъект); + КонецЕсли; КонецЦикла; @@ -129,6 +142,7 @@ Результат.Вставить("Исключения", Новый Массив); Результат.Вставить("Префикс", ""); Результат.Вставить("ОтборПоПрефиксу", Ложь); + Результат.Вставить("ПроверятьТолькоИзбранные", Новый Массив); Возврат Результат; КонецФункции @@ -154,6 +168,44 @@ КонецФункции +Функция НайтиКоллекциюФильтрМетаданныхИзНастроек(Знач КлючМетаданных, Знач Настройки, Знач ИмяОбщейКоллекции) + + // TODO использовать метод плагина Настройки.ЕстьНастройка + + ОбщаяКоллекция = ЗначениеИзСтруктуры(Настройки, ИмяОбщейКоллекции, Новый Структура); + + ЗначениеПоУмолчанию = Новый Массив; + + Если Не ЗначениеЗаполнено(ОбщаяКоллекция) Тогда + Возврат ЗначениеПоУмолчанию; + КонецЕсли; + + Возврат ЗначениеИзСтруктуры(ОбщаяКоллекция, КлючМетаданных, ЗначениеПоУмолчанию); + +КонецФункции + +Функция НайтиИмяВКоллекции(Знач ЧтоИщем, Знач КоллекцияДляПоиска, Знач КонтекстЯдра) + + Если Не ЗначениеЗаполнено(КоллекцияДляПоиска) Тогда + Возврат Ложь; + КонецЕсли; + + Возврат КонтекстЯдра.ЕстьВИсключаемойКоллекции(ЧтоИщем, КоллекцияДляПоиска); + +КонецФункции + +Функция ЗначениеИзСтруктуры(Знач Структура, Знач ИмяНастройки, Знач ЗначениеПоУмолчанию) + + Результат = Неопределено; + + Если Не Структура.Свойство(ИмяНастройки, Результат) Или Не ЗначениеЗаполнено(Результат) Тогда + Результат = ЗначениеПоУмолчанию; + КонецЕсли; + + Возврат Результат; + +КонецФункции + #КонецОбласти Процедура ДобавитьТестыДляСправочника(НаборТестов, МетаОбъект) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/Ext/ObjectModule.bsl" index 037cd2be3..990cf5aba 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/Ext/ObjectModule.bsl" @@ -37,7 +37,6 @@ ЗапросыИзБД = КонтекстЯдра.Плагин("ЗапросыИзБД"); ЗапросыИзБД.Инициализация(КонтекстЯдра); - ЗагрузитьНастройки(); Если Не НужноВыполнятьТест() Тогда @@ -49,8 +48,21 @@ Если МожноМенять И ПравоДоступа("Изменение", МетаОбъект) И (Не Настройки.ОтборПоПрефиксу ИЛИ СтрНачинаетсяС(ВРег(МетаОбъект.Имя), ВРег(Настройки.Префикс))) Тогда + + ИмяМетаданного = МетаОбъект.Имя; + + ФильтрМетаданных = НайтиКоллекциюФильтрМетаданныхИзНастроек("Справочники", Настройки, "ПроверятьТолькоИзбранные"); + ЕстьОтборТолькоДляВключенияМетаданных = ЗначениеЗаполнено(ФильтрМетаданных ); + + Если ЕстьОтборТолькоДляВключенияМетаданных Тогда + ВключатьТест = НайтиИмяВКоллекции(ИмяМетаданного, ФильтрМетаданных, КонтекстЯдра); + Если Не ВключатьТест Тогда + Продолжить; + КонецЕсли; + КонецЕсли; ДобавитьТестыДляСправочника(НаборТестов, МетаОбъект); + КонецЕсли; КонецЦикла; @@ -128,6 +140,7 @@ Результат.Вставить("ВыводитьИсключения", Ложь); Результат.Вставить("Префикс", ""); Результат.Вставить("ОтборПоПрефиксу", Ложь); + Результат.Вставить("ПроверятьТолькоИзбранные", Новый Массив); Возврат Результат; КонецФункции @@ -153,6 +166,44 @@ КонецФункции +Функция НайтиКоллекциюФильтрМетаданныхИзНастроек(Знач КлючМетаданных, Знач Настройки, Знач ИмяОбщейКоллекции) + + // TODO использовать метод плагина Настройки.ЕстьНастройка + + ОбщаяКоллекция = ЗначениеИзСтруктуры(Настройки, ИмяОбщейКоллекции, Новый Структура); + + ЗначениеПоУмолчанию = Новый Массив; + + Если Не ЗначениеЗаполнено(ОбщаяКоллекция) Тогда + Возврат ЗначениеПоУмолчанию; + КонецЕсли; + + Возврат ЗначениеИзСтруктуры(ОбщаяКоллекция, КлючМетаданных, ЗначениеПоУмолчанию); + +КонецФункции + +Функция НайтиИмяВКоллекции(Знач ЧтоИщем, Знач КоллекцияДляПоиска, Знач КонтекстЯдра) + + Если Не ЗначениеЗаполнено(КоллекцияДляПоиска) Тогда + Возврат Ложь; + КонецЕсли; + + Возврат КонтекстЯдра.ЕстьВИсключаемойКоллекции(ЧтоИщем, КоллекцияДляПоиска); + +КонецФункции + +Функция ЗначениеИзСтруктуры(Знач Структура, Знач ИмяНастройки, Знач ЗначениеПоУмолчанию) + + Результат = Неопределено; + + Если Не Структура.Свойство(ИмяНастройки, Результат) Или Не ЗначениеЗаполнено(Результат) Тогда + Результат = ЗначениеПоУмолчанию; + КонецЕсли; + + Возврат Результат; + +КонецФункции + #КонецОбласти Процедура ДобавитьТестыДляСправочника(НаборТестов, МетаОбъект)