Четверг, 13 февраля, 2025

Транслитерация текста в 1с

Из этой статьи вы узнаете как быстро и без труда сделать транслит текста из кириллицы в латиницу.

Транслит текста может понадобиться для разных задач. Например, для печатной формы счета для иностранных контрагентов или отправки смс сообщения. Для перевода любого текста в транслит - translit, воспользуйтесь готовой функцией:

Функция Транслит(Строка) 
    
   Рез = СокрЛП(Строка);   
   Рез = СтрЗаменить(Рез,"а","a"); 
   Рез = СтрЗаменить(Рез,"б","b"); 
   Рез = СтрЗаменить(Рез,"в","v"); 
   Рез = СтрЗаменить(Рез,"г","g"); 
   Рез = СтрЗаменить(Рез,"д","d"); 
   Рез = СтрЗаменить(Рез,"е","e"); 
   Рез = СтрЗаменить(Рез,"ё","e"); 
   Рез = СтрЗаменить(Рез,"ж","zh"); 
   Рез = СтрЗаменить(Рез,"з","z"); 
   Рез = СтрЗаменить(Рез,"и","i"); 
   Рез = СтрЗаменить(Рез,"к","k"); 
   Рез = СтрЗаменить(Рез,"л","l"); 
   Рез = СтрЗаменить(Рез,"м","m"); 
   Рез = СтрЗаменить(Рез,"н","n"); 
   Рез = СтрЗаменить(Рез,"о","o"); 
   Рез = СтрЗаменить(Рез,"п","p"); 
   Рез = СтрЗаменить(Рез,"р","r"); 
   Рез = СтрЗаменить(Рез,"с","s"); 
   Рез = СтрЗаменить(Рез,"т","t"); 
   Рез = СтрЗаменить(Рез,"у","u"); 
   Рез = СтрЗаменить(Рез,"ф","f"); 
   Рез = СтрЗаменить(Рез,"х","h"); 
   Рез = СтрЗаменить(Рез,"ч","ch"); 
   Рез = СтрЗаменить(Рез,"ш","sh"); 
   Рез = СтрЗаменить(Рез,"щ","sch"); 
   Рез = СтрЗаменить(Рез,"ъ",""); 
   Рез = СтрЗаменить(Рез,"ь",""); 
   Рез = СтрЗаменить(Рез,"э","e"); 
   Рез = СтрЗаменить(Рез,"ю","yu"); 
   Рез = СтрЗаменить(Рез,"й","i"); 
   Рез = СтрЗаменить(Рез,"ц","c"); 
   Рез = СтрЗаменить(Рез,"я","ya"); 
   Рез = СтрЗаменить(Рез,"ы","i"); 
   Рез = СтрЗаменить(Рез,"А","A"); 
   Рез = СтрЗаменить(Рез,"Б","B"); 
   Рез = СтрЗаменить(Рез,"В","V"); 
   Рез = СтрЗаменить(Рез,"Г","G"); 
   Рез = СтрЗаменить(Рез,"Д","D"); 
   Рез = СтрЗаменить(Рез,"Е","E"); 
   Рез = СтрЗаменить(Рез,"Ё","E"); 
   Рез = СтрЗаменить(Рез,"Ж","ZH"); 
   Рез = СтрЗаменить(Рез,"З","Z"); 
   Рез = СтрЗаменить(Рез,"И","I"); 
   Рез = СтрЗаменить(Рез,"К","K"); 
   Рез = СтрЗаменить(Рез,"Л","L"); 
   Рез = СтрЗаменить(Рез,"М","M"); 
   Рез = СтрЗаменить(Рез,"Н","N"); 
   Рез = СтрЗаменить(Рез,"О","O"); 
   Рез = СтрЗаменить(Рез,"П","P"); 
   Рез = СтрЗаменить(Рез,"Р","R"); 
   Рез = СтрЗаменить(Рез,"С","S"); 
   Рез = СтрЗаменить(Рез,"Т","T"); 
   Рез = СтрЗаменить(Рез,"У","U"); 
   Рез = СтрЗаменить(Рез,"Ф","F"); 
   Рез = СтрЗаменить(Рез,"Х","H"); 
   Рез = СтрЗаменить(Рез,"Ч","CH"); 
   Рез = СтрЗаменить(Рез,"Ш","SH"); 
   Рез = СтрЗаменить(Рез,"Щ","SCH"); 
   Рез = СтрЗаменить(Рез,"Ъ",""); 
   Рез = СтрЗаменить(Рез,"Ь",""); 
   Рез = СтрЗаменить(Рез,"Ы","I"); 
   Рез = СтрЗаменить(Рез,"Ц","C"); 
   Рез = СтрЗаменить(Рез,"Э","E"); 
   Рез = СтрЗаменить(Рез,"Ю","YU"); 
   Рез = СтрЗаменить(Рез,"Я","YA"); 
   Рез = СтрЗаменить(Рез,"Й","I");
   
   Рез = СтрЗаменить(Рез," ","-"); 
   Рез = СтрЗаменить(Рез,"--","-"); 
   Рез = СтрЗаменить(Рез,"--","-"); 
   Рез = СтрЗаменить(Рез,"--","-"); 
   Рез = СтрЗаменить(Рез,"#",""); 
   Рез = СтрЗаменить(Рез,"№",""); 
   Рез = СтрЗаменить(Рез,",",""); 
   Рез = СтрЗаменить(Рез,".",""); 
   Рез = СтрЗаменить(Рез,"/",""); 
   Рез = СтрЗаменить(Рез,"""",""); 
   Рез = СтрЗаменить(Рез,"(",""); 
   Рез = СтрЗаменить(Рез,")",""); 
   
   Возврат(Рез);
  
КонецФункции

Использовать ее очень просто, вот пример:

//Объект.Контрагент = ООО "Ромашка"

Результат = Транслит(Объект.Контрагент);

//Результат = OOO "Romashka"

Как видно из примера, в функции замена производиться с учетом регистров. При желании можно просто изменить какой на какой символ будет замена.Т

Пожалуйста лайк, репост

Это тоже интересно

РЕКОМЕНДУЕМ

Интересное