helpf.pro
Регистрация
 +9 
Распечатать

Функция получить строку на латинском, Транслит

Код 1C v 8.х
 Функция Транслит(Вход) 
Коды = Новый Соответствие;
Коды.Вставить("ё","yo");
Коды.Вставить("Ё","Yo");
Нач = КодСимвола("А");
Англ = "A" "B" "V" "G" "D" "E" "Zh" "Z" "I" "Y" "K" "L" "M" "N" "O" "P" "R" "S" "T" "U" "F" "Kh" "Ts" "Ch" "Sh" "Shch" "" "Y" "" "E" "Yu" "Ya" "a" "b" "v" "g" "d" "e" "zh" "z" "i" "y" "k" "l" "m" "n" "o" "p" "r" "s" "t" "u" "f" "kh" "ts" "ch" "sh" "shch" "" "y" "" "e" "yu" "ya";
Для К = Нач по КодСимвола("я") Цикл
Коды.Вставить(Символ(К), СтрПолучитьСтроку(Англ, К - Нач + 1));
КонецЦикла;
Выход = "";
Для К=1 по СтрДлина(Вход) Цикл
Бкв = Сред(Вход,К,1);
Зн = Коды.Получить(Бкв);
Выход = Выход + ?(Зн = Неопределено, Бкв, Зн);
КонецЦикла;
Возврат Выход;
КонецФункции

//еще пример функции, возвращает значение в верхнем регистре
Код 1C v 8.х
 Функция ПолучитьСтрокуНаЛатинском(ИсходныйТекст)
СоответствиеСимволов = Новый Соответствие;
СоответствиеСимволов.Вставить("А", "A");
СоответствиеСимволов.Вставить("Б", "B");
СоответствиеСимволов.Вставить("В", "V");
СоответствиеСимволов.Вставить("Г", "G");
СоответствиеСимволов.Вставить("Д", "D");
СоответствиеСимволов.Вставить("Е", "E");
СоответствиеСимволов.Вставить("Ё", "E");
СоответствиеСимволов.Вставить("Ж", "ZH");
СоответствиеСимволов.Вставить("З", "Z");
СоответствиеСимволов.Вставить("И", "I");
СоответствиеСимволов.Вставить("Й", "Y");
СоответствиеСимволов.Вставить("К", "K");
СоответствиеСимволов.Вставить("Л", "L");
СоответствиеСимволов.Вставить("М", "M");
СоответствиеСимволов.Вставить("Н", "N");
СоответствиеСимволов.Вставить("О", "O");
СоответствиеСимволов.Вставить("П", "P");
СоответствиеСимволов.Вставить("Р", "R");
СоответствиеСимволов.Вставить("С", "S");
СоответствиеСимволов.Вставить("Т", "T");
СоответствиеСимволов.Вставить("У", "U");
СоответствиеСимволов.Вставить("Ф", "F");
СоответствиеСимволов.Вставить("Х", "KH");
СоответствиеСимволов.Вставить("Ц", "TS");
СоответствиеСимволов.Вставить("Ч", "CH");
СоответствиеСимволов.Вставить("Ш", "SH");
СоответствиеСимволов.Вставить("Щ", "SHCH");
СоответствиеСимволов.Вставить("Ъ", "");
СоответствиеСимволов.Вставить("Ы", "Y");
СоответствиеСимволов.Вставить("Ь", "");
СоответствиеСимволов.Вставить("Э", "E");
СоответствиеСимволов.Вставить("Ю", "YU");
СоответствиеСимволов.Вставить("Я", "YA");

ИсходныйТекст = СокрЛП(ВРег(ИсходныйТекст));
ГотовоеЗначение = "";
ТекущийСимвол = "";
ТекущийГотовыйСимвол = "";
Для к = 1 по СтрДлина(ИсходныйТекст) Цикл
ТекущийСимвол = Сред(ИсходныйТекст, к, 1);
ТекущийГотовыйСимвол = СоответствиеСимволов.Получить(ТекущийСимвол);
Если ТекущийГотовыйСимвол = Неопределено Тогда
ГотовоеЗначение = ГотовоеЗначение + ТекущийСимвол;
Иначе
ГотовоеЗначение = ГотовоеЗначение + ТекущийГотовыйСимвол;
КонецЕсли;

КонецЦикла;
Возврат ГотовоеЗначение;
КонецФункции

//Использование:
Сообщить(ПолучитьСтрокуНаЛатинском("Забарчук Юлия"));
//Выведет: ZABARCHUK YULIYA
Разместил:   Версии: | 8.x | 8.2 УП |  Дата:   Прочитано: 36256
 +9 
Распечатать
Возможно, вас также заинтересует
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 52
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ
1C: Enterprise Development Tools 52
И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools - это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем
1С 7.x : Как получить курсы валют с сайта НБУ http://www.bank.gov.ua/ за любую дату ? 6
Функция ПолучитьТаблицуКурсовНБУ(ДатаКурса, Ежедневно = 1) // если в качестве второго параметра указать число отличное от 1 - получем валюты, которые котируются на ежемесячной основе Перем Reader, Url, Точки, HtmlTab, Строк, Р, НомСтроки, НомЯче
1С 8.x : Как убрать лидирующие нули в номере Документа (вариант2) 0
Скопировать строку с номером, с лидирующими нулями, в числовом поле (с форматом без групп, без группировки), и вернуть(скопировать) обратно в строковом поле с номером. Возвращает без нулей.
Cклонения по падежам 6
НаКлиенте Процедура Команда1(Команда) ФИО = " Иванов Иван Иванович" ; Падеж = 2; Пол = 1; Результат = СклонениеФИО(ФИО, Падеж, пол); Сообщить(Результат); КонецПроцедуры НаСервере Функция СклонениеФИО(ФИО, Падеж, пол) Результат = " " ;
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.