Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Перевод нажатия клавши с кирилицы на латиницу

Перевод нажатия клавши с кирилицы на латиницу
Я
   tndr3
 
06.03.21 - 17:27
Есть сканер ШК, в разрыв клавиатуры, и надо чтобы при сканировании ШК, эмуляция нажатия клавиши всегда была на латинице?
Типовая транслитерация не подходит, ибо надо, чтобы эмуляция нажатия на клавишу "Ч" давало не "CH", а "X".
Может есть какая-то функция готовая?
   tndr3
 
1 - 06.03.21 - 18:01
Если что - эта тема связана с маркировкой.
Просканировали этикетку, надо чтобы, независимо от раскладки клавиатуры, код маркировки был в том виде который нанесен на изделие.
   Исновая
 
2 - 06.03.21 - 18:16
Настроечными шк к сканеру  убери лишнее
   tndr3
 
3 - 06.03.21 - 18:19
(2) Подробнее?
   tndr3
 
4 - 06.03.21 - 18:33
Код маркировки надо отправить в ЧЗ, выяснить его статус, владельца, и сказать кладовщику, что данное изделие в зону набора выкладывать нельзя.
   Вафель
 
5 - 06.03.21 - 19:27
кто мешает заменить после ввода?
соотвествие же 1 к 1.
йцукен - qwerty
   mikecool
 
6 - 06.03.21 - 20:09
ээ, а разве сканер выдает не то, что сканирует? не пойму - при чем тут раскладка клавы
   tndr3
 
7 - 06.03.21 - 20:13
(5) Все верно, можно самостоятельно преоброзовать, но дело в том, что в коде маркировке может быть всякие символы типа ".", ">"  и т.п.
Поэтому, возможно кто-то уже написал такую функцию)
   tndr3
 
8 - 06.03.21 - 20:14
(6) По умолчанию сканер штрихкода при подключении эмулирует сканкоды нажатия клавиш
   mikecool
 
9 - 06.03.21 - 20:16
(8) век живи... никогда в разрыв не пользовал, только ком и , так выходит, правильно делал ))
   tndr3
 
10 - 06.03.21 - 20:18
(9) Все верно)
Но вот так сложилось, что сканер ШК может только так.
В итоге в поле ввода прилетает, то что как-будто бы нажал пальцами человек)
А надо чтобы кирилицы не было)
   tndr3
 
11 - 06.03.21 - 20:20
Способы переключения раскладки с помощью WS пробовали - не канает...
   Вафель
 
12 - 06.03.21 - 21:07
нажимаешь все клааишиина инглише потом на русском и вот функция уже почти готова
   tndr3
 
13 - 06.03.21 - 21:19
(12) понятно, спасибо)
   Злопчинский
 
14 - 06.03.21 - 21:30
(10) переключись на английскую клаву перед сканированием. и все будет норм. или перед начало месанса сканирования программно проверяй какая раскладка включена и переключай программно на буржуйскую.
   tndr3
 
15 - 06.03.21 - 21:36
(14) Да, это необходимо сделать программно, штатных методов в 8.3 нет.
Покажите код, который сможет проверить раскладку, и переключить на нужную?
А еще лучше, функцию, которая преобразует скан-код нажатия клавиши из крилицы в латиницу, и с проверкой)
   tndr3
 
16 - 06.03.21 - 21:41
Ну вобщем представим себе дядечку, или тетечку, которой дали команаду и сканер;
Сканируй штрихкод, если увидишь что-то красное на экране, то отложи, если зеленое то обратно в коробку положи.
И вот надо, что бы при сканировании датаматрикс у дядечки и тетечки не заклинило ничего, и надо чтобы код маркировки всегда был с латинскими символами.
   Злопчинский
 
17 - 06.03.21 - 21:44
(15) стопудово уверен что такую хрень на крайняк можно сделать скриптом оси.
   Злопчинский
 
18 - 06.03.21 - 21:45
(15) ну, на клюшках такое есть у чела, который этим занимается, ан снеговике - как-нить сам...
   Злопчинский
 
19 - 06.03.21 - 21:49
(16) сделай тупой арм. который автоматически запускается при логине в винды. чтобы нихера не была возможность переключаться и вообще творить всякие инерактивннеы десктопно-операторские безобразия. и будет все норм. АРМ стартует с окна "отсканируй контрольный код с карты-теста" - ТЕТЕЧКА сканирует - если пришло что надо - ты же знаешь что должно быть - пускаешь дальше. Если пришло не то что надо 1. чужая раскладка - показываешь экран "нажми аль+шифт и повтори контрольный скан-тест". 2. если не удается пройти "тест" - убрать невменяемых которые стоят на приемке иликонтроле отгрузки со склада/кладовки.
   tndr3
 
20 - 06.03.21 - 22:00
(19) это все уже есть, ничего интерактивного нет, даже нажатия кнопок не требуется (есть карточка с ШК, которая эмулирует нажатие кнопки в 1С, которая выполняет команду и т.п.)
Все в целом хорошо, но надо чтобы всегда программно при сканировании можно было обеспечить ввод так:
0104610028400094↔21HZkP7pqit46Yax1D↔91ffd0
А не вот так:
0104610028400094↔21РЯкз7зйше46Нач1в и прочее
   tndr3
 
21 - 06.03.21 - 22:03
еще раз объясню, "Я" - шифт + z в кирилице, а надо чтобы было "Z"
Наш сканер по другому не может...
   tndr3
 
22 - 06.03.21 - 22:06
Да и может кто знает, как проверить, работает ли ГИС МТ?
Я ну типа прежде чем тетечка начнет сканировать штрихкоды, ей огромными красными буквами будет написанр, что дескать пока нельзя?
   tndr3
 
23 - 06.03.21 - 22:08
Пинговать неудачная идея, оно это всегда пингуется, использовать их api методы получения токена тоже не вариант, ибо они могу работать, а вот методы связанные с запросами по кодам маркировки могут и работать)
   tndr3
 
24 - 06.03.21 - 22:09
ЧЗ бесячая ебанина канеш...
   acht
 
25 - 06.03.21 - 22:16
(24) Тебе еще не поздно сменить профессию
   tndr3
 
26 - 06.03.21 - 22:22
(25) да пожалуй..
Пока не сменил, может подскажешь идею?
   Исновая
 
27 - 06.03.21 - 22:52
Тебе если  в русской раскладке марку отправить в фн, аппарат ошибкку даст..зачем проверять работает чз или нет...?
   tndr3
 
28 - 06.03.21 - 22:58
(27) Не розница, поэтому на сборке заказа никаких ФН нет, собственно в этом вся проблема.
   Garykom
 
29 - 06.03.21 - 23:26
(0) программно подменяй символы блин
считал шк - глянул символы, если есть кириллица по таблице заменил на латиницу и передал далее шк на обработку
   Garykom
 
30 - 06.03.21 - 23:27
(29)+ с подобной траблой я еще на 1С 7.7 в начале 2000 сталкивался
в БСП/БПО вроде даже код есть по замене
 
 Рекламное место пустует
   tndr3
 
31 - 06.03.21 - 23:39
В БСП есть транслитерация, я уже говорил об этом, но в кодах маркировки есть символы типа "Ю", но на латинице  - c шифтом это ">", а без шифта "."
и привет.
Сканер прочитал в кирилице "ю", а в какой символ ее преобразовать?
   Garykom
 
32 - 06.03.21 - 23:46
(31) "ю" в ">"
Этого хватит для 99% случаев
Конечно хорошо бы смотреть все установленные раскладки и текущую активную да еще и тип клавиатуры анализировать но это нафик не надо в твоей задаче
Тебе надо всего две строки замен символов
   tndr3
 
33 - 06.03.21 - 23:47
(32) Это ж хрень, ты сам понимаешь)
   Garykom
 
34 - 06.03.21 - 23:48
(33) это не хрень а реальность которая используется и в типовых и в отраслевых для сканеров в разрыв клавиатуры
   Garykom
 
35 - 06.03.21 - 23:49
"йцукен".. = "qwerty"... и еще капс лок учти
   Garykom
 
36 - 06.03.21 - 23:50
(35)+ капс лок учитывается банально продолжением "йцукенЙЦУКЕН" = "qwertyQWERTY"
   tndr3
 
37 - 06.03.21 - 23:50
костыли
   Garykom
 
38 - 06.03.21 - 23:53
(37) Неа. В данном случае это не костыли а прямое решение, причем единственное, иного нет.
Ты просто не в курсе скан-кодов клавы и что первые сканеры реально были в разрыв клавиатуры ps/2
Т.е. сканер эмулировал нажатия кнопок на физической клаве, а не как сча с помощью драйверов usb

И просто нынешние сканеры/драйвера слишком хорошо эмулируют - винда и твоя прога никак не может (кроме скорости/пауз между символами) отличить сканер в разрыв от реальных нажатий кнопок на клаве ))
   Garykom
 
39 - 06.03.21 - 23:55
(38)+ Ну или поменять режим работы сканера на эмуляция COM порта, если это можно
И использовать другие дрова
   tndr3
 
40 - 06.03.21 - 23:57
Вооот, но нужно универсально)
   Garykom
 
41 - 06.03.21 - 23:58
(40) нет универсально
бывают сканеры со своим интерфейсом/драйверами и придется ВК писать ))
   acht
 
42 - 06.03.21 - 23:59
Ты можешь назначить этикетке несколько штрихкодов?
   tndr3
 
43 - 06.03.21 - 23:59
Проверку на кирилические символы сделать не сложно, но надо так, что бы это работало и в разрыв пс/2, и в эмуляции ком-порта)
   Garykom
 
44 - 06.03.21 - 23:59
(41)+ сетевые сканеры например есть и довольно популярны они по tcp/ip пашут
   Garykom
 
45 - 07.03.21 - 00:00
(43) в эмуляцию ком порта у тебя всегда нативные символы

блин наймите уже программиста ))
   tndr3
 
46 - 07.03.21 - 00:00
(42) ахтунг иди отсюда
   tndr3
 
47 - 07.03.21 - 00:00
(45)  я знаю
   Garykom
 
48 - 07.03.21 - 00:01
(42) ыыы решение для одмина/эникея но прикольное конечно, реально костыль
   Garykom
 
49 - 07.03.21 - 00:03
и да есть для 1С "драйвера" (ВК фактически) универсальные com/клавиатуры, они сами замену делают некоторые
   Garykom
 
50 - 07.03.21 - 00:03
(49)+ атол и штрих раньше их продавал
   tndr3
 
51 - 07.03.21 - 00:06
Да Garykom, если уж разговор зашел
Допустим на команду в 1С повесил сочетание клавиш (F12), надо-ли для сканер еще делать Enter?
   tndr3
 
52 - 07.03.21 - 00:06
На функциональные клавиши надо делать подтвержение Enter-ом?
   acht
 
53 - 07.03.21 - 00:07
(48) Что, без микросервиса на go уже вообще никак, да?
   Garykom
 
54 - 07.03.21 - 00:08
(51) обычно сканер настраивается передавать ли #13 (Enter) в конце ШК
   tndr3
 
55 - 07.03.21 - 00:08
угу поонял
   tndr3
 
56 - 07.03.21 - 00:09
спс
   Garykom
 
57 - 07.03.21 - 00:11
(53) не смешно, я вполне могу воткнуть usb сканер ШК в роутер (китайский https://4pda.ru/forum/index.php?showtopic=709298 ) и там на openwrt вполне себе golang компилится (лично тестил)
и превратится обычный usb сканер в сетевой, а из 1С можно и по http и через ВК
   ДедМорроз
 
58 - 07.03.21 - 12:40
У сканера есть режим,когда нажатие клавиш передается кодами через Alt.
В данном случае,именно это и спасет.
Функции трансляции в 1с нет,так как эта трансляция зависит от раскладки клавиатуры.
И именно по этой причине используется сканер через Com-порт,где такая трансляция не нужна.
   ДедМорроз
 
59 - 07.03.21 - 12:43
Кстати,проблема capslock или запавшего shift куда более серьезная,чем раскладка,т.к.штрихкоды маркировки регистрозависимые.
Собственно,и она решается,если в префикс штрих-кода записать буквы.
   ДедМорроз
 
60 - 07.03.21 - 12:45
В api windows есть понятие raw input,где передается идентификатор устройства,которое передает символы и можно даже две клавиатуры разделить между собой,но режим caps и раскладка у них общие будут.
 
 Рекламное место пустует
   Вафель
 
61 - 07.03.21 - 14:13
(59) эти шторихкоды генерется государством никаких префиксов не положено
   ДедМорроз
 
62 - 07.03.21 - 15:04
(61) ты дятел?
Префикс мы программируем в сканер,а потом по его наличию и заглавности определяем потожение capslock.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.