Транслитерация текста для Документа "Завяка на открытие счетов"

Программирование - Практика программирования

Транслитерация текста для  Документа "Завяка на открытие счетов".
Eказывается текст, эмбоссированный на карточке.

Функция добавляется в документ "Завяка на открытие счетов" , для автоматического эмбоссированния текста.

Можно настраивать свои правила для транслитерации.

Скачать файлы

Наименование Файл Версия Размер
Translit
.1228468912 64,00Kb
25.09.09
129
.1228468912 64,00Kb 129 Скачать

См. также

Комментарии
1. NoMAx (NoMax) 232 05.10.09 16:48 Сейчас в теме
Код фунции
Функция Transliterate(srtRusWord)

strRUS = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
strENG = "A///B///V///G///D///E///YO//ZH//Z///I///Y///K///L///M///N//­/O///P///R///S///T///U///F///KH//TS//CH//SH//SHCH'///Y//////­/E///YU//JA//";

strResult = "";

Для i = 1 по СтрДлина(srtRusWord) Цикл

s = Сред(srtRusWord, i,1);
s=ВРег(s);

k = Найти(strRUS, s);

Если k = 0 тогда

strResult = strResult + s;

Иначе
strResult = strResult + СтрЗаменить(Сред(strENG, (k - 1) * 4 + 1, 4), "/", "");

КонецЕсли

КонецЦикла ;

Возврат strResult;
КонецФункции
2. Валентин Бомбин (so-quest) 123 10.12.09 11:52 Сейчас в теме
спасибо. а то ломает писать самому
3. Игорь Костюк (foxey) 2 23.12.09 10:07 Сейчас в теме
Так понимаю, все переводится в верхний регистр... Я такую вот функцию написал в свое время:
Функция Транслитерация(Стр) ЭКСПОРТ
Рез = СокрЛП(Стр);
СтрРус = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
СтрАнг = "ABVGDEEZHZIYKLMNOPRSTUFHTSCHSHSCH Y EYUYA";
КолСим = "111111121111111111111112223111122";
СтрРус = СтрРус + Нрег(СтрРус);
СтрАнг = СтрАнг + Нрег(СтрАнг);
КолСим = КолСим + КолСим;
Для сч = 1 по СтрДлина(СтрРус) Цикл
Место = 1;
Для сч1 = 1 по сч-1 Цикл
Место = Место + Число(Сред(КолСим,сч1,1));
КонецЦикла;
Рез = СтрЗаменить(Рез, Сред(СтрРус,сч,1), СокрЛП(Сред(СтрАнг,Место,Число(Сред(КолСим,сч,1)))));
КонецЦикла;
Возврат Рез;
КонецФункции

Не переводит все в Капс.
4. Максим Я (maxchaos) 22 22.10.10 20:16 Сейчас в теме
(1) Спасибо, работает!
Для тех, кто скопи-пастит код из (1):
в конечном коде в значении переменной strENG удалите дефис после "N//", т.к. дефис - это не часть переменной, это автоперенос длинной строки текста данной публикации!
Иначе получите Иванов -> IVAN-OV
Для себя я еще заменил соответствие для "Я" на "YA" вместо "JA".
5. NoMAx (NoMax) 232 25.10.10 12:31 Сейчас в теме
(4) Это глюк IE, под Оперой все нормально.
6. Вера Белевич (integragirl) 27.03.12 13:09 Сейчас в теме
NoMAx, респект тебе за код!
Оставьте свое сообщение