Имя: Пароль:
1C
 
Возможно ли програмно менять язык с ру на англ в номенклатуре
0 Sorento
 
10.05.24
10:58
Есть номенклатура "Сахар" возможно ли програмно написать код так, чтоб он показывал "Sahar"?
1 Sorento
 
10.05.24
10:59
или там например "Сахар чёрный" в "Sahar_Cherniy"
2 Aleksey
 
10.05.24
11:00
да
3 shuhard
 
10.05.24
11:02
4 Sorento
 
10.05.24
11:02
(2), возможно подскажете, где взять информацию / материал для учёбы как это сделать?
5 Aleksey
 
10.05.24
11:03
6 Sorento
 
10.05.24
11:03
(3), спасибо большое!
7 Sorento
 
10.05.24
11:03
(5), спасибо большое!
8 Sorento
 
10.05.24
11:08
то есть, если я правильно понимаю, мне нужно заменять каждый символ в номенклатуре верно? Если я например хочу добавить кнопку (перевести) на форму Номенклатура, и после клика на кнопку выводит название номенклатуры в формате с Сахар в "Sahar"
9 Garykom
 
10.05.24
11:09
(3) Ему походу транслит нужен а не перевод
10 Asmody
 
10.05.24
11:10
– Ало, у меня компьютер сломался!
– Почему вы так решили?
– Я включила фильм на английском языке, нажимаю Альт Шифт, а он на русский не переводится!
11 Sorento
 
10.05.24
11:13
Ну мне нужно просто чтоб выводило не по англ ("
sugar") а то что пишет, то есть, если пишет Сахар тогда "Sahar", если Машина тогда "Mashina", кот - "kot" и т.п.
12 Sorento
 
10.05.24
11:12
(9), да именно транслит
13 Asmody
 
10.05.24
11:13
Транслит https://helpf.pro/faq/view/796.html
Или из БСП СтроковыеФункцииКлиентСервер.СтрокаЛатиницей()
14 Sorento
 
10.05.24
11:14
(13), да это то что нужно, спасибо большое!
15 Sorento
 
10.05.24
11:15
Функция ПолучитьСтрокуНаЛатинском(ИсходныйТекст)
СоответствиеСимволов = Новый Соответствие;
СоответствиеСимволов.Вставить("А", "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
16 Garykom
 
10.05.24
11:15
(10) Надо еще CTRL+SHIFT попробовать и ALT+SPACE...
17 Sorento
 
10.05.24
11:16
(13),(15)- решения
18 Garykom
 
10.05.24
11:18
(15) Судя по (1) тебе нужна другая функция
Которая все символы (включая пробел) которые не транслитерируются заменяет на "_"
19 Asmody
 
10.05.24
11:18
(17) молодец!
20 Garykom
 
10.05.24
11:19
(18)+ Со сменой регистра это уже как нить сам
21 Sorento
 
10.05.24
11:26
(18), да это дописал, там легко, спасибо большое всем!
22 maxab72
 
10.05.24
12:58
Хорошо, что транслитерация "английская" а не "немецкая"...
"счетно-решающий механизм" -> "stschetno-reschajustschij mekhanizm"