формат модуля
This commit is contained in:
parent
9f8af02165
commit
1f1bdeb8af
@ -165,8 +165,8 @@
|
|||||||
|
|
||||||
ЗакрытьДокумент(комДокумент); // без сохранения
|
ЗакрытьДокумент(комДокумент); // без сохранения
|
||||||
ЗакрытьВорд(комВорд);
|
ЗакрытьВорд(комВорд);
|
||||||
|
|
||||||
ИсправитьНедопустимыеСимволы(т);
|
ИсправитьНедопустимыеСимволы(т);
|
||||||
Возврат т;
|
Возврат т;
|
||||||
|
|
||||||
Исключение
|
Исключение
|
||||||
@ -420,19 +420,19 @@
|
|||||||
Возврат Результат;
|
Возврат Результат;
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция АлфавитСистемСчисления(Нотация=36)
|
Функция АлфавитСистемСчисления(Нотация = 36)
|
||||||
Алфавит = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
Алфавит = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
||||||
ДлинаАлфавита = СтрДлина(Алфавит);
|
ДлинаАлфавита = СтрДлина(Алфавит);
|
||||||
Результат = "";
|
Результат = "";
|
||||||
Если ДлинаАлфавита = Нотация Тогда
|
Если ДлинаАлфавита = Нотация Тогда
|
||||||
Результат = Алфавит;
|
Результат = Алфавит;
|
||||||
ИначеЕсли ДлинаАлфавита > Нотация Тогда
|
ИначеЕсли ДлинаАлфавита > Нотация Тогда
|
||||||
Результат = Лев(Алфавит, Нотация);
|
Результат = Лев(Алфавит, Нотация);
|
||||||
Иначе
|
Иначе
|
||||||
ВызватьИсключение "Алфавит слишком мал";
|
ВызватьИсключение "Алфавит слишком мал";
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Возврат Результат;
|
Возврат Результат;
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ЧислоВДругуюСистему(Знач Значение = 0, Нотация = 36)
|
Функция ЧислоВДругуюСистему(Знач Значение = 0, Нотация = 36)
|
||||||
@ -441,8 +441,8 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Значение = Цел(Число(Значение));
|
Значение = Цел(Число(Значение));
|
||||||
Если Значение <= 0 Тогда
|
Если Значение <= 0 Тогда
|
||||||
Возврат "0";
|
Возврат "0";
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Алфавит = АлфавитСистемСчисления(Нотация);
|
Алфавит = АлфавитСистемСчисления(Нотация);
|
||||||
@ -455,8 +455,8 @@
|
|||||||
Возврат Результат;
|
Возврат Результат;
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция ЧислоИзДругойСистемы(Знач Значение = "0", Нотация = 36)
|
Функция ЧислоИзДругойСистемы(Знач Значение = "0", Нотация = 36)
|
||||||
Если Нотация <= 0 Тогда
|
Если Нотация <= 0 Тогда
|
||||||
Возврат 0;
|
Возврат 0;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
@ -464,15 +464,15 @@
|
|||||||
Если Значение = "0" Тогда
|
Если Значение = "0" Тогда
|
||||||
Возврат 0;
|
Возврат 0;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Алфавит = АлфавитСистемСчисления(Нотация);
|
Алфавит = АлфавитСистемСчисления(Нотация);
|
||||||
Результат = 0;
|
Результат = 0;
|
||||||
Длина = СтрДлина(Значение);
|
Длина = СтрДлина(Значение);
|
||||||
Для Позиция = 1 По Длина Цикл
|
Для Позиция = 1 По Длина Цикл
|
||||||
Множитель = Pow(Нотация, Длина - Позиция);
|
Множитель = Pow(Нотация, Длина - Позиция);
|
||||||
ТекСимвол = Сред(Значение, Позиция, 1);
|
ТекСимвол = Сред(Значение, Позиция, 1);
|
||||||
ИндексСимвола = СтрНайти(Алфавит, ТекСимвол) - 1;
|
ИндексСимвола = СтрНайти(Алфавит, ТекСимвол) - 1;
|
||||||
Результат = Результат + ИндексСимвола * Множитель;
|
Результат = Результат + ИндексСимвола * Множитель;
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
Возврат Окр(Результат);
|
Возврат Окр(Результат);
|
||||||
КонецФункции
|
КонецФункции
|
||||||
@ -486,7 +486,7 @@
|
|||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Процедура ЗаменитьТекстВТД(ТД, Текст, Замена)
|
Процедура ЗаменитьТекстВТД(ТД, Текст, Замена)
|
||||||
Область = ТД.НайтиТекст(Текст);
|
Область = ТД.НайтиТекст(Текст);
|
||||||
Пока НЕ Неопределено = Область Цикл
|
Пока НЕ Неопределено = Область Цикл
|
||||||
Область.Текст = СтрЗаменить(Область.Текст, Текст, Замена);
|
Область.Текст = СтрЗаменить(Область.Текст, Текст, Замена);
|
||||||
Область = ТД.НайтиТекст(Текст, Область);
|
Область = ТД.НайтиТекст(Текст, Область);
|
||||||
@ -494,45 +494,44 @@
|
|||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
Функция МассивПоДиапазонуЧисел(Число_С, Число_По)
|
Функция МассивПоДиапазонуЧисел(Число_С, Число_По)
|
||||||
Результат = Новый Массив;
|
Результат = Новый Массив;
|
||||||
Для ТекЧисло = Число_С По Число_По Цикл
|
Для ТекЧисло = Число_С По Число_По Цикл
|
||||||
Результат.Добавить(ТекЧисло);
|
Результат.Добавить(ТекЧисло);
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
Возврат Результат;
|
Возврат Результат;
|
||||||
КонецФункции
|
КонецФункции
|
||||||
|
|
||||||
Функция СформироватьДиапазон(МассивОписанияДиапазона)
|
Функция СформироватьДиапазон(МассивОписанияДиапазона)
|
||||||
Результат = Неопределено;
|
Результат = Неопределено;
|
||||||
Если 1 = МассивОписанияДиапазона.Количество() Тогда
|
Если 1 = МассивОписанияДиапазона.Количество() Тогда
|
||||||
Результат = Новый Массив;
|
Результат = Новый Массив;
|
||||||
Результат.Добавить(МассивОписанияДиапазона[0]);
|
Результат.Добавить(МассивОписанияДиапазона[0]);
|
||||||
ИначеЕсли 2 = МассивОписанияДиапазона.Количество() Тогда
|
ИначеЕсли 2 = МассивОписанияДиапазона.Количество() Тогда
|
||||||
Результат = МассивПоДиапазонуЧисел(МассивОписанияДиапазона[0], МассивОписанияДиапазона[1]);
|
Результат = МассивПоДиапазонуЧисел(МассивОписанияДиапазона[0], МассивОписанияДиапазона[1]);
|
||||||
Иначе
|
Иначе
|
||||||
ВызватьИсключение СтрШаблон("Ошибка в описании диапазона: %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
|
// 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,"
|
ИнтервалыКодов = "0-1F,7F,80-9F,034F,2008,200B-200F,2028-202E,2060-2061,2063,2066-206F,"
|
||||||
+ "FE00-FE0F,FEFF,FFF9-FFFD,E0100-E01EF";
|
+ "FE00-FE0F,FEFF,FFF9-FFFD,E0100-E01EF";
|
||||||
ИнтервалыКодов = СтрРазделить(ИнтервалыКодов, ",");
|
ИнтервалыКодов = СтрРазделить(ИнтервалыКодов, ",");
|
||||||
ИнтервалыКодов = Мап("Результат = СтрРазделить(Элемент, ""-"")", ИнтервалыКодов);
|
ИнтервалыКодов = Мап("Результат = СтрРазделить(Элемент, ""-"")", ИнтервалыКодов);
|
||||||
ИнтервалыКодов = Мап("Результат = Мап(""Результат = Ох(Элемент)"" ,Элемент)", ИнтервалыКодов);
|
ИнтервалыКодов = Мап("Результат = Мап(""Результат = Ох(Элемент)"" ,Элемент)", ИнтервалыКодов);
|
||||||
ИнтервалыКодов = Мап("Результат = СформироватьДиапазон(Элемент)", ИнтервалыКодов);
|
ИнтервалыКодов = Мап("Результат = СформироватьДиапазон(Элемент)", ИнтервалыКодов);
|
||||||
УпрСимволы = Свернуть("ОбщегоНазначенияКлиентСервер.ДополнитьМассив(Результат, Элемент)", ИнтервалыКодов, Новый Массив);
|
УпрСимволы = Свернуть("ОбщегоНазначенияКлиентСервер.ДополнитьМассив(Результат, Элемент)", ИнтервалыКодов, Новый Массив);
|
||||||
УпрСимволы = Мап("Результат = Символ(Элемент)", УпрСимволы);
|
УпрСимволы = Мап("Результат = Символ(Элемент)", УпрСимволы);
|
||||||
УпрСимволы = ОбщегоНазначенияКлиентСервер.СвернутьМассив(УпрСимволы);
|
УпрСимволы = ОбщегоНазначенияКлиентСервер.СвернутьМассив(УпрСимволы);
|
||||||
Исключения = Мап("Результат = Символы[Элемент]", СтрРазделить("ПС,ВК", ","));
|
Исключения = Мап("Результат = Символы[Элемент]", СтрРазделить("ПС,ВК", ","));
|
||||||
УпрСимволы = Фильтр("Условие = Неопределено = _.Найти(Элемент)", УпрСимволы, Исключения);
|
УпрСимволы = Фильтр("Условие = Неопределено = _.Найти(Элемент)", УпрСимволы, Исключения);
|
||||||
|
|
||||||
ЗаменитьТекстВТД(ТабДок, Символы.ВТаб, Символы.ПС);
|
ЗаменитьТекстВТД(ТабДок, Символы.ВТаб, Символы.ПС);
|
||||||
|
|
||||||
Для Каждого ТекСимвол_Число Из УпрСимволы Цикл
|
Для Каждого ТекСимвол_Число Из УпрСимволы Цикл
|
||||||
ЗаменитьТекстВТД(ТабДок, ТекСимвол_Число, "");
|
ЗаменитьТекстВТД(ТабДок, ТекСимвол_Число, "");
|
||||||
КонецЦикла;
|
КонецЦикла;
|
||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
Loading…
Reference in New Issue
Block a user