Переключатель клавиатуры для 1С
Разработка - Разработка внешних компонент
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Часто при сканировании сканером штрих кода с буквами бывает необходимо переключить язык на определенный. Для этого я использую 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
Вступайте в нашу телеграмм-группу Инфостарт
См. также
7320 руб.
19.04.2023 7314 1 0
6100 руб.
27.05.2022 13637 2 20
1 стартмани
21.03.2019 35400 88 MadDAD 347