Функция транслит в 1с

17.10.11

Разработка - Универсальные функции

Данная обработка формирует транслит в 1с 8

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

Наименование Файл Версия Размер
Обработка транслит 1с 8
.epf 6,87Kb
206
.epf 6,87Kb 206 Скачать

Случилось так, что нужно формировать смс на транслите для этого написал данную функцию

Sluchilos tak, chto nuzhno formirovat sms na translite dlya etogo napisal dannuyu funktsiyu

 

 

См. также

Вставляем картинку из буфера обмена (платформа 1С 8.3.24)

Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Задача: вставить картинку из буфера обмена на форму средствами платформы 1С.

1 стартмани

18.03.2024    2669    0    John_d    8    

54

GUID в 1С 8.3 - как с ними быть

Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Пришлось помучиться с GUID-ами немного, решил поделиться опытом, мало ли кому пригодится.

12.02.2024    4600    atdonya    22    

45

Переоткрытие внешних обработок

Универсальные функции Платформа 1С v8.3 Бесплатно (free)

На заключительных этапах, когда идет отладка или доработка интерфейса, необходимо много раз переоткрыть внешний объект. Вот один из способов автоматизации этого.

30.11.2023    3960    ke.92@mail.ru    16    

61

Валидация JSON через XDTO (включая массивы)

WEB-интеграция Универсальные функции Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

28.08.2023    8813    YA_418728146    6    

141

Печать непроведенных документов для УТ, КА, ERP. Настройка печати по пользователям, документам и печатным формам

Пакетная печать Печатные формы Адаптация типовых решений Универсальные функции Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Абонемент ($m)

Расширение для программ 1С:Управление торговлей, 1С:Комплексная автоматизация, 1С:ERP, которое позволяет распечатывать печатные формы для непроведенных документов. Можно настроить, каким пользователям, какие конкретные формы документов разрешено печатать без проведения документа.

2 стартмани

22.08.2023    2071    21    progmaster    7    

3

Расширение: Быстрые отборы через буфер [Alt+C] Копировать список, [Alt+V] Вставить список, [Ctrl+C] Копировать из файлов

Инструментарий разработчика Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Абонемент ($m)

Копирует в буфер значения из списков, из ячеек отчетов, таблиц, настроек списков, других отборов и вставляет в выбранную настройку отбора. Работает с Объект не найден. Работает как в одной так и между разными базами 1С. Использует комбинации [Alt+C] Копировать список, [Alt+V] Вставить список. Также для копирования данных используется стандартная [Ctrl+C] (например из открытого xls, mxl, doc и т.п. файла скопировать список наименований)

1 стартмани

13.10.2022    16143    133    sapervodichka    112    

129

Система контроля ведения учета [БСП]

Универсальные функции Механизмы типовых конфигураций БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

В данном материале рассмотрим типовой алгоритм подсистемы контроля учета БСП в конфигурациях на примерах.

18.07.2022    7242    quazare    8    

109
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. EastGuy 53 17.10.11 13:13 Сейчас в теме
Какая применяется таблица перевода символов?
2. dima1c 44 17.10.11 14:24 Сейчас в теме
8. zsrg 343 07.07.12 19:27 Сейчас в теме
(2)
Слегка изменил Вашу функции до одной, убрал лишнюю операцию разложения строки:
Функция Транслит(Вход) 
	Коды = Новый Соответствие;
	Коды.Вставить("ё","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);
		Зн = Коды.Получить(Бкв);
		Выход = Выход + ?(Зн = Неопределено, Бкв, Зн);
	КонецЦикла;
	Возврат Выход;
КонецФункции
Показать
warrior1985; Smert-nik; ПодводныйТ; perpleks; iCortezik; mip128; mikl79; ulen; МультиВишня; Evil Beaver; Alexander.Shvets; adhocprog; monkbest; i1381215@trbvm.com; GATTUSO; nick_krsk; ni032mas; +17 Ответить
3. galyausik1 19.10.11 10:32 Сейчас в теме
4. evrakylon 19.10.11 15:32 Сейчас в теме
Видел функцию транслитерации в рарусовском "Магазине автозапчастей"
5. dima1c 44 19.10.11 17:38 Сейчас в теме
(4) evrakylon, эту сам писал... Конфу эту в глаза не видел;)
6. Boudybuilder 35 02.12.11 23:11 Сейчас в теме
Полезная обработка!
Спасибо за старания.
Класная и простая!
7. fixin 4252 04.04.12 11:05 Сейчас в теме
зря писал. у Гения 1с в библиотеке функций давно написана.
9. Zircool 190 19.09.12 12:14 Сейчас в теме
Спасибо, пригодились функции.
10. igorberezhnov 31.01.13 12:16 Сейчас в теме
Перем ТрансХ[3];


Процедура ИнициализацияТранслитерации()
	ТрансХ[1] = "A:B:V:G:D:E:YO:ZH:Z:I:Y:K:L:M:N:O:P:R:S:T:U:F:H:C:CH:SH:SCH:':Y:':E:YU:YA";
	ТрансХ[2] = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
	НС=1;СД=СтрДлина(ТрансХ[1]);
	Для I=1 По СтрДлина(ТрансХ[2]) Цикл
	Т=0;
	Для J=НС По СД Цикл
	Если Сред(ТрансХ[1],J,1)=":" Тогда Прервать;Иначе Т=Т+1;КонецЕсли;
	КонецЦикла;
	ТрансХ[3]=ТрансХ[3]+Симв(НС)+Симв(Т);НС=НС+Т+1;
	КонецЦикла;
КонецПроцедуры
	
Функция Транслитерация(СР)
	Р="";
	Для I=1 По СтрДлина(СР) Цикл
	СД=Сред(СР,I,1);С=ВРег(СД);ВН=?(СД<>С,1,0);
	П=Найти(ТрансХ[2],С);
	Если П>0 Тогда
	С=Сред(ТрансХ[3],(П*2)-1,2);С=Сред(ТрансХ[1],КодСимв(С),КодСимв(Прав(С,1)));
	Р=Р+?(ВН=1,НРег(С),С);
	Иначе Р=Р+С;
	КонецЕсли;
	КонецЦикла;
	Возврат Р;
КонецФункции
Показать
11. Romeooo 78 12.02.13 23:20 Сейчас в теме
Спасибо! Полчаса времени сэкономил.:)
12. tovpeko 15.01.14 19:07 Сейчас в теме
13. Progus 15.01.14 21:13 Сейчас в теме
Спасибо! Как раз вовремя!
14. sh_ 05.07.18 13:25 Сейчас в теме
15. name17 07.04.20 19:36 Сейчас в теме
БСП: СтроковыеФункцииКлиентСервер.СтрокаЛатиницей()
warrior1985; EvgeTrofi; ZDmitry83; bprogs; eufes; user1084491; Invodev; ybatiaev; simgo83; shetill; unknown181538; use99; noon; Elmirkinskij; proninvs; Suslik_Johns; +16 Ответить
16. Suslik_Johns 03.06.20 14:49 Сейчас в теме
(15)
СтроковыеФункцииКлиентСервер
Спасибо за подсказку! ;)
17. valeron465 27.08.21 10:45 Сейчас в теме
Функция СтрокаЛатиницей(Стр) Экспорт
	СтрЗамен = "A,B,V,G,D,E,Yo,Zh,Z,I,Y,K,L,M,N,O,P,R,S,T,U,F,H,C,Ch,Sh,Sch,Y,E,Yu,Ya";
	СтрКириллица = "А,Б,В,Г,Д,Е,Ё,Ж,З,И,Й,К,Л,М,Н,О,П,Р,С,Т,У,Ф,Х,Ц,Ч,Ш,Щ,,Ы,,Э,Ю,Я";	
	МасЗамен = СтрРазделить(СтрЗамен, ",");
	МасКириллица = СтрРазделить(СтрКириллица, ",");
	
	СтрЛат = "0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,R,S,T,Q,U,V,X,Y,Z,W";	
	МасЛат = СтрРазделить(СтрЛат, ",");
	Результат = "";
	Для сч = 1 по СтрДлина(Стр) Цикл
		Симв = Сред(Стр, сч, 1);
		Если МасЛат.Найти(ВРег(Симв)) <> Неопределено Тогда
			СимвЛат = Симв;	
		Иначе
			Инд = МасКириллица.Найти(ВРег(Симв));
			Если Инд = Неопределено Тогда
				Продолжить;
			КонецЕсли;
			Если Симв = МасКириллица[Инд] Тогда   //значит исходный символ в верхнем регистре
				СимвЛат = МасЗамен[Инд];
			Иначе
				СимвЛат = НРег(МасЗамен[Инд]);
			КонецЕсли;
		КонецЕсли;
		Результат = Результат + СимвЛат;
	КонецЦикла;
	Возврат Результат;
КонецФункции
Показать
Оставьте свое сообщение