1С 8.2 переключение раскладки клавиатуры (с помощью dynwrap.dll)

23.05.13

Разработка - Разработка внешних компонент

Функция для автоматического переключения раскладки клавиатуры. (с помощью dynwrap.dll)
Дабы не переключать каждый раз (при вводе информации в разных полях) с "Rus" на "Eng", можно эту работу возложить на функцию.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
dynwrap.dll
.dll 36,00Kb
59
59 Скачать (1 SM) Купить за 1 850 руб.

Мэханизм работает так:

1) регистрируем dll-ку в операционке:  

regsvr32.exe "C:\WINDOWS\system32\dynwrap.dll"

2) Создаем функцию на сервере: 

Функция  ПереключитьРаскладкуDW(Имя) Экспорт
    Попытка
        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");
        
    Исключение
        Возврат Истина;
    КонецПопытки;
    
    SRus = "00000419";
    SEng = "00000409";
    
    NRus = 1049;
    NEng = 1033;
    
    Попытка
        Если Нрег(Имя) = Нрег("Rus") тогда
            Wrapper.LoadKeyboardLayout(SRus, 1);
            Wrapper.ActivateKeyboardLayout(NRus, 0);    
        Иначе    
            Wrapper.LoadKeyboardLayout(SEng, 1);
            Wrapper.ActivateKeyboardLayout(NEng, 0);    
        КонецЕсли;
        возврат Ложь;
    Исключение
        Возврат Истина;
    КонецПопытки;
КонецФункции

 

3) Запускаем функцию (в моем случае при открытии формы справочника):

&НаКлиенте
Процедура ПриОткрытии(Отказ)
    //переключим раскладку на английскую
    Раскл = ФункцииНасервере.ПереключитьРаскладкуDW("Eng");    
КонецПроцедуры

 

Для возврата обратно на русскую пишем:
Раскл = ФункцииНасервере.ПереключитьРаскладкуDW("Rus");




См. также

Разработка внешних компонент Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Внешняя компонента в виде библиотеки (.dll файл), позволяющая посылать команды и получать ответы по протоколу WebSocket из 1С. Компонента работает только на стороне "клиента".

4440 руб.

22.06.2020    18141    18    33    

22

Разработка внешних компонент Телефония, SIP Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Внешняя компонента выполнена по технологии Native API для 1С 8.х, обеспечивает доступ к программным АТС Asterisk (FreePBX, Elastix) через AMI интерфейс. Через него можно управлять многими функциями Asterisk (определение номеров, перевод звонков, набор телефона и т. д.)

2400 руб.

04.05.2018    46813    122    66    

66

Разработка внешних компонент Программист Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 Платные (руб)

Внешняя компонента позволяет работать c TWAIN-совместимым оборудованием (сканерами, камерами) . Полностью совместима со стандартной TWAIN-компонентой из БСП и может применяться как ее замена без изменения вызовов, при этом может работать с 64-разрядной платформой, а так же имеет расширенную функциональность, например, сохранение результата непосредственно в PDF без использования сторонних утилит. Прекрасно работает на сервере, тонком клиенте и веб-клиенте (проверена работа в браузерах Google Chrome, Mozilla Firefox и Microsoft Internet Explorer).

3000 руб.

12.05.2020    28243    138    100    

90

Разработка внешних компонент Программист Платформа 1С v8.3 Платформа 1C v8.2 Платные (руб)

Внешняя компонента, позволяющая посылать команды и получать ответы по GraphQL протоколу из 1С.Может быть использована при интеграции. В 1С работает на стороне "клиента".

4600 руб.

27.06.2023    3402    2    0    

4

Разработка внешних компонент Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Внешняя компонента позволяет печатать PDF файлы непосредственно из 1С, не используя при этом сторонних программ. Прекрасно работает на сервере, тонком клиенте и веб-клиенте. Основана на проекте PDFium из состава проекта Chromium/Chrome

1500 руб.

17.09.2018    36490    113    127    

114

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

Благодаря этим пяти строчкам можно больше не заморачиваться с загрузкой из внешних файлов. Пользуюсь везде, всегда и постоянно.

21.05.2024    20391    dimanich70    81    

145

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

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

28.08.2023    14832    YA_418728146    7    

166
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Diversus 2329 22.05.13 16:02 Сейчас в теме
Может лучше использовать для таких целей Punto Switcher только он круче, он умеет сам определять нужно переключить клавиатуру при наборе или нет :)
2. Serg23ru 37 22.05.13 16:13 Сейчас в теме
Может, я им не пользуюсь. Но пользователи которым я сделал средствами 1С очень довольны, хотя у одного из них есть Punto Switcher.
3. ShantinTD 91 22.05.13 17:17 Сейчас в теме
Помню поставил я этот Пунто Свитчер на ноутбук себе... Одного дня не вытерпел - снес на фиг.
Так что за топик ставлю плюс.
psa247; NazarovV; cleaner_it; PowerBoy; +4 Ответить
4. TMV 14 22.05.13 19:43 Сейчас в теме
(3) ShantinTD, вы просто не умеете его готовить)
borrman; Astafan; +2 Ответить
7. yuraos 1003 23.05.13 14:21 Сейчас в теме
(3) ShantinTD,
ага...
особенно после того как он тебе пароль с английского на русский "переведет"
а там - набор матерных слов...без пробела.
AlexanderKai; ShantinTD; cleaner_it; +3 Ответить
10. ShantinTD 91 24.05.13 10:26 Сейчас в теме
(7) yuraos, про пароль это точно подмечено. Один знакомый до сих пор заходит в базу только с четвертого раза. :) Благодаря пунто свитчеру. Кстати, тоже на ноутбуке.
Да и что-то помнится как у него пунто свитчер "переводит" код на языке 1С (без пробелов то есть) на английский язык.
23. psa247 21 09.09.16 16:21 Сейчас в теме
(3) ShantinTD, и пароли Пунто хорошо палит)))) еще и в логи пишет
5. smitti911 23.05.13 09:19 Сейчас в теме
Punto Switcher хорошая штука, надо просто немного настроить под себя и все :)
6. ShantinTD 91 23.05.13 13:15 Сейчас в теме
Да был он у меня настроен. На настольном компе. А на ноутбук - замучился настраивать. Проще оказалось смотреть в монитор когда набираешь текст. Как возможную причину вижу неполноразмерную клавиатуру ноутбука или специальные клавиши на ней. Да и было это лет 6-7 назад. Хочется верить (но нет желания проверять), что с тех пор пунто свитчер стал умнее.
8. Virikus 63 23.05.13 14:34 Сейчас в теме
Допишите в описание, что длл-ка позволяет программно переключать клавиатуру.

А то сразу не совсем понятно, чего она делает.

Еще можно привести пример, типа: Реквизит ЛатНаименование должен заполняться только латинскими символами, соответственно перед редактирование переключаем раскладку.
cleaner_it; +1 Ответить
9. Abadonna 3968 24.05.13 08:44 Сейчас в теме
Чем ставить DLL только ради переключения , да еще с регистрацией в реестре (а проблемки могут возникнуть с правами), проще поставить полнофункциональную ВК:
Miracle Native - ВК для V8
у которой в классе System есть методы "РУС" и "АНГЛ"
18. vec435 17 29.05.13 09:56 Сейчас в теме
(9) Abadonna, в Miracle Native нужно добавлять еще какие-то методы по необходимости, а через dynwrap.dll можно получить к WinAPI
19. Abadonna 3968 29.05.13 15:07 Сейчас в теме
(18) vec435, в ней есть метод CallDLLMethod, а там "завинапишиться" можно по самые уши ;)
11. andrewks 1375 24.05.13 19:05 Сейчас в теме
метод был описан ещё сто лет назад на сером форуме
12. andrewks 1375 24.05.13 19:06 Сейчас в теме
13. andrewks 1375 24.05.13 19:08 Сейчас в теме
ссылка на первоисточник не указана, длл-ка вложена в файлы для скачки (за $m)

минусовать не буду, но недовольство выскажу
14. webester 26 25.05.13 03:57 Сейчас в теме
15. Shrek2015 25.05.13 09:45 Сейчас в теме
мне тоже не нравится пунто свитчер :)
16. MishaD 14 25.05.13 15:50 Сейчас в теме
(15) Им можно по разному пользоваться. Я автопереключение отключил, а пользуюсь переключением языка по правому CTRL(очень удобно), и ручным исправлением раскладки по Shift+Break.
17. Sjawa2004 28.05.13 08:45 Сейчас в теме
(16) MishaD, Полностью согласен! Настройте правильно и будет вам счастье!!!
20. mk314 13 02.07.13 12:25 Сейчас в теме
При регистрации dll с помощью regsvr32 ошибка - модуль dynwrap.dll загружен, но не удалось выполнить вызов DLLRegisterserver
i1381215@trbvm.com; +1 Ответить
21. Serg23ru 37 02.07.13 15:05 Сейчас в теме
Может удалить из системы тот который был и поставить новый?
22. dikd 17 23.09.13 19:34 Сейчас в теме
На Win2008Server 64bit DLL не регистрируется (((
user599897_petrenko.ax; aupovy; +2 Ответить
Оставьте свое сообщение