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

23.05.13

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
dynwrap.dll
.dll 36,00Kb
60
60 Скачать (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 1C:Бухгалтерия Платные (руб)

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

1500 руб.

17.09.2018    37301    116    128    

117

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

Позволяет автоматизировать работу с картинками. С помощью компоненты можно измерять размер изображений, поворачивать их, наносить водяные знаки, конвертировать из одного формата в другой. Будет очень полезна для интернет-магазинов и всех, кому постоянно требуется работать с различными графическими форматами. Выполнена по технологии NativeAPI. Работает с форматами: jpg (jpeg), png, bmp, gif, tif

3600 руб.

02.09.2010    78005    73    280    

191

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

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

3000 руб.

12.05.2020    29363    139    100    

92

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

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

2400 руб.

04.05.2018    47842    125    66    

68

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

В статье описывается приложение-конструктор внешних компонент (native API). Конструктор упрощает процесс разработки за счет удобного добавления всех нужных функций и процедур в графическом режиме, с указанием их параметров и типов параметров. На выходе приложение генерирует готовый код на С++ и Rust и позволяет сразу приступить к реализации, без настройки API компоненты вручную.

04.12.2024    5688    kovalevdmv    26    

77

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

Внешняя компонента для конвертации PDF файлов в картинки без использования дополнительных программ. Работает на сервере и в тонком клиенте.

2400 руб.

25.06.2024    1380    3    4    

3

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

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

21.05.2024    30794    dimanich70    83    

152
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Diversus 2334 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 11 22.05.13 19:43 Сейчас в теме
(3) ShantinTD, вы просто не умеете его готовить)
borrman; Astafan; +2 Ответить
7. yuraos 1007 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 64 23.05.13 14:34 Сейчас в теме
Допишите в описание, что длл-ка позволяет программно переключать клавиатуру.

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

Еще можно привести пример, типа: Реквизит ЛатНаименование должен заполняться только латинскими символами, соответственно перед редактирование переключаем раскладку.
cleaner_it; +1 Ответить
9. Abadonna 3972 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 3972 29.05.13 15:07 Сейчас в теме
(18) vec435, в ней есть метод CallDLLMethod, а там "завинапишиться" можно по самые уши ;)
11. andrewks 1378 24.05.13 19:05 Сейчас в теме
метод был описан ещё сто лет назад на сером форуме
12. andrewks 1378 24.05.13 19:06 Сейчас в теме
13. andrewks 1378 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 Ответить
Оставьте свое сообщение