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

Публикация № 187899

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

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

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

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");




Скачать файлы

Наименование Файл Версия Размер
dynwrap.dll

.dll 36,00Kb
52
.dll 36,00Kb 52 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Diversus 2157 22.05.13 16:02 Сейчас в теме
Может лучше использовать для таких целей Punto Switcher только он круче, он умеет сам определять нужно переключить клавиатуру при наборе или нет :)
2. Serg23ru 47 22.05.13 16:13 Сейчас в теме
Может, я им не пользуюсь. Но пользователи которым я сделал средствами 1С очень довольны, хотя у одного из них есть Punto Switcher.
3. ShantinTD 90 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 979 23.05.13 14:21 Сейчас в теме
(3) ShantinTD,
ага...
особенно после того как он тебе пароль с английского на русский "переведет"
а там - набор матерных слов...без пробела.
AlexanderKai; ShantinTD; cleaner_it; +3 Ответить
10. ShantinTD 90 24.05.13 10:26 Сейчас в теме
(7) yuraos, про пароль это точно подмечено. Один знакомый до сих пор заходит в базу только с четвертого раза. :) Благодаря пунто свитчеру. Кстати, тоже на ноутбуке.
Да и что-то помнится как у него пунто свитчер "переводит" код на языке 1С (без пробелов то есть) на английский язык.
23. psa247 5 09.09.16 16:21 Сейчас в теме
(3) ShantinTD, и пароли Пунто хорошо палит)))) еще и в логи пишет
5. smitti911 23.05.13 09:19 Сейчас в теме
Punto Switcher хорошая штука, надо просто немного настроить под себя и все :)
6. ShantinTD 90 23.05.13 13:15 Сейчас в теме
Да был он у меня настроен. На настольном компе. А на ноутбук - замучился настраивать. Проще оказалось смотреть в монитор когда набираешь текст. Как возможную причину вижу неполноразмерную клавиатуру ноутбука или специальные клавиши на ней. Да и было это лет 6-7 назад. Хочется верить (но нет желания проверять), что с тех пор пунто свитчер стал умнее.
8. Virikus 57 23.05.13 14:34 Сейчас в теме
Допишите в описание, что длл-ка позволяет программно переключать клавиатуру.

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

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

минусовать не буду, но недовольство выскажу
14. webester 35 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 47 02.07.13 15:05 Сейчас в теме
Может удалить из системы тот который был и поставить новый?
22. dikd 13 23.09.13 19:34 Сейчас в теме
На Win2008Server 64bit DLL не регистрируется (((
user599897_petrenko.ax; aupovy; +2 Ответить
Оставьте свое сообщение

См. также

Программное создание динамического списка на управляемой форме. (Динамическое создание динамического списка). Готовая процедура + обработка - демонстрационный пример Промо

Практика программирования Универсальные функции v8::УФ 1cv8.cf Абонемент ($m)

Если у вас возникает необходимость на форму влиять динамически и создавать элементы управляемой формы программно, а особенно хотите вывести программно (динамически) динамический список, вам будет интересна эта процедура. Процедура включает также возможность формирования своей командной панели (а-ля снятие галочки "Автозаполнение" у стандартной командной панели списка).

1 стартмани

19.01.2018    65746    rpgshnik    31    

Модель запроса

Универсальные функции v8 v8::Запросы 1cv8.cf Россия Абонемент ($m)

Работа с текстом запроса напрямую не позволяет просто обратиться к определенному полю, таблице или условию. Однако, работая со схемой, можно добавить к существующему условию новое или вообще включить его в состав другой группы. Как ни странно, в типовых решениях часто можно встретить код работы с текстом запроса наряду с использование схемы. Возможно появление удобной библиотеки или нового объектного подхода позволит отказаться от работы с текстом совсем, а код построения запроса будет аутентичен исходному запросу, но без избыточности и доступный для простой модификации.

1 стартмани

01.03.2021    2120    kalyaka    25    

Библиотека программного изменения формы (УФ)

Инструментарий разработчика Работа с интерфейсом Универсальные функции v8 1cv8.cf Абонемент ($m)

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

1 стартмани

07.08.2020    5858    BuriyLesha    17    

Сохранение настроек колонок

Практика программирования Работа с интерфейсом Универсальные функции v8 Абонемент ($m)

Сохранение настроек колонок табличных полей. Получение имени формы из модуля формы. Для обычных форм.

1 стартмани

10.07.2020    1283    Arc    1    

Многопоточность. Универсальный «Менеджер потоков» (фреймворк) с отслеживанием зависимости объектов Промо

Практика программирования Математика и алгоритмы Универсальные функции Производительность и оптимизация (HighLoad) v8 1cv8.cf Россия Абонемент ($m)

Восстановление партий, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

26.05.2017    50715    DarkAn    86    

Универсальные функции: разложение произвольной строки адреса в структуру

Практика программирования Универсальные функции v8 1cv8.cf Абонемент ($m)

Процедуры и функции раскладывают произвольную строку адрес в структуру по ключевым словам.

1 стартмани

30.12.2019    5109    vik070777    10    

Работа с графической схемой в объектной модели DOM

Универсальные функции v8 v8::УФ Абонемент ($m)

Пример кода для работы с графической схемой в объектной модели DOM, платформа 8.3.12.

1 стартмани

04.06.2019    8258    botokash    19    

Корректировка движений документа

Универсальные функции v8 1cv8.cf Абонемент ($m)

Корректировка движений документа после его проведения по типовому алгоритму.

1 стартмани

26.05.2019    5926    rutadmeen    0    

Внешние компоненты. Мобильное приложение 1С Промо

Разработка внешних компонент Мобильная разработка v8::Mobile 1cv8.cf Абонемент ($m)

Пример применения технологии внешних компонент для мобильной платформы 1С (Android)

1 стартмани

17.02.2017    43047    flyer    36    

Программное формирование картинки в 1С:Предприятие 8.3.9 (ПотокВПамяти / ЗаписьДанных)

Универсальные функции v8 1cv8.cf Абонемент ($m)

В статье представлен код программного формирования картинки (двоичные данные) без всяких внешних компонент, без формирования строки Base64, используя лишь встроенные механизмы 1С предприятие 8.3.9 (объекты ПотокВПамяти и ЗаписьДанных). Сам по себе код формирования картинки не несёт ничего нового. Всё описано в википедии. Захотелось попробовать новые методы, но никак не доходитили руки. В приложении обработка практически с этим же кодом.

1 стартмани

16.05.2019    10500    yku    11    

Внешние компоненты мобильной платформы 1С для ОС Андроид

Разработка внешних компонент Мобильная разработка v8::Mobile Абонемент ($m)

На трех простых примерах описана процедура разработки внешних компонент для Андроид. Статья написана по мотивам доклада на конференции INFOSTART 2018 EDUCATION.

31.01.2019    18768    IgorKissil    25    

Альтернатива внешним печатным формам. ЗУП 3.1

Печатные формы документов Универсальные функции Зарплата Практика программирования Зарплата Разработка v8 v8::СПР ЗУП3.x Абонемент ($m)

Как в ЗУП 3.1.8 отказаться от внешних печатных форм и расширением увеличить количество полей, доступных при редактировании макетов, для изменения печатных форм Т1, Т5, Т8 и аналогичные пользователями.

1 стартмани

30.01.2019    15305    Mogilnikova    3    

Ускорение для Клиент-Банка Промо

Банковские операции Обмен с банком Универсальные функции Банковские операции v8 1cv8.cf Абонемент ($m)

У вас много платежей и клиент-банк долго их читает? Есть проверенная практикой идея, как это ускорить.

1 стартмани

08.10.2012    23950    Yashazz    15    

Использование подсистемы БСП "Заполнение объектов"

Практика программирования Универсальные функции БСП (Библиотека стандартных подсистем) v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Применение механизмов БСП для добавления новых команд заполнения к формам различных объектов. Использование расширений конфигурации для доработки. Шаблоны для реализации собственных команд заполнения.

1 стартмани

23.11.2018    27753    ids79    25    

Доработка функции ОбщегоНазначения.ЗаменитьСсылки для автоматической чистки или свёртки табличных частей

Универсальные функции v8 Абонемент ($m)

Стандартная обработка по замене дублей ругается на документ с неуникальными строками. Предполагается, что их нужно либо а) удалить, либо б) свернуть. Я немного модифицировал код функции ОбщегоНазначения.ЗаменитьСсылки, встроив в него вызов процедуры, переопределяемой в модуле менеджера соответствующего документа. И в этом модуле менеджера мы уже сами определяем - удалить или свернуть. Ну и вообще там чего хошь можно с этой коллекцией сделать - сам же ж процедуру пишешь...

1 стартмани

12.09.2018    4316    albert.goncharov    0    

Пропорциональное распределение в запросе

Универсальные функции Практика программирования v8 1cv8.cf Абонемент ($m)

Периодически в работе сталкиваюсь с задачей пропорционального распределения сумм в запросе. Ситуация усложняется, когда распределяемые суммы изначально не известны и определяются в процессе выполнения запроса. Эта статья один из примеров решения такой задачи.

1 стартмани

28.06.2018    12524    invertex    8    

Сохранение реквизитов и табличных частей объектов в XML Промо

Обмен через XML Универсальные функции v8 1cv8.cf Абонемент ($m)

Пример того, как можно сохранять и загружать объекты 1С методами встроенных объектов ЗаписьXML и ЧтениеXML.

1 стартмани

25.11.2011    22645    saiten    21    

Tool1CD: отрежем донорскую почку

Сервисные утилиты Разработка внешних компонент v8 Розница Абонемент ($m)

Ваша база мертва? Что ж, кое-что в ней ещё теплится.

1 стартмани

15.05.2018    19182    baton_pk    13    

Заполнение справочника с изображениями элементами по умолчанию

Практика программирования Обмен через XML Универсальные функции v8 Абонемент ($m)

Пример одного из решений, как можно заполнить справочник с изображениями значениями по умолчанию включая сами изображения. Сами изображения взяты из программы MapSource 6.16.3. Данные для загрузки хранятся в макете в формате XML.

1 стартмани

26.03.2018    8874    Kim1C    0    

Проверка таблицы на дублирование строк (ТаблицаЗначений, ТабличнаяЧасть) и получение массива таких строк

Практика программирования Универсальные функции v8 1cv8.cf Абонемент ($m)

Функция для проверки дублирования строк в ТаблицеЗначений или ТабличнойЧасти. Также, если необходимо, возвращает массив задублированных строк (можно обработать).

1 стартмани

05.02.2018    11936    uri1978    27    

Работа с кодами - числами, датами, кодами справочников, номерами документов, идентификаторами в 1С и в других базах данных

Универсальные функции v8 1cv8.cf Россия Абонемент ($m)

Поддерживается преобразование Кодов на основе Алфавитов, в том числе ''блочных" кодов - состоящих из блоков (подстрок) одинаковой длины (например: 8, 16, 32-битные коды, Хэши и т.п.). Функции доступны на Клиенте и на Сервере. Демо-примеры сделаны на управляемых формах. Тестировалось на платформах серии 8.3.10.

1 стартмани

28.11.2017    7678    newold2    1    

Размеры управляемой формы

Практика программирования Работа с интерфейсом Универсальные функции v8 1cv8.cf Абонемент ($m)

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

1 стартмани

08.10.2017    28927    json    9    

Пример универсальной функции для создания схемы компоновки данных

Практика программирования Универсальные функции v8::СКД 1cv8.cf Россия Абонемент ($m)

Если вам приходится часто создавать схему компоновки данных программно или вы начинающий специалист и пытаетесь разобраться, что же за зверь такой СКД, то эта статья может оказаться вам полезной. Функция создает схему компоновки с минимально необходимой структурой данных. С помощью передачи дополнительных параметров есть возможность добавления ресурсов и оформления.

1 стартмани

12.01.2017    34814    dbachinsky    33    

Функция преобразования промежутка времени в строку

Универсальные функции v8 1cv8.cf Россия Абонемент ($m)

Функция предназначена для преобразования промежутка времени в строку с разбивкой по годам, дням, часам, минутам, секундам.

1 стартмани

23.09.2016    10174    vovant    1    

Получение информации об экспортных свойствах и методах объектов 1С через COM.

Разработка внешних компонент Внешние источники данных v8 1cv8.cf Абонемент ($m)

Как из тела COM-объекта или внешней компоненты определить состав свойств и методов объектов 1С агрегатных типов? Все ответы здесь.

1 стартмани

03.09.2013    14601    gislink    5    

Пример загрузки/выгрузки файлов на SFTP сервер из 1С

Разработка внешних компонент v8 Россия Абонемент ($m)

К сожалению 1С пока не позволяет своими средствами обмениваться файлами с SFTP сервером. Столкнувшись с этой проблемой, оптимальным для себя выбрал вариант с использованием бесплатного SFTP клиента:WinSCP. Я не нашел в сети примеров работы 1С с этой утилитой через COM-соединение, поэтому выкладываю свой. Возможно кому-то будет полезен.

1 стартмани

29.07.2013    63282    ram3    81    

Работа с внешней компонентой на сервере (Linux)

Разработка внешних компонент v8 Абонемент ($m)

Это небольшая заметка о том как можно подключить и использовать внешнюю компоненту на сервере "1С:Предприятие".

1 стартмани

08.07.2013    14505    quebracho    6    

Конвертер Даты из числового формата Excel

Загрузка и выгрузка в Excel Универсальные функции v8 1cv8.cf Абонемент ($m)

Столкнувшись с проблемой загрузки в 1С из Excel Даты-Времени в числовом формате к удивлению не нашел нигде подобных формул. Может потому что они уж слишком банальны, а может потому что они "тайное знание посвященных". В общем, эта обработка пример конвертации Excel <=> 1C

1 стартмани

17.04.2013    19481    vova196    5    

Точка Актуальности для 1С 8

Практика программирования Универсальные функции v8 УТ10 Абонемент ($m)

Все знают, что такое ТА для 1с 7.7 И этот механизм отсутствует в 1С 8. Но многие бухгалтера привыкли к нему. Почему бы тогда его не реализовать?

1 стартмани

18.12.2012    21128    Sykoku    28    

Как написать COM-объект для 1С на Visual Studio C# 2008

Практика программирования Универсальные обработки Разработка внешних компонент v8 1cv8.cf Абонемент ($m)

Расширяем функционал 1С с помощью разработки подключаемого COM-объекта! Пишем код на Visual C# 2008 для открытия CD-ROM'а, получения списка процессов и использования возможностей системы text-to-speech.

5 стартмани

11.09.2012    84403    RainyAugust22    56    

Ограничение на проведение реализаций по группе доступности складов в УТ 10.3

Практика программирования Универсальные функции Учет ТМЦ Учет ТМЦ v8 УТ10 Абонемент ($m)

В стандартной конфигурации УТ 10.3, настройка "группы доступности складов" не накладывает ограничения на продажи с определённых складов. Группа доступности складов позволяет наложить ограничение лишь на автоматическое размещение товаров в заказе покупателей, т.е. менеджер может вручную выбрать размещение и совершить продажу. Данная доработка исправляет эту ситуацию.

12.04.2012    12609    pusix    8    

Синхронизация с сервером 1С во внешнем соединении

Внешние источники данных Универсальные функции v8 1cv8.cf Абонемент ($m)

Позволяет установить время удаленного SQL-сервера на компьютере при выполнении обмена через Внешнее соединение

1 стартмани

27.09.2011    13667    sml    6    

Как превратить линейно-периодический отчёт в многолинейно-периодический (в платформах 8.х)

Универсальные функции Анализ учета v8 1cv8.cf Абонемент ($m)

Навеяно http://infostart.ru/public/90001/ - решение на основе пользовательских полей в СКД

1 стартмани

27.09.2011    17232    e.kogan    35