gifts2017

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

Опубликовал NoMAx (NoMax) в раздел Программирование - Практика программирования

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

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

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

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

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

См. также

Подписаться Добавить вознаграждение

Комментарии

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

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