Как определить нажатие CapsLock #776038


#0 by lisrws
Подскажите, каким образом можно в 1с определить нажата ли CapsLock в данный момент или нет? Из-за чего, собственно, вопрос: юзверь сканирует внутренний шк вида "So060616001020", но если включен капс, то 1ска получает вот такой шк "sO060616001020" и происходит бяка.
#1 by mehfk
Приведи все символы к единому регистру и ищи в этом же регистре.
#2 by mehfk
*все символы в штрихкодах
#3 by В тылу врага
а если еще и кодировку сменит, то уже 4 варианта
#4 by lisrws
блин, как-же я сам об этом не догадался... это слишком геморно сделать, так как придется затронуть механизмы формирования этих штрихкодов, хранение уже сформированных, и многое другое. просьба отвечать по теме, а не предлагать неподходящие варианты.
#5 by oslokot
легче всего отключить капслук
#6 by Ёпрст
всего то надо 1 раз привести все штрихкоды к одному регистру
#7 by Beretta
А чем тебе поможет знание о том в каком положении сейчас находится капслок? И чем это отличается от анализа регистра полученного штрихкода?
#8 by Beretta
Извините, т-щ программист, за предложение неподходящего варианта, но может вы осилите регистронезависимый поиск и не будете таки иметь нам тут мозг за формирование  и хранение?
#9 by lisrws
не совсем понимаю, что я должен в регистре анализировать, а главное зачем? лично вам никто ничего не имеет. есть что по-делу написать - напишите, а если нечего - проходите мимо. практически во всех языках есть возможность анализировать нажатие клавиш и ни у кого не возникает по этому поводу никаких вопросов.
#10 by Beretta
Дяденька, а вы точно программист?
#11 by Beretta
#12 by mehfk
Еще есть что сказать?
#13 by франц
настроить сканер не предлагать?
#14 by Beretta
Предлагаю аппаратное решение. Вырвать его нахрен.
#15 by lisrws
не предлагать. разные модели(не во всех есть) и дофига.
#16 by франц
хорошо, не предложу - у тебя распальцовка лучше
#17 by Ёпрст
Чтоб определить нажатие капслок - переходи на 7.7, там это реализовано. А так, обработкой переделать все шк в базе к одному регистру, + поправить, чтоб шк при сканировании приводился к одному виду, вне зависимости от расскладки клавиатуры . Усё.
#18 by lisrws
та это я понимаю, но хотелось малой кровью отделаться.
#19 by polosov
Вырвать у юзеров капслок, вместо него приклеить кнопу острым концом вверх.
#20 by Fram
найди кусок кода где происходит поиск и сделать как тебе надо. надеюсь, конфа "правильная" и это одна функция на всю конфу.
#21 by Beretta
А вот интересно, если пользователь при сканировании будет нажимать шифт, хотя бы даже пачкой документом, брошенной на клавиатуру - это тоже надо отслеживать?
#22 by Beretta
И отличия левого шифта от правого, потому что надо в сообщении сказать, что отпустить?
#23 by Смотрящий
Нех вешать сканеры в разрыв клавы, повесь на эмуляцию com-порта. Там это реализовано
#24 by Fragster
если сканировать через драйвер, а не тупо как клавиатура в поле ввода - то все работает.
#25 by lisrws
зажатый правый шифт стопкой документов..... гы, хотел бы на это посмотреть)))))
#26 by Garykom
#27 by lisrws
коды формируются из названия поставщика как первые две буквы. его юзверь мог назвать и с маленькой буквы, а мог и все заглавные прописать. опять же, завели нового поставщика и я теперь сразу лезу в код, чтобы под него фрагментик накропать? уж лучше все к одному регистру привести, чем я уже и занялся. всем спасибо за активное участие, будем считать вопрос закрытым.
#28 by Beretta
У меня как-то был случай - сиськами нажимали. Так что тебе многое еще предстоит узнать, юный падаван...
#29 by lisrws
и как удалось засечь нарушителя?
#30 by Garykom
>коды формируются из названия поставщика как первые две буквы Программист дятел и это не лечится. У нас среди поставщиков только "ЮК блабла" или "ТД БлаБла" штук 50
#31 by lisrws
мля, причем здесь вы? это основное требование заказчика и никаких тд, юк, ооо и кавычек там сроду небыло
#32 by Beretta
Только личным присутствием. Склад, раздолбанные клавиатуры и томные жэнщины. Для работы садятся, подгребают клавиатуру к себе, наклоняются чтобы внимательно смотреть на монитор... и удобно располагают правую часть своего 6 размера как раз в районе курсорных клавиш. Пока возюкали и кликали только мышкой все более менее работало, однако
#33 by Garykom
Если заказчик дятел с ошибочными требованиями, нужно ему об этом намекнуть.
#34 by Garykom
Спасает подставка под запястье с очень высоким бортиком (а еще туда можно что то приклеить :)
#35 by Tateossian
#36 by Tateossian
А не по сабжу, если уж такой "упоротый" заказчик, то создавай уникальные пары из двух букв и присваивай их контрагенту в специально отведенное поле.
#37 by Fram
вообще то, микрософтский скуль, например, нечувствителен к регистру при сранении строк. а что там у постгре?
#38 by Fragster
в 1с collation ci, так что в запросе что Аа, что аА - всё едино.
#39 by Fragster
это не "майкрософтовский скуль", жэто называется collation или "сортировка"
#40 by франц
на такие намеки автор оскорбился))
#41 by франц
если уж на то пошло, у контрагента есть уникальный ИНН..
#42 by Garykom
Особенно уникальный в случае разных контрагентов в базе - разных КПП ?
#43 by Tateossian
Как бы сказать... В базе может быть много контрагентов с одним ИНН, это очень плохой пример.
#44 by Tateossian
Вот что в гугле нашел. Но это изврат, конечно. Как стартовая точка для решения вполне сгодится. И да - этот код тупо выключает капс. Сохрани в винде под расширением vbs ws js и запускай командсистемы Set objShell = CreateObject("WScript.Shell") Set objWord = CreateObject( "Word.Application" ) if objWord.CapsLock <> 0 then    ' turn capslock off objWord.Quit
#45 by Garykom
скрипты могут быть запрещены, пусть ВК пишет )) или
#46 by Tateossian
Там ВК в три строчки пишется, главное шаблон в 500 строк взять типовой и знать куда их вписать. ТС, разберешься? Бери с сайта ИТС NativeApi темплейт.
#47 by Fragster
да не надо ничего определять, надо
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С