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

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

блин наймите уже программиста ))
46 tndr3
 
07.03.21
00:00
(42) ахтунг иди отсюда
47 tndr3
 
07.03.21
00:00
(45)  я знаю
48 Garykom
 
гуру
07.03.21
00:01
(42) ыыы решение для одмина/эникея но прикольное конечно, реально костыль
49 Garykom
 
гуру
07.03.21
00:03
и да есть для 1С "драйвера" (ВК фактически) универсальные com/клавиатуры, они сами замену делают некоторые
50 Garykom
 
гуру
07.03.21
00:03
(49)+ атол и штрих раньше их продавал
51 tndr3
 
07.03.21
00:06
Да Garykom, если уж разговор зашел
Допустим на команду в 1С повесил сочетание клавиш (F12), надо-ли для сканер еще делать Enter?
52 tndr3
 
07.03.21
00:06
На функциональные клавиши надо делать подтвержение Enter-ом?
53 acht
 
07.03.21
00:07
(48) Что, без микросервиса на go уже вообще никак, да?
54 Garykom
 
гуру
07.03.21
00:08
(51) обычно сканер настраивается передавать ли #13 (Enter) в конце ШК
55 tndr3
 
07.03.21
00:08
угу поонял
56 tndr3
 
07.03.21
00:09
спс
57 Garykom
 
гуру
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.