Порой сотрудники забывают переключить раскладку и может выйти грустно, так как 99.9% товаров с серийными номерами идет на англ, то лучше сразу проверить на рус символы.
Когда пришлось сканить много товара с серийными номерами, лень победила.
Решение - простая функция. Проходим по строке, смотрим код символа, если больше 191, тогда идем и меняем по структуре. Символы и цифры упадут в исключение. На выходе функция вернет уже строку с англ. буквами.
Функция ЗаменаРУСнаАнгл(ШК) Экспорт
прЗамена = Ложь;
Для Сч = 1 по СтрДлина(ШК) Цикл
Если КодСимвола(Сред(ШК,СЧ)) > 191 Тогда
прЗамена = Истина;
Прервать;
КонецЕсли;
КонецЦикла;
Если прЗамена тогда
СтруктураЗаменыРБ = Новый Структура;
СтруктураЗаменыРБ.Вставить("Й","Q");
СтруктураЗаменыРБ.Вставить("Ц","W");
СтруктураЗаменыРБ.Вставить("У","E");
СтруктураЗаменыРБ.Вставить("К","R");
СтруктураЗаменыРБ.Вставить("Е","T");
СтруктураЗаменыРБ.Вставить("Н","Y");
СтруктураЗаменыРБ.Вставить("Г","U");
СтруктураЗаменыРБ.Вставить("Ш","I");
СтруктураЗаменыРБ.Вставить("Щ","O");
СтруктураЗаменыРБ.Вставить("З","P");
СтруктураЗаменыРБ.Вставить("Ф","A");
СтруктураЗаменыРБ.Вставить("Ы","S");
СтруктураЗаменыРБ.Вставить("В","D");
СтруктураЗаменыРБ.Вставить("А","F");
СтруктураЗаменыРБ.Вставить("П","G");
СтруктураЗаменыРБ.Вставить("Р","H");
СтруктураЗаменыРБ.Вставить("О","J");
СтруктураЗаменыРБ.Вставить("Л","K");
СтруктураЗаменыРБ.Вставить("Д","L");
СтруктураЗаменыРБ.Вставить("Я","Z");
СтруктураЗаменыРБ.Вставить("Ч","X");
СтруктураЗаменыРБ.Вставить("С","C");
СтруктураЗаменыРБ.Вставить("М","V");
СтруктураЗаменыРБ.Вставить("И","B");
СтруктураЗаменыРБ.Вставить("Т","N");
СтруктураЗаменыРБ.Вставить("Ь","M");
Для Сч = 1 По СтрДлина(ШК) Цикл
Попытка
Если СтруктураЗаменыРБ.Свойство(Сред(ШК,Сч,1)) Тогда
Замена = "";
СтруктураЗаменыРБ.Свойство(Сред(ШК,Сч,1),Замена) ;
ШК = СтрЗаменить(ШК,Сред(ШК,Сч,1),Замена);
КонецЕсли;
Исключение
//Скорей всего символ
КонецПопытки
КонецЦикла
КонецЕсли;
Возврат ШК;
КонецФункции