From 1f1bdeb8af01c1eb6283121fa56c11a638eed9b1 Mon Sep 17 00:00:00 2001
From: Dmitry <b4tm4n@mail.ru>
Date: Mon, 16 May 2022 11:30:11 +0300
Subject: [PATCH] =?UTF-8?q?=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=82=20=D0=BC?=
 =?UTF-8?q?=D0=BE=D0=B4=D1=83=D0=BB=D1=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 Word2MXL/Ext/ObjectModule.bsl | 105 +++++++++++++++++-----------------
 1 file changed, 52 insertions(+), 53 deletions(-)

diff --git a/Word2MXL/Ext/ObjectModule.bsl b/Word2MXL/Ext/ObjectModule.bsl
index 3f27589..8a943a8 100644
--- a/Word2MXL/Ext/ObjectModule.bsl
+++ b/Word2MXL/Ext/ObjectModule.bsl
@@ -165,8 +165,8 @@
 		
 		ЗакрытьДокумент(комДокумент); // без сохранения
 		ЗакрытьВорд(комВорд);
-        
-        ИсправитьНедопустимыеСимволы(т);
+		
+		ИсправитьНедопустимыеСимволы(т);
 		Возврат т;
 		
 	Исключение
@@ -420,19 +420,19 @@
 	Возврат Результат;
 КонецФункции
 
-Функция АлфавитСистемСчисления(Нотация=36)
-    Алфавит = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
-    ДлинаАлфавита = СтрДлина(Алфавит);
-    Результат = "";
-    Если ДлинаАлфавита = Нотация Тогда
-        Результат = Алфавит;
-    ИначеЕсли ДлинаАлфавита > Нотация Тогда
-        Результат = Лев(Алфавит, Нотация);
-    Иначе
-        ВызватьИсключение "Алфавит слишком мал";
-    КонецЕсли;
-    
-    Возврат Результат;
+Функция АлфавитСистемСчисления(Нотация = 36)
+	Алфавит = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
+	ДлинаАлфавита = СтрДлина(Алфавит);
+	Результат = "";
+	Если ДлинаАлфавита = Нотация Тогда
+		Результат = Алфавит;
+	ИначеЕсли ДлинаАлфавита > Нотация Тогда
+		Результат = Лев(Алфавит, Нотация);
+	Иначе
+		ВызватьИсключение "Алфавит слишком мал";
+	КонецЕсли;
+	
+	Возврат Результат;
 КонецФункции
 
 Функция ЧислоВДругуюСистему(Знач Значение = 0, Нотация = 36)
@@ -441,8 +441,8 @@
 	КонецЕсли;
 	
 	Значение = Цел(Число(Значение));
-    Если Значение <= 0 Тогда
-        Возврат "0";
+	Если Значение <= 0 Тогда
+		Возврат "0";
 	КонецЕсли;
 	
 	Алфавит = АлфавитСистемСчисления(Нотация);
@@ -455,8 +455,8 @@
 	Возврат Результат;
 КонецФункции
 
-Функция ЧислоИзДругойСистемы(Знач Значение = "0", Нотация = 36) 
-    Если Нотация <= 0 Тогда
+Функция ЧислоИзДругойСистемы(Знач Значение = "0", Нотация = 36)
+	Если Нотация <= 0 Тогда
 		Возврат 0;
 	КонецЕсли;
 	
@@ -464,15 +464,15 @@
 	Если Значение = "0" Тогда
 		Возврат 0;
 	КонецЕсли;
-    
-    Алфавит = АлфавитСистемСчисления(Нотация);
+	
+	Алфавит = АлфавитСистемСчисления(Нотация);
 	Результат = 0;
 	Длина = СтрДлина(Значение);
 	Для Позиция = 1 По Длина Цикл
 		Множитель = Pow(Нотация, Длина - Позиция);
-        ТекСимвол = Сред(Значение, Позиция, 1);
-        ИндексСимвола = СтрНайти(Алфавит, ТекСимвол) - 1;
-        Результат = Результат + ИндексСимвола * Множитель;
+		ТекСимвол = Сред(Значение, Позиция, 1);
+		ИндексСимвола = СтрНайти(Алфавит, ТекСимвол) - 1;
+		Результат = Результат + ИндексСимвола * Множитель;
 	КонецЦикла;
 	Возврат Окр(Результат);
 КонецФункции
@@ -486,7 +486,7 @@
 КонецФункции
 
 Процедура ЗаменитьТекстВТД(ТД, Текст, Замена)
-    Область = ТД.НайтиТекст(Текст);
+	Область = ТД.НайтиТекст(Текст);
 	Пока НЕ Неопределено = Область Цикл
 		Область.Текст = СтрЗаменить(Область.Текст, Текст, Замена);
 		Область = ТД.НайтиТекст(Текст, Область);
@@ -494,45 +494,44 @@
 КонецПроцедуры
 
 Функция МассивПоДиапазонуЧисел(Число_С, Число_По)
-    Результат = Новый Массив;
-    Для ТекЧисло = Число_С По Число_По Цикл
-        Результат.Добавить(ТекЧисло);
-    КонецЦикла;
-    Возврат Результат;
+	Результат = Новый Массив;
+	Для ТекЧисло = Число_С По Число_По Цикл
+		Результат.Добавить(ТекЧисло);
+	КонецЦикла;
+	Возврат Результат;
 КонецФункции
 
 Функция СформироватьДиапазон(МассивОписанияДиапазона)
-    Результат = Неопределено;
-    Если 1 = МассивОписанияДиапазона.Количество() Тогда
-        Результат = Новый Массив;
-        Результат.Добавить(МассивОписанияДиапазона[0]);
-    ИначеЕсли 2 = МассивОписанияДиапазона.Количество() Тогда
-        Результат = МассивПоДиапазонуЧисел(МассивОписанияДиапазона[0], МассивОписанияДиапазона[1]);
-    Иначе
-        ВызватьИсключение СтрШаблон("Ошибка в описании диапазона: %1 элементов", МассивОписанияДиапазона.Количество());
-    КонецЕсли;
-    Возврат Результат;
+	Результат = Неопределено;
+	Если 1 = МассивОписанияДиапазона.Количество() Тогда
+		Результат = Новый Массив;
+		Результат.Добавить(МассивОписанияДиапазона[0]);
+	ИначеЕсли 2 = МассивОписанияДиапазона.Количество() Тогда
+		Результат = МассивПоДиапазонуЧисел(МассивОписанияДиапазона[0], МассивОписанияДиапазона[1]);
+	Иначе
+		ВызватьИсключение СтрШаблон("Ошибка в описании диапазона: %1 элементов", МассивОписанияДиапазона.Количество());
+	КонецЕсли;
+	Возврат Результат;
 КонецФункции
 
 Процедура ИсправитьНедопустимыеСимволы(ТабДок)
-    // список символов из:
-    // https://ru.wikipedia.org/wiki/%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D1%8F%D1%8E%D1%89%D0%B8%D0%B5_%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D1%8B
-    ИнтервалыКодов = "0-1F,7F,80-9F,034F,2008,200B-200F,2028-202E,2060-2061,2063,2066-206F,"
-                     + "FE00-FE0F,FEFF,FFF9-FFFD,E0100-E01EF";
-    ИнтервалыКодов = СтрРазделить(ИнтервалыКодов, ",");
-    ИнтервалыКодов = Мап("Результат = СтрРазделить(Элемент, ""-"")", ИнтервалыКодов);
-    ИнтервалыКодов = Мап("Результат = Мап(""Результат = Ох(Элемент)"" ,Элемент)", ИнтервалыКодов);
-    ИнтервалыКодов = Мап("Результат = СформироватьДиапазон(Элемент)", ИнтервалыКодов);
-    УпрСимволы = Свернуть("ОбщегоНазначенияКлиентСервер.ДополнитьМассив(Результат, Элемент)", ИнтервалыКодов, Новый Массив);
-    УпрСимволы = Мап("Результат = Символ(Элемент)", УпрСимволы);
+	// список символов из:
+	// https://ru.wikipedia.org/wiki/%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D1%8F%D1%8E%D1%89%D0%B8%D0%B5_%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D1%8B
+	ИнтервалыКодов = "0-1F,7F,80-9F,034F,2008,200B-200F,2028-202E,2060-2061,2063,2066-206F,"
+		+ "FE00-FE0F,FEFF,FFF9-FFFD,E0100-E01EF";
+	ИнтервалыКодов = СтрРазделить(ИнтервалыКодов, ",");
+	ИнтервалыКодов = Мап("Результат = СтрРазделить(Элемент, ""-"")", ИнтервалыКодов);
+	ИнтервалыКодов = Мап("Результат = Мап(""Результат = Ох(Элемент)"" ,Элемент)", ИнтервалыКодов);
+	ИнтервалыКодов = Мап("Результат = СформироватьДиапазон(Элемент)", ИнтервалыКодов);
+	УпрСимволы = Свернуть("ОбщегоНазначенияКлиентСервер.ДополнитьМассив(Результат, Элемент)", ИнтервалыКодов, Новый Массив);
+	УпрСимволы = Мап("Результат = Символ(Элемент)", УпрСимволы);
 	УпрСимволы = ОбщегоНазначенияКлиентСервер.СвернутьМассив(УпрСимволы);
-    Исключения = Мап("Результат = Символы[Элемент]", СтрРазделить("ПС,ВК", ","));
-    УпрСимволы = Фильтр("Условие = Неопределено = _.Найти(Элемент)", УпрСимволы, Исключения);
+	Исключения = Мап("Результат = Символы[Элемент]", СтрРазделить("ПС,ВК", ","));
+	УпрСимволы = Фильтр("Условие = Неопределено = _.Найти(Элемент)", УпрСимволы, Исключения);
 	
 	ЗаменитьТекстВТД(ТабДок, Символы.ВТаб, Символы.ПС);
 	
 	Для Каждого ТекСимвол_Число Из УпрСимволы Цикл
 		ЗаменитьТекстВТД(ТабДок, ТекСимвол_Число, "");
 	КонецЦикла;
-	
 КонецПроцедуры
\ No newline at end of file