diff --git a/src/СценарииОбработки/СортировкаСоставаПодсистем.os b/src/СценарииОбработки/СортировкаСоставаПодсистем.os index 4a2f3d1..1e78647 100644 --- a/src/СценарииОбработки/СортировкаСоставаПодсистем.os +++ b/src/СценарииОбработки/СортировкаСоставаПодсистем.os @@ -36,6 +36,7 @@ Лог = ДополнительныеПараметры.Лог; НастройкиСценария = ДополнительныеПараметры.Настройки.Получить(ИмяСценария()); + ФайлОбработан = Ложь; Если АнализируемыйФайл.Существует() Тогда @@ -45,95 +46,85 @@ Лог.Информация("Обработка файла '%1' по сценарию '%2'", АнализируемыйФайл.ПолноеИмя, ИмяСценария()); ЭтоЕДТ = ТипыФайлов.ЭтоФайлОписанияПодсистемыEDT(АнализируемыйФайл); - Если ОтсортироватьПодсистему(АнализируемыйФайл.ПолноеИмя, ЭтоЕДТ) Тогда - - ДополнительныеПараметры.ИзмененныеКаталоги.Добавить(АнализируемыйФайл.ПолноеИмя); - - КонецЕсли; + ФайлОбработан = ОтсортироватьПодсистему(АнализируемыйФайл.ПолноеИмя, ЭтоЕДТ); - Возврат Истина; + Если ФайлОбработан Тогда + ДополнительныеПараметры.ИзмененныеКаталоги.Добавить(АнализируемыйФайл.ПолноеИмя); + КонецЕсли; КонецЕсли; КонецЕсли; - Возврат Ложь; + Возврат ФайлОбработан; КонецФункции // ОбработатьФайл() Функция ОтсортироватьПодсистему(Знач ИмяФайла, ЭтоЕДТ) СодержимоеФайла = ФайловыеОперации.ПрочитатьТекстФайла(ИмяФайла); - Регексп = РегекспСостав(ЭтоЕДТ); - ПодчиненныеМетаданные = Регексп.НайтиСовпадения(СодержимоеФайла); - - Если ПодчиненныеМетаданные.Количество() = 0 Тогда - + + РегекспСостав = РегекспСостав(ЭтоЕДТ); + СовпаденияСостава = РегекспСостав.НайтиСовпадения(СодержимоеФайла); + Если СовпаденияСостава.Количество() = 0 Тогда Возврат Ложь; - КонецЕсли; + СовпадениеСостава = СовпаденияСостава[0]; - ИсходнаяСтрока = ПодчиненныеМетаданные[0].Группы[0].Значение; - ОбъектыМетаданныхСтроки = РегекспМетаданные(ЭтоЕДТ).НайтиСовпадения(ИсходнаяСтрока); + СтрокаПоискаМетаданных = ?(ЭтоЕДТ, + СовпадениеСостава.Группы[0].Значение, // Всё совпадение (нет общего тега) + СовпадениеСостава.Группы[1].Значение); // Текст внутри общего тега Content + СовпаденияМетаданных = РегекспМетаданные().НайтиСовпадения(СтрокаПоискаМетаданных); - // отдельный список с типами, нужен для того, чтобы сохранить порядок при обходе соответствия - ОбъектыТипаПоПорядку = Новый СписокЗначений; + ТаблицаСостава = Новый ТаблицаЗначений; + ТаблицаСостава.Колонки.Добавить("СтрокаСостава"); - ОбъектыМетаданных = Новый Соответствие; - ПоследнийТип = ""; - ОбъектыТипа = Новый СписокЗначений; - Для Каждого ОбъектМетаданных Из ОбъектыМетаданныхСтроки Цикл + Для Каждого СовпадениеМетаданных Из СовпаденияМетаданных Цикл - ТипМетаданных = ОбъектМетаданных.Группы[1].Значение; - СтрокаМетаданных = ОбъектМетаданных.Группы[0].Значение; - ИмяМетаданного = ОбъектМетаданных.Группы[2].Значение; - Если СтрНачинаетсяС(ИмяМетаданного, ".") Тогда - ИмяМетаданного = Сред(ИмяМетаданного, 2); + Если СтрНайти(СовпадениеМетаданных.Группы[1].Значение, "-") > 0 Тогда // Значение тега (имя метаданных), вероятно это UID (битая ссылка) + Продолжить; КонецЕсли; - Список = ОбъектыМетаданных.Получить(ТипМетаданных); + ТаблицаСостава.Добавить().СтрокаСостава = СовпадениеМетаданных.Группы[0].Значение; - Если Список = Неопределено Тогда - Список = Новый СписокЗначений; - ОбъектыМетаданных.Вставить(ТипМетаданных, Список); - ОбъектыТипаПоПорядку.Добавить(ТипМетаданных); - КонецЕсли; + КонецЦикла; - Если Список.НайтиПоЗначению(ОбъектМетаданных.Группы[0].Значение) = Неопределено Тогда - Список.Добавить(ОбъектМетаданных.Группы[0].Значение, ИмяМетаданного); + ТаблицаСостава.Сортировать("СтрокаСостава"); + ТаблицаСостава.Свернуть("СтрокаСостава"); + + РазделительЭлементов = ?(ЭтоЕДТ, + Символы.ПС + " ", + Символы.ПС + " "); + СтрокаЗамены = СтрСоединить(ТаблицаСостава.ВыгрузитьКолонку("СтрокаСостава"), РазделительЭлементов); + + Если ЗначениеЗаполнено(СтрокаЗамены) Тогда + + СтрокаЗамены = РазделительЭлементов + СтрокаЗамены; + + Если Не ЭтоЕДТ Тогда + СтрокаЗамены = СтрШаблон( + " + | %1 + | ", + СтрокаЗамены); КонецЕсли; - КонецЦикла; - - СтрокаЗамены = ""; - Для Каждого Тип Из ОбъектыТипаПоПорядку Цикл + ИначеЕсли Не ЭтоЕДТ Тогда - ОбъектМетаданных = ОбъектыМетаданных.Получить(Тип.Значение); + СтрокаЗамены = + " + | "; - ОбъектМетаданных.СортироватьПоПредставлению(НаправлениеСортировки.Возр); - - СтрокаЗамены = СтрокаЗамены + ?(ПустаяСтрока(СтрокаЗамены), "", Символы.ПС) - + СтрСоединить(ОбъектМетаданных.ВыгрузитьЗначения(), Символы.ПС); - - КонецЦикла; - - Если НЕ ЭтоЕДТ Тогда - СтрокаЗамены = ПодчиненныеМетаданные[0].Группы[1].Значение + СокрЛП(СтрокаЗамены) - + ПодчиненныеМетаданные[0].Группы[3].Значение; КонецЕсли; - Если СтрСравнить(ИсходнаяСтрока, СтрокаЗамены) = 0 Тогда - + СтрокаЗамены = СтрокаЗамены + Символы.ПС; + + ИсходнаяСтрока = СовпадениеСостава.Группы[0].Значение; // Всё совпадение, которое будем заменять + Если СтрСравнить(ИсходнаяСтрока, СтрокаЗамены) = 0 Тогда Возврат Ложь; - - КонецЕсли; - - Если ЭтоЕДТ Тогда - СодержимоеФайла = Регексп.Заменить(СодержимоеФайла, СокрЛП(СтрокаЗамены)); - Иначе - СодержимоеФайла = Регексп.Заменить(СодержимоеФайла, СтрокаЗамены); КонецЕсли; + СодержимоеФайла = РегекспСостав.Заменить(СодержимоеФайла, СтрокаЗамены); ФайловыеОперации.ЗаписатьТекстФайла(ИмяФайла, СодержимоеФайла); Возврат Истина; @@ -142,8 +133,10 @@ Функция РегекспСостав(ЭтоЕДТ) - ПоискДочерних = ?(ЭтоЕДТ, "(?:)([\w\W]+)(?:<\/content>)", "(\s+)(<[\w\W]+>)(\s+<\/Content>)"); - Регексп = Новый РегулярноеВыражение(ПоискДочерних); + ПоискСостава = ?(ЭтоЕДТ, + "\s*[\w\W]+<\/content>[\t ]*\n*", + "\s*([\w\W]+)<\/Content>[\t ]*\n*"); + Регексп = Новый РегулярноеВыражение(ПоискСостава); Регексп.ИгнорироватьРегистр = Истина; Регексп.Многострочный = Истина; @@ -151,12 +144,9 @@ КонецФункции -Функция РегекспМетаданные(ЭтоЕДТ) +Функция РегекспМетаданные() - ШаблонНачало = ?(ЭтоЕДТ, "^\s*<[\w]+>", "^\s+<[\w:\s=""]+>"); - ШаблонИмяМетаданных = "([a-zA-Z]+)((?:\.(?:[а-яa-zA-ZА-Я0-9_]+))+)"; - ШаблонУИД = "(([a-zA-z0-9\-]+))"; - ПоискМетаданных = СтрШаблон("%1(?:%2|%3)<\/[\w:]+>", ШаблонНачало, ШаблонУИД, ШаблонИмяМетаданных); + ПоискМетаданных = "<[^>]+>([^<]*)<\/[^>]+>"; // Разбивка по тегам Регексп = Новый РегулярноеВыражение(ПоискМетаданных); Регексп.ИгнорироватьРегистр = Истина; Регексп.Многострочный = Истина; diff --git a/tests/fixtures/СортировкаОбъектовВПодсистемах/До/БазовыйФункционал.mdo b/tests/fixtures/СортировкаОбъектовВПодсистемах/До/БазовыйФункционал.mdo new file mode 100644 index 0000000..a438ef7 --- /dev/null +++ b/tests/fixtures/СортировкаОбъектовВПодсистемах/До/БазовыйФункционал.mdo @@ -0,0 +1,20 @@ + + + БазовыйФункционал + + ru + Базовый функционал + + true + true + + ru + Содержит подсистемы с базовым функционалом и инструментами без которых существование системы невозможно. + + 4308b2f2-9e92-486e-8c34-13c11fd5fb49 + НастройкиПользователей + ОбщегоНазначения + УправлениеДоступом + Преобразования + Subsystem.ПодсистемыБСП + diff --git a/tests/fixtures/СортировкаОбъектовВПодсистемах/До/Интеграция.xml b/tests/fixtures/СортировкаОбъектовВПодсистемах/До/Интеграция.xml new file mode 100644 index 0000000..7b62aa6 --- /dev/null +++ b/tests/fixtures/СортировкаОбъектовВПодсистемах/До/Интеграция.xml @@ -0,0 +1,41 @@ + + + + + Интеграция + + + ru + Интеграция + + + + true + true + + + ru + Содержит подсистемы + + + + Enum.Енум1 + Enum.Енум2 + 4308b2f2-9e92-486e-8c34-13c11fd5fb49 + Enum.Енум7Enum.Енум6 +ExternalDataSource.ТекущаяСУБД.Table.ИнформацияОбОшибках + + + + + Файлы8 + Файлы7 + Файлы6 + Файлы5 + Файлы1 + Файлы3 + Файлы4 + Файлы2 + + + diff --git a/tests/fixtures/СортировкаОбъектовВПодсистемах/До/НСИ.xml b/tests/fixtures/СортировкаОбъектовВПодсистемах/До/НСИ.xml new file mode 100644 index 0000000..f2948a3 --- /dev/null +++ b/tests/fixtures/СортировкаОбъектовВПодсистемах/До/НСИ.xml @@ -0,0 +1,32 @@ + + + + + НСИ + + + ru + НСИ + + + + true + true + + + ru + Включает в себя подсистемы предоставляющие функционал по хранению и использованию различных классификаторов и нормативно-справочной информации + + + + + + + АдресныйКлассификатор + Банки + Валюты + Календари + ПрочиеКлассификаторы + + + \ No newline at end of file diff --git a/tests/fixtures/СортировкаОбъектовВПодсистемах/ОбменСообщениями.mdo b/tests/fixtures/СортировкаОбъектовВПодсистемах/До/ОбменСообщениями.mdo similarity index 100% rename from tests/fixtures/СортировкаОбъектовВПодсистемах/ОбменСообщениями.mdo rename to tests/fixtures/СортировкаОбъектовВПодсистемах/До/ОбменСообщениями.mdo diff --git a/tests/fixtures/СортировкаОбъектовВПодсистемах/До/ПодсистемыБСП.xml b/tests/fixtures/СортировкаОбъектовВПодсистемах/До/ПодсистемыБСП.xml new file mode 100644 index 0000000..bad68f5 --- /dev/null +++ b/tests/fixtures/СортировкаОбъектовВПодсистемах/До/ПодсистемыБСП.xml @@ -0,0 +1,38 @@ + + + + + ПодсистемыБСП + + + ru + Подсистемы БСП + + + + true + false + + + ru + Состав подсистем конфигурации БСП. +Первый уровень - это разделы, второй уровень - это подсистемы. +Все объекты находятся на уровне подсистем, к разделам прикрепление объектов запрещено. + + + + + e2630219-115c-4995-9a5d-52482cb39909 + + + + БазовыйФункционал + ИзмененияОбъектов + Интеграция + НСИ + ОбменСообщениями + ПрикладнойИнструментарий + СервисныйИнструментарий + + + \ No newline at end of file diff --git a/tests/fixtures/СортировкаОбъектовВПодсистемах/До/УведомленияПриИзмененииОбъектов.mdo b/tests/fixtures/СортировкаОбъектовВПодсистемах/До/УведомленияПриИзмененииОбъектов.mdo new file mode 100644 index 0000000..be743a1 --- /dev/null +++ b/tests/fixtures/СортировкаОбъектовВПодсистемах/До/УведомленияПриИзмененииОбъектов.mdo @@ -0,0 +1,15 @@ + + + Уведомления + + ru + Уведомления + + true + trueCatalog.ВидыУведомлений CommonModule.Уведомления + CommonModule.УведомленияПереопределяемыйCommonModule.УведомленияСервер + CommonModule.УведомленияСерверПовтИсп + Constant.АдресатыПолучения +ExternalDataSource.ТекущаяСУБД.Table.ИнформацияОбОшибках + Subsystem.ПодсистемыБСП.Subsystem.ОбменСообщениями + diff --git a/tests/fixtures/СортировкаОбъектовВПодсистемах/После/БазовыйФункционал.mdo b/tests/fixtures/СортировкаОбъектовВПодсистемах/После/БазовыйФункционал.mdo new file mode 100644 index 0000000..911128b --- /dev/null +++ b/tests/fixtures/СортировкаОбъектовВПодсистемах/После/БазовыйФункционал.mdo @@ -0,0 +1,19 @@ + + + БазовыйФункционал + + ru + Базовый функционал + + true + true + + ru + Содержит подсистемы с базовым функционалом и инструментами без которых существование системы невозможно. + + НастройкиПользователей + ОбщегоНазначения + УправлениеДоступом + Преобразования + Subsystem.ПодсистемыБСП + diff --git a/tests/fixtures/СортировкаОбъектовВПодсистемах/Интеграция.xml b/tests/fixtures/СортировкаОбъектовВПодсистемах/После/Интеграция.xml similarity index 95% rename from tests/fixtures/СортировкаОбъектовВПодсистемах/Интеграция.xml rename to tests/fixtures/СортировкаОбъектовВПодсистемах/После/Интеграция.xml index 6129550..22761d7 100644 --- a/tests/fixtures/СортировкаОбъектовВПодсистемах/Интеграция.xml +++ b/tests/fixtures/СортировкаОбъектовВПодсистемах/После/Интеграция.xml @@ -22,9 +22,8 @@ Enum.Енум1 Enum.Енум2 - 4308b2f2-9e92-486e-8c34-13c11fd5fb49 - Enum.Енум7 Enum.Енум6 + Enum.Енум7 ExternalDataSource.ТекущаяСУБД.Table.ИнформацияОбОшибках @@ -39,4 +38,4 @@ Файлы2 - \ No newline at end of file + diff --git a/tests/fixtures/СортировкаОбъектовВПодсистемах/После/ПодсистемыБСП.xml b/tests/fixtures/СортировкаОбъектовВПодсистемах/После/ПодсистемыБСП.xml new file mode 100644 index 0000000..1c7c5cd --- /dev/null +++ b/tests/fixtures/СортировкаОбъектовВПодсистемах/После/ПодсистемыБСП.xml @@ -0,0 +1,36 @@ + + + + + ПодсистемыБСП + + + ru + Подсистемы БСП + + + + true + false + + + ru + Состав подсистем конфигурации БСП. +Первый уровень - это разделы, второй уровень - это подсистемы. +Все объекты находятся на уровне подсистем, к разделам прикрепление объектов запрещено. + + + + + + + БазовыйФункционал + ИзмененияОбъектов + Интеграция + НСИ + ОбменСообщениями + ПрикладнойИнструментарий + СервисныйИнструментарий + + + \ No newline at end of file diff --git a/tests/fixtures/СортировкаОбъектовВПодсистемах/УведомленияПриИзмененииОбъектов.mdo b/tests/fixtures/СортировкаОбъектовВПодсистемах/После/УведомленияПриИзмененииОбъектов.mdo similarity index 94% rename from tests/fixtures/СортировкаОбъектовВПодсистемах/УведомленияПриИзмененииОбъектов.mdo rename to tests/fixtures/СортировкаОбъектовВПодсистемах/После/УведомленияПриИзмененииОбъектов.mdo index cea45be..907acd6 100644 --- a/tests/fixtures/СортировкаОбъектовВПодсистемах/УведомленияПриИзмененииОбъектов.mdo +++ b/tests/fixtures/СортировкаОбъектовВПодсистемах/После/УведомленияПриИзмененииОбъектов.mdo @@ -7,13 +7,12 @@ true true - CommonModule.Уведомления - 4308b2f2-9e92-486e-8c34-13c11fd5fb49 - CommonModule.УведомленияСервер - Constant.АдресатыПолучения - CommonModule.УведомленияПереопределяемый Catalog.ВидыУведомлений + CommonModule.Уведомления + CommonModule.УведомленияПереопределяемый + CommonModule.УведомленияСервер CommonModule.УведомленияСерверПовтИсп + Constant.АдресатыПолучения ExternalDataSource.ТекущаяСУБД.Table.ИнформацияОбОшибках Subsystem.ПодсистемыБСП.Subsystem.ОбменСообщениями diff --git a/tests/ПроверкаСценариевОбработки.os b/tests/ПроверкаСценариевОбработки.os index 645c2d7..ad85393 100644 --- a/tests/ПроверкаСценариевОбработки.os +++ b/tests/ПроверкаСценариевОбработки.os @@ -10,6 +10,7 @@ Перем МенеджерВременныхФайлов; #Область ПрограммныйИнтерфейс + // Основная точка входа Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт @@ -30,7 +31,6 @@ ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоСценарийИсправлениеНеКаноническогоНаписанияНеИндексируетНеизмененные"); ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоСценарийИсправлениеНеКаноническогоНаписанияИсправляетТолькоНаписание"); ВсеТесты.Добавить("ТестДолжен_ПроверитьЧтоСинхронизацияОбъектовМетаданныхВызываетИсключение"); - ВсеТесты.Добавить("ТестДолжен_ПроверитьЗагрузкуСценариевПоИмени"); ВсеТесты.Добавить("ТестДолжен_ПроверитьИзменениеТегаКастомизацииФормы"); @@ -85,47 +85,50 @@ #КонецОбласти -#Область СортировкаСоставаМетаданных +#Область СортировкаСоставаПодсистем Процедура ТестДолжен_ПроверитьСортировкуВПодсистемах() Экспорт ОбъектСценария = ПолучитьСценарий("СортировкаСоставаПодсистем.os"); Настройки = ПолучитьДополнительныеНастройки(); - ИмяФайла = "СортировкаОбъектовВПодсистемах/Интеграция.xml"; - Файл = ПодготовитьИзменяемыйТестовыйФайл(ИмяФайла, "Интеграция.xml", "Subsystems"); - - ТекстДо = ФайловыеОперации.ПрочитатьТекстФайла(Файл.ПолноеИмя); - Результат = ОбъектСценария.ОбработатьФайл(Файл, Файл.Путь, Настройки); - Ожидаем.Что(Результат, Истина).ЭтоИстина(); - ТекстПосле = ФайловыеОперации.ПрочитатьТекстФайла(Файл.ПолноеИмя); - Ожидаем.Что(ТекстДо, Истина).Не_().Равно(ТекстПосле); - Ожидаем.Что(СтрЧислоСтрок(ТекстДо), Истина).Равно(СтрЧислоСтрок(ТекстПосле)); - - ИмяФайла = "СортировкаОбъектовВПодсистемах/УведомленияПриИзмененииОбъектов.mdo"; - Файл = ПодготовитьИзменяемыйТестовыйФайл(ИмяФайла, "УведомленияПриИзмененииОбъектов.mdo", "Subsystems"); - ТекстДо = ФайловыеОперации.ПрочитатьТекстФайла(Файл.ПолноеИмя); - Результат = ОбъектСценария.ОбработатьФайл(Файл, Файл.Путь, Настройки); - Ожидаем.Что(Результат, Истина).ЭтоИстина(); - ТекстПосле = ФайловыеОперации.ПрочитатьТекстФайла(Файл.ПолноеИмя); - Ожидаем.Что(ТекстДо, Истина).Не_().Равно(ТекстПосле); - Ожидаем.Что(СтрЧислоСтрок(ТекстДо), Истина).Равно(СтрЧислоСтрок(ТекстПосле)); + ВременныйКаталог = ПолучитьИмяВременногоФайла(); + СоздатьКаталог(ВременныйКаталог); + ТестовыйКаталог = ОбъединитьПути(ВременныйКаталог, "subsystems"); + СоздатьКаталог(ТестовыйКаталог); - ИмяФайла = "СортировкаОбъектовВПодсистемах/ОбменСообщениями.mdo"; - Файл = ПодготовитьИзменяемыйТестовыйФайл(ИмяФайла, "ОбменСообщениями.mdo", "Subsystems"); + ПодкаталогФикстур = ОбъединитьПути(КаталогТестовыхФикстур(), "СортировкаОбъектовВПодсистемах"); + ПодкаталогФайловДо = ОбъединитьПути(ПодкаталогФикстур, "До"); + ПодкаталогФайловПосле = ОбъединитьПути(ПодкаталогФикстур, "После"); + + Для каждого ТестовыйФайл Из НайтиФайлы(ПодкаталогФайловДо, ПолучитьМаскуВсеФайлы()) Цикл - ТекстДо = ФайловыеОперации.ПрочитатьТекстФайла(Файл.ПолноеИмя); - Результат = ОбъектСценария.ОбработатьФайл(Файл, Файл.Путь, Настройки); - Ожидаем.Что(Результат, Истина).ЭтоИстина(); - ТекстПосле = ФайловыеОперации.ПрочитатьТекстФайла(Файл.ПолноеИмя); - Ожидаем.Что(ТекстДо, Истина).Равно(ТекстПосле); - Ожидаем.Что(СтрЧислоСтрок(ТекстДо), Истина).Равно(СтрЧислоСтрок(ТекстПосле)); + ИмяФайла = ТестовыйФайл.Имя; + + ФайлПослеЭталон = Новый Файл(ОбъединитьПути(ПодкаталогФайловПосле, ИмяФайла)); + ФайлДолженИзмениться = ФайлПослеЭталон.Существует(); + Если Не ФайлДолженИзмениться Тогда + ФайлПослеЭталон = ТестовыйФайл; + КонецЕсли; + + ОбрабатываемыйФайл = Новый Файл(ОбъединитьПути(ТестовыйКаталог, ИмяФайла)); + КопироватьФайл(ТестовыйФайл.ПолноеИмя, ОбрабатываемыйФайл.ПолноеИмя); + + Результат = ОбъектСценария.ОбработатьФайл(ОбрабатываемыйФайл, "", Настройки); + Ожидаем.Что(Результат, "Проверка обработки файла " + ИмяФайла).Равно(ФайлДолженИзмениться); + + ТекстПосле = ФайловыеОперации.ПрочитатьТекстФайла(ОбрабатываемыйФайл.ПолноеИмя); + ТекстПослеЭталон = ФайловыеОперации.ПрочитатьТекстФайла(ФайлПослеЭталон.ПолноеИмя); + Ожидаем.Что(ТекстПосле, "Проверка результата файла " + ИмяФайла).Равно(ТекстПослеЭталон); + + КонецЦикла; + + МенеджерВременныхФайлов.УдалитьФайл(ВременныйКаталог); КонецПроцедуры #КонецОбласти - #Область ИсправлениеНеКаноническогоНаписания Процедура ТестДолжен_ПроверитьЧтоСценарийИсправлениеНеКаноническогоНаписанияИсправляетФайл() Экспорт @@ -174,6 +177,7 @@ #КонецОбласти #Область ОтключениеПолнотекстовогоПоиска + Процедура ТестДолжен_ПроверитьЧтоСценарийОтключенияПолнотекстовогоПоискаИмеетМетодПолученияНастроек() Экспорт ОбъектСценария = ПолучитьСценарий("ОтключениеПолнотекстовогоПоиска.os"); @@ -491,7 +495,6 @@ #КонецОбласти - #КонецОбласти #Область Служебные @@ -731,4 +734,4 @@ КонецПроцедуры -#КонецОбласти \ No newline at end of file +#КонецОбласти