#Область СлужебныйПрограммныйИнтерфейс Процедура ПортироватьНабор(Знач Набор, Знач СоответствиеЗамен) Экспорт Для Каждого Элемент Из Набор Цикл ПортироватьФайл(Элемент.Ключ, Элемент.Значение, СоответствиеЗамен); КонецЦикла; КонецПроцедуры Процедура ПортироватьФайл(Знач Файл1С, Знач ФайлОС, Знач СоответствиеЗамен) Экспорт ФайлМодуля = Новый Файл(Файл1С); Если Не ФайлМодуля.Существует() Тогда Возврат; КонецЕсли; Модуль = ПрочитатьМодуль(Файл1С); Если СтрДлина(Модуль) = 0 Тогда Возврат; КонецЕсли; ОбработатьЗаменыМодуля(Модуль, СоответствиеЗамен); ЗаписатьМодуль(ФайлОС, Модуль); КонецПроцедуры Функция ПолучитьСопоставлениеФайлов(Знач ОсновнойПутьИсходников) Экспорт Сопоставление = Новый Соответствие(); ФайлыМодулей = НайтиФайлы(ОсновнойПутьИсходников, "*.bsl", Истина); Признак = "// OneScript: "; Для Каждого Файл Из ФайлыМодулей Цикл ТекущийФайл = Файл.ПолноеИмя; ТекстФайла = Новый ТекстовыйДокумент(); ТекстФайла.Прочитать(ТекущийФайл, "UTF-8"); Для Н = 1 По ТекстФайла.КоличествоСтрок() Цикл ТекущаяСтрока = СокрЛП(ТекстФайла.ПолучитьСтроку(Н)); Если Не ЗначениеЗаполнено(ТекущаяСтрока) Тогда Прервать; КонецЕсли; Если СтрНайти(ТекущаяСтрока, Признак) > 0 Тогда ПутьOS = СтрЗаменить(ТекущаяСтрока, Признак, ""); ПутьOS = СокрЛП(ПутьOS); ПутьOS = СтрЗаменить(ПутьOS, "./", ОсновнойПутьИсходников); Сопоставление.Вставить(ТекущийФайл, ПутьOS); КонецЕсли; КонецЦикла; КонецЦикла; Возврат Сопоставление; КонецФункции #КонецОбласти #Область СлужебныеПроцедурыИФункции Функция ПрочитатьМодуль(Знач ФайлМодуля) ЧтениеТекста = Новый ЧтениеТекста(ФайлМодуля, "UTF-8"); Модуль = ЧтениеТекста.Прочитать(); ЧтениеТекста.Закрыть(); Возврат Модуль; КонецФункции Процедура ЗаписатьМодуль(Знач ФайлМодуля, Знач Модуль) ТекстовыйДокумент = Новый ТекстовыйДокумент(); ТекстовыйДокумент.УстановитьТекст(Модуль); ТекстовыйДокумент.Записать(ФайлМодуля); КонецПроцедуры Процедура ОбработатьЗаменыМодуля(Модуль, СоответствиеЗамен) Для Каждого Замена Из СоответствиеЗамен Цикл Модуль = СтрЗаменить(Модуль, Замена.Ключ, Замена.Значение); КонецЦикла; КонецПроцедуры #КонецОбласти