KeyPad для 1С-ника

07.12.23

Разработка - Инструментарий разработчика

Техническое решение проблемы смены раскладки для ввода недостающих символов при написании кода на русском языке. Готовое устройство работает по принципу "подключи и используй", без драйверов. Работает в удаленных сеансах (VNC, RDP). Проверялось только в ОС Windows.

Скачать исходный код

Наименование Файл Версия Размер
macroboard.zip
.zip 566,87Kb
2
.zip 566,87Kb 2 Скачать

- За что ты так не любишь американцев?
- Да как представлю, что им раскладку не надо переключать...

Программирование на языке 1С отличается, прежде всего, тем, что все операторы кода пишутся в русской раскладке (*). Ну... почти все. Есть несколько символов и ключевых слов, которые надо писать в английской раскладке:

  • Символы: < > [ ] # $ ' & | { } $ @
  • Слово "NULL" (также, "ЕстьNULL").

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

* -Примечание: Все операторы языка 1С имеют английскую нотацию. Весь код может быть написан на английском языке, для экспортных версий конфигураций - он на нем и написан (также, как и внутренние обработки, встроенные в систему). Но код конфигураций, предназначенных для рынка России и СНГ, традиционно написан на русском языке.

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

Предлагается техническое решение данной проблемы.

 

 

Клавиатура имитирует нажатие "Alt+[код символа]", потому для ввода - не требует переключения языков.

Первая версия (прототип, proof of concept) - опубликована на форуме AlexGyver.

 

 

Доработки: Клавиатура может работать в двух режимах - выступать как обычный NumPad, и так называемый "1С mode". Для индикации режима - добавлен светодиод, а также механический переключатель, указывающий в каком режиме должен находиться KeyPad при включении.

Данное решение работает под Windows, в т.ч. при использовании удаленных сеансов (RDP, VNC), не требует драйверов для подключения и работы.


Для реализации понадобится закупиться (бюджет ~ 2500 р., или $25-30) комплектующими, немного 3D-печати, и взяться за паяльник.

 
 Что нужно приобрести


Печать 3D-модели подложки для клавиш:

В основе проекта - модель "Mechanical Keyboard - SiCK-PAD" от FedorSosnin. Подложка состоит из двух частей - верхняя крышка с посадочными местами для клавиш и нижняя - основание.

 

 

 

Основание доработано для установки светодиода и выключателя.

 

 

Для соединения 

После установки свитчей в разъёмы, всё следует спаять и припаять к Arduino по схеме:

 
 Схема

 

 

Также, припаиваются светодиод и выключатель.

 

 

 

После сборки - с помощью "Arduino Studio" заливается прошивка на плату (плата относится к базовым, дополнительных библиотек под себя не требует). И устройство готово к использованию.

 
 Код прошивки

Дополнительно нужно как-то нарисовать на клавишах символы.

 

 

Использую следующий прием:

  • Лист самоклеющейся бумаги под обычный принтер
  • Печатаем раскладку, вырезаем
  • Наклеиваем поверх напечатанного скотч - чтобы не стиралось, обрезаем скотч
  • Наклеиваем символы на клавиши КейПада.

Получается - весьма эстетично.

На этом всё. В скриншотах - больше фотографий с проекта.

См. также

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Программист Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 руб.

02.09.2020    130969    710    390    

758

Infostart PrintWizard - создание и редактирование печатных форм в 1С 8.3

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

18000 руб.

06.10.2023    9358    27    6    

49

Infostart УДиФ: Управление данными и формами 1С

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

10000 руб.

10.11.2023    5481    14    2    

39

SALE! %

PowerTools

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

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

3600 2880 руб.

14.01.2013    179918    1095    0    

868

OneDebugger - инструмент для отладки кода без использования режима конфигуратора

Инструментарий разработчика Программист Платформа 1С v8.3 Платные (руб)

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

5400 руб.

17.05.2024    6154    13    12    

37

Бустер Конвертации данных 3 (Infostart Toolkit)

Инструментарий разработчика Программист 8.3.14 1С:Конвертация данных Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

15000 руб.

07.10.2021    15432    3    12    

38

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

5000 руб.

07.02.2018    100347    240    97    

299

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Программист Платформа 1С v8.3 Управляемые формы Платные (руб)

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    18856    7    8    

42
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ip0593 20 07.12.23 13:20 Сейчас в теме
видимо стало скучно и получилось что-то по мотивам хабра?)

а не бывает ли отдельных дополнительных маленьких клавиатур с назначением на них клавиш через настройки к этой клавиатуре в программке от производителя?
2. RustIG 1642 07.12.23 14:09 Сейчас в теме
(1)
а не бывает ли отдельных дополнительных маленьких клавиатур с назначением на них клавиш через настройки к этой клавиатуре в программке от производителя?


так называемые программируемые клавиатуры - но такие часто используются в составе пос-терминала - то есть точек продаж


(1)
видимо стало скучно и получилось что-то по мотивам хабра?)


я думаю не так.

подобные решения создаются и развиваются в симбиозе опыта в одном (например в 1С) и технологий в другом (например дети изучают ардунио)
4. Gaffer 85 07.12.23 15:48 Сейчас в теме
(1) десятки их, непонятно зачем нужная пляска с 3Д-принтером
Прикрепленные файлы:
Teclado-Program-vel-Dispositivo-Sayo-Chaves-de-Atalho-Macro-2-Chaves-3-Chaves-4-Chaves-6.jpg_640x640.jpg_.webp
14. SuhoffGV 07.12.23 20:16 Сейчас в теме
(1) чуть меньше кнопок, дороже, беспроводное, с RGB подсветкой))), но готовое
https://m.aliexpress.ru/item/1005004127594069.html
Olenevod; sandr13; maksa2005; Somebody1; +4 Ответить
20. qwinter 674 08.12.23 10:56 Сейчас в теме
21. John_d 5452 08.12.23 10:59 Сейчас в теме
(14) Не понял почему меньше кнопок. Там разные модели 12 кнопок, 15 кнопок.
Автору спасибо за идею и плюс) Не хочется колхозить, а вот купить готовый прибор и запрограммировать можно.
На клавиатуре из статьи нету ";", а вот "#" вообще никогда не нажимал.
22. SuhoffGV 08.12.23 11:01 Сейчас в теме
(21)Да, верно. Проглядел с мобильника последние варианты.
3. RustIG 1642 07.12.23 14:14 Сейчас в теме
Я однажды выписал все символы и слова ЕстьNULL в блокнот, и копировал с блокнота в модули 1с - был проект, когда нужно было много переключать раскладку для ввода символов - и вот нашел такой способ - через блокнот
Но это было разово, и постоянно в таком ключе работать неудобно - поэтому пусть будет доп.клавиатура.
Пришлите мне на адресат в качестве новогоднего подарка! :)
Светлый ум; Totoro; DrAku1a; Torin; +4 Ответить
5. webester 26 07.12.23 15:51 Сейчас в теме
(3)Единственное куда не дотягиваются шаблоны - это конструктор запроса(где надо признаться ЕстьNull чаще всего и нужен). В остальных случаях шаблоны решают эту проблему заменяя ЕстьТГДД на нужное значение. Ну и пунтосвитчер, позволит решить эту проблему, если она напрягает
Student1C; greenLiss; +2 Ответить
6. nemec 18 07.12.23 16:28 Сейчас в теме
В это время пользователи TurboConf: O_o
maksa2005; +1 Ответить
7. cheshirshik 64 07.12.23 17:37 Сейчас в теме
А зачем изобретать велосипед, когда есть программная клавиатура Павла Чистова?

https://uc1.1c.ru/raskladka_chistova/
tormozit; Светлый ум; improg; mmoozzgg; Student1C; +5 Ответить
27. Altez50 1 11.12.23 06:24 Сейчас в теме
(7) Она уже не вызывает появление в сеансе третьей раскладки (и неочевидной схемы переключения) при подключении по RDP?
29. cheshirshik 64 11.12.23 07:14 Сейчас в теме
(27)

Использую ее в т.ч. на РДП. 3ю схему можно в настройках убрать. Вообще это изобретение не чисто Павла Чистова. Это типовой механизм настройки клавиатуры от Майкрософт.
35. tormozit 7166 11.12.23 10:19 Сейчас в теме
(7) Тоже уже 10+ лет ею пользуюсь. Очень доволен но в стандартном виде она конфликтует с некоторыми командами EDT. Исправленный мной вариант можно найти на сайте ИР
cheshirshik; +1 Ответить
8. DrAku1a 1724 07.12.23 18:15 Сейчас в теме
Разве что, осталось EDT посоветовать)) Там плагинами можно добить недостающий функционал.

TurboConf, Раскладка Чистова, Punto Sw., программируемая клавиатура (пробовал настраивать на Microsoft Ergonomic 2000), программируемый кейпад, наподобие (4) - всё это работает, локально.

И не работает в удаленных сеансах (при условии, что устанавливать свои примочки помимо типового конфигуратора - запрещено).

Тема с "блокнотом" - отличная, часто что-то подобное и использовал ранее (находим нужный символ в уже написанном, и далее "Ctrl+C -- Ctrl+V", но работает не везде - блокнот надежнее).

А устройство - просто удобное, если им пользоваться))
madonov; Светлый ум; Tciban; +3 Ответить
31. Светлый ум 406 11.12.23 09:25 Сейчас в теме
(8) какие плагины посоветуете ?
36. tormozit 7166 11.12.23 10:22 Сейчас в теме
(8) Локальные раскладки клавиатуры видны в сеансе RDP. Ты сам то пробовал раскладку Чистова в RDP?
39. DrAku1a 1724 12.12.23 09:06 Сейчас в теме
(36) Проверил прямо сейчас, даже видео записал. Вкратце - раскладка Чистова работает локально на отлично, в удаленном сеансе RDP - не работает вообще. При использовании AnyDesk - работает, но не полностью (альтернативные символы вводит, при попытке ввести англицизмы (Web, HTTP, XML) - вводит только первую букву.
Прикрепленные файлы:
2023-12-12 15-53-00.mkv
40. DrAku1a 1724 12.12.23 09:31 Сейчас в теме
(39) Ну, и было бы неполным - без демонстрации кейпада в RDP и AnyDesk.
Прикрепленные файлы:
2023-12-12 16-25-10.mkv
9. SerVer1C 779 07.12.23 18:29 Сейчас в теме
+ за старания.
Вы думаете, реально будет быстрее перевести руку на 2-ю клаву и нажать клавишу, чем одним пальцем в углу основной клавы переключить язык по Ctrl+Shift, интуитивно перевести руку, нажать на нужный символ и вернуть раскладку?
Сам себе написал утиль, которая висит в трее, и по Ctrl+~ переводит выделенный текст с одной раскладки в другую.
24. gaglo 08.12.23 12:18 Сейчас в теме
(9)
Вы думаете, реально будет быстрее перевести руку на 2-ю клаву и нажать клавишу, чем одним пальцем в углу основной клавы переключить язык по Ctrl+Shift, интуитивно перевести руку, нажать на нужный символ и вернуть раскладку?

Ну я так и думаю. И вот почему:
1) 1 перевод руки и 1 нажатие
2) 1 перевод руки и 3 нажатия
Правда, в случае 2 перевод "интуитивный".
И что, он настолько быстрее неинтуитивного, что экономится время для двух нажатий?
Ну, конечно, не все руки одинаково полезны быстры...
10. DENSKR 15 07.12.23 18:31 Сейчас в теме
12. q_i 580 07.12.23 19:41 Сейчас в теме
Развивая эту идею, предлагаю универсальную клавиатуру для 1с-ника
Прикрепленные файлы:
rintik; mRconik; teplova_ok; harmless; Светлый ум; user620512; DrAku1a; Bukaska; gaglo; kuzyara; Pine-river; silly; artbear; RustIG; maksa2005; muskul; osa92; +17 Ответить
13. osa92 66 07.12.23 19:57 Сейчас в теме
17. DrAku1a 1724 08.12.23 06:39 Сейчас в теме
(12) Или так: Кряквиатура
Вообще, есть желание таких ленивых кнопок наделать))
18. maksa2005 536 08.12.23 07:18 Сейчас в теме
(17)огонь! вот такая клавиатура мне нужна
15. svbel85 58 08.12.23 02:27 Сейчас в теме
Прикольная штука, когда-то тоже думал такую найти.
Почему-то никто не пишет про ahk-скрипты, - очень удобно. Раскладка Чистова не работает через rdp - приходится ее устанавливать на удаленный рабочий стол, а это не всегда возможно. TurboConf - тоже не очень удобно если много конфигураций на разных удаленных серверах. ahk-скрипт запустил только на своем ПК и работаешь, там и шаблоны 1с легко написать под себя и символы которые только на английской раскладкой через alt как у Чистова - легко сделать. И скрипт перевести выделенный текст в другую раскладку есть.
23. 3762515 08.12.23 12:06 Сейчас в теме
(15) не пишут про ahk-скрипты, потому что ну не работает никак.
Если у тебя взлетело подскажи! Ибо я давно бросил попытки.
И через рдп тоже ahk не работает.
16. MonteCriZto 114 08.12.23 06:13 Сейчас в теме
Автор ничего не втуливает, делал ее для себя, сам активно использует.
+ За старания ).
mos_apit; DrAku1a; +2 Ответить
19. Innuil 08.12.23 09:47 Сейчас в теме
А сделала бы 1с Александра Орефкова руководителем разработки конфигуратора - такого бы не понадобилось.
Altez50; DrAku1a; +2 Ответить
25. grumagargler 724 08.12.23 19:43 Сейчас в теме
супер! а вообще, переходите на qmk-клавиатуры и такого рода проблемы уйдут как класс.
26. Romyl01 38 10.12.23 15:35 Сейчас в теме
народ не надо изобретать велосипед делюсь лайфаком razer nostromo все еще полно на авито.
28. Altez50 1 11.12.23 06:30 Сейчас в теме
(26) Как и POS-клавиатур. Но как это решает проблему ввода в неверной раскладке (особенно, если в системе их больше 2)?
38. Romyl01 38 11.12.23 15:27 Сейчас в теме
(28) у кого то нет проблем ввода в неверной раскладке, особенно если владеть слепым вводом. pos клавы просто, не удобны на мой взгляд.
41. Altez50 1 14.12.23 03:53 Сейчас в теме
(38) тогда бы ненависти к американцам было меньше) Проблемы есть, как минимум, у спецов техподдержки, имеющих 2-3 удаленных сеанса, каждый со своей кодировкой (+ua,kz). Насколько в курсе, задача автоматического раскладконезависимого ввода пароля 1С в удаленной системе по RDP не имеет решения на сегодня. Буду рад узнать, что ошибался.

ПОС-клавы неудобны, но дешевы и не нуждаются в драйверах.
42. Romyl01 38 14.12.23 17:07 Сейчас в теме
(41)
риканцам было меньше) Проблемы есть, как минимум, у спецов техподдержки, имеющих 2-3 удаленных сеанса, каждый со своей кодировкой (+ua,kz). Насколько в курсе, задача автоматического раскладконезависимого ввода пароля 1С в удаленной системе по RDP не имеет решения на сегодня. Буду рад узнать, что ошибался.
вы какую ту свою чисто специфическую специализированную сову на глобус натянули, саппорт разноязычный, я совсем о другом, для большинства задач кодера который набирает в разных раскладках, и хочет вешать свои хоткеи шаблоны, удобнее всего будет разер ностромо, так как все есть из коробки вместо пос клав.
30. DrAku1a 1724 11.12.23 07:49 Сейчас в теме
За все кейпады не скажу, но те что попадали мне в руки - работают с отдельно установленной локально софтиной. В этом плане - не отличаются от софтовых решений ("раскладка Чистова", альтернативные раскладки, программы).
Всё это надо настраивать
В RDP/VNC - сеансах софт, установленный локально, работать не будет.
32. handscenter 60 11.12.23 09:54 Сейчас в теме
для тех кому лень паять и делать - али экспресс уже все придумал
https://aliexpress.ru/item/1005003636898909.html?sku_id=12000027508976160
программируемая клавиатура
34. handscenter 60 11.12.23 10:17 Сейчас в теме
37. DrAku1a 1724 11.12.23 14:22 Сейчас в теме
(32) Пробовал такую - для работы требуется установить отдельную программу-драйвер, в VNC/RDP не работает.
33. lmnlmn 69 11.12.23 10:02 Сейчас в теме
У меня есть 3D-принтер и Arduino, но когда меня запарила тема с раскладкой я приобрел вот это. Теперь можно с уверенностью сказать что я прогаю ногами))
fatman78; DrAku1a; +2 Ответить
43. obrubov 02.03.24 21:36 Сейчас в теме
Спасибо, сделал, пользуюсь.
Только еще добавил функционал ввода пароля, там где его через буфер обмена не получается вставить.
Оставьте свое сообщение