diff --git "a/epf/\320\227\320\260\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\222\320\240\320\265\320\266\320\270\320\274\320\265\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\222\320\240\320\265\320\266\320\270\320\274\320\265\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/\320\227\320\260\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\222\320\240\320\265\320\266\320\270\320\274\320\265\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\222\320\240\320\265\320\266\320\270\320\274\320\265\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 5b6a38df..34d0d264 100644 --- "a/epf/\320\227\320\260\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\222\320\240\320\265\320\266\320\270\320\274\320\265\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\222\320\240\320\265\320\266\320\270\320\274\320\265\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/\320\227\320\260\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\222\320\240\320\265\320\266\320\270\320\274\320\265\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\222\320\240\320\265\320\266\320\270\320\274\320\265\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -70,11 +70,10 @@ Символы.ПС, ОписаниеОшибки); Лог(Ошибка); + Если ЗавершитьРаботуСистемы Тогда + ЗавершитьРаботу(); + КонецЕсли; КонецПопытки; - - Если ЗавершитьРаботуСистемы Тогда - ЗавершитьРаботу(); - КонецЕсли; КонецПроцедуры @@ -109,43 +108,69 @@ Процедура ЗагрузитьРасширения(ПутьРасширения, Знач ИмяРасширения, Перезаписывать, БезопасныйРежим, ЗащитаОтОпасныхДействий, ЗавершитьРаботуСистемы) - - Попытка - Файлы = НайтиФайлы(ПутьРасширения, "*.cfe"); - Нашли = ЗначениеЗаполнено(Файлы); - Исключение - Нашли = Ложь; - КонецПопытки; + + ДопПараметры = Новый Структура; + ДопПараметры.Вставить("ПутьРасширения", ПутьРасширения); + ДопПараметры.Вставить("ИмяРасширения", ИмяРасширения); + ДопПараметры.Вставить("Перезаписывать", Перезаписывать); + ДопПараметры.Вставить("БезопасныйРежим", БезопасныйРежим); + ДопПараметры.Вставить("ЗащитаОтОпасныхДействий", ЗащитаОтОпасныхДействий); + ДопПараметры.Вставить("ЗавершитьРаботуСистемы", ЗавершитьРаботуСистемы); - Если Не Нашли Тогда - Файлы = Новый Массив; - Файл = Новый Файл(ПутьРасширения); - Файлы.Добавить(Файл); - КонецЕсли; + Обработчик = Новый ОписаниеОповещения("ОбработкаПоискаРасширенийВКаталоге", ЭтаФорма, ДопПараметры); + НачатьПоискФайлов(Обработчик, ПутьРасширения, "*.cfe", Истина); + +КонецПроцедуры - Если Не ЗначениеЗаполнено(Файлы) Тогда - ВызватьИсключение "Не найдено расширений для пути " + ПутьРасширения; - КонецЕсли; +&НаКлиенте +Процедура ОбработкаПоискаРасширенийВКаталоге(Знач НайденныеФайлы, Знач ДопПараметры) Экспорт - Для Каждого Файл Из Файлы Цикл - ПутьФайла = Файл.ПолноеИмя; - ДвоичныеДанные = Новый ДвоичныеДанные(ПутьФайла); + Попытка - Если ПустаяСтрока(ИмяРасширения) Тогда - ИмяРасширения = Файл.ИмяБезРасширения; + ПутьРасширения = ДопПараметры.ПутьРасширения; + ИмяРасширения = ДопПараметры.ИмяРасширения; + Перезаписывать = ДопПараметры.Перезаписывать; + БезопасныйРежим = ДопПараметры.БезопасныйРежим; + ЗащитаОтОпасныхДействий = ДопПараметры.ЗащитаОтОпасныхДействий; + ЗавершитьРаботуСистемы = ДопПараметры.ЗавершитьРаботуСистемы; + + Если Не ЗначениеЗаполнено(НайденныеФайлы) Тогда + НайденныеФайлы = Новый Массив; + Файл = Новый Файл(ПутьРасширения); + НайденныеФайлы.Добавить(Файл); + КонецЕсли; + + Если Не ЗначениеЗаполнено(НайденныеФайлы) Тогда + ВызватьИсключение "Не найдено файлов-расширений для пути " + ПутьРасширения; КонецЕсли; - Попытка - УстановитьРасширение(ИмяРасширения, ДвоичныеДанные, Перезаписывать, - БезопасныйРежим, ЗащитаОтОпасныхДействий); - Исключение - ВызватьИсключение ПутьФайла + Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); - КонецПопытки; + Для Каждого Файл Из НайденныеФайлы Цикл + ПутьФайла = Файл.ПолноеИмя; + ДвоичныеДанные = Новый ДвоичныеДанные(ПутьФайла); + + Если ПустаяСтрока(ИмяРасширения) Тогда + ИмяРасширения = Файл.ИмяБезРасширения; + КонецЕсли; + + Попытка + УстановитьРасширение(ИмяРасширения, ДвоичныеДанные, Перезаписывать, + БезопасныйРежим, ЗащитаОтОпасныхДействий); + Исключение + ВызватьИсключение ПутьФайла + Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); + КонецПопытки; + + КонецЦикла; + + ОбновитьПараметрыРаботыВерсийРасширений(); + Исключение + ОписаниеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); + + Ошибка = СтрШаблон("Неудача при выполнении основного кода %1%2 %1", + Символы.ПС, ОписаниеОшибки); + Лог(Ошибка); + + КонецПопытки; - КонецЦикла; - - ОбновитьПараметрыРаботыВерсийРасширений(); - КонецПроцедуры &НаСервере