Часто при сканировании сканером штрих кода с буквами бывает необходимо переключить язык на определенный. Для этого я использую dynwrap.dll. При этом в конфигурации прописываем, для версии 7.7:
//*******************************************
Процедура Раскладка(Кнопка)
Если Кнопка = "rus" тогда
Wrapper.LoadKeyboardLayout(SRus, 1);
Wrapper.ActivateKeyboardLayout(NRus, 0);
Иначеесли Кнопка = "eng" тогда
Wrapper.LoadKeyboardLayout(SEng, 1);
Wrapper.ActivateKeyboardLayout(NEng, 0);
ИначеЕсли Кнопка = "ukr" тогда
Wrapper.LoadKeyboardLayout(SUkr, 1);
Wrapper.ActivateKeyboardLayout(NUkr, 0);
КонецЕсли;
КонецПроцедуры
//********************************************
Процедура ПриОткрытии()
Раскладка("eng");
КонецПроцедуры;
//Переключатель клавитуры
Wrapper = createobject("DynamicWrapper");
Wrapper.Register("USER32.DLL", "ActivateKeyboardLayout", "i=ll", "f=s", "r=l");
Wrapper.Register("USER32.DLL", "LoadKeyboardLayout", "i=sl", "f=s", "r=t");
Wrapper.Register("USER32.DLL", "GetKeyboardLayoutName", "i=r", "f=s", "r=l");
SRus = "00000419";
SEng = "00000409";
SUkr = "00000422";
NRus = 1049;
NEng = 1033;
NUkr = 1058;
для версии 8.1 :
Процедура Раскладка(Кнопка)
Если Кнопка = "rus" тогда
Wrapper.LoadKeyboardLayout(SRus, 1);
Wrapper.ActivateKeyboardLayout(NRus, 0);
Иначеесли Кнопка = "eng" тогда
Wrapper.LoadKeyboardLayout(SEng, 1);
Wrapper.ActivateKeyboardLayout(NEng, 0);
ИначеЕсли Кнопка = "ukr" тогда
Wrapper.LoadKeyboardLayout(SUkr, 1);
Wrapper.ActivateKeyboardLayout(NUkr, 0);
КонецЕсли;
КонецПроцедуры
Процедура ПриОткрытии()
Раскладка("eng");
КонецПроцедуры
//Переключатель клавитуры
Wrapper = Новый COMОбъект("DynamicWrapper");
Wrapper.Register("USER32.DLL", "ActivateKeyboardLayout", "i=ll", "f=s", "r=l");
Wrapper.Register("USER32.DLL", "LoadKeyboardLayout", "i=sl", "f=s", "r=t");
Wrapper.Register("USER32.DLL", "GetKeyboardLayoutName", "i=r", "f=s", "r=l");
SRus = "00000419";
SEng = "00000409";
SUkr = "00000422";
NRus = 1049;
NEng = 1033;
NUkr = 1058;
Очень помогает, если используется Code128