Переключение на Главную Страницу Страницы: [1] 2 3  ОтправитьПечать
Очень популярная тема (более 25 ответов) ПриНажатииКнопкиКлавиатуры часть 2 (число прочтений - 15638 )
Leierkastenmann
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 114
Зарегистрирован: 30. Марта 2007
ПриНажатииКнопкиКлавиатуры часть 2
30. Марта 2007 :: 08:28
Печать  
Возникла такая проблема с использованием процедуры ПриНажатииКнопкиКлавиатуры(). Если производить неаккуратные нажатия кнопки, то процедура перестает работать, хуже того, зачастую это приводит к выпаданию 1С по ошибке.
Конкретный пример. Есть кнопка, используемая 1С в документах F3, на эту кнопку при помощи процедуры ПриНажатииКнопкиКлавиатуры() в модуле формы вешаем какое-то нужное нам действие и отменяем стандартное действие 1С по нажатию этой кнопки. Все работает до тех пор, пока не нажмем чуть подольше эту кнопку F3, тогда начинает срабатывать еще и обработка 1С, а если учесть, что на F3 повешено не очень простое действие, то получается что и то действие начало выполняться, и 1С сама по себе тоже обрабатывает свое действие.
Есть ли методы борьбы с подобным явлением?
  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #1 - 30. Марта 2007 :: 08:30
Печать  
Версия FormEx?
  

FormEx developer
Наверх
www  
IP записан
 
Leierkastenmann
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 114
Зарегистрирован: 30. Марта 2007
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #2 - 30. Марта 2007 :: 08:40
Печать  
Простите за глупый вопрос, а где ее посмотреть? В том хэлпе что есть у меня версия есть у объекта "Сервис", но она ругается, что "Поле агрегатного объекта не обнаружено (Версия)".
  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #3 - 30. Марта 2007 :: 08:48
Печать  
В свойствах файла FormEx.dll или в окне "о программе".
  

FormEx developer
Наверх
www  
IP записан
 
Leierkastenmann
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 114
Зарегистрирован: 30. Марта 2007
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #4 - 30. Марта 2007 :: 08:50
Печать  
Есть только в окне о программе v. 2.0.3.1
  
Наверх
 
IP записан
 
Leierkastenmann
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 114
Зарегистрирован: 30. Марта 2007
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #5 - 30. Марта 2007 :: 08:53
Печать  
Только у меня не FormEx.dll, а 1CPP.dll
  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #6 - 30. Марта 2007 :: 09:17
Печать  
Цитата:
если учесть, что на F3 повешено не очень простое действие

Может дело в этом не очень простом действии. Повесь на эту кнопку очень простое действие.
Я попробовал по F3 Сообщить(), нормально перехватывается.
А скорее всего, ФСО в 0 не сбрасываешь.
  
Наверх
ICQ  
IP записан
 
Leierkastenmann
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 114
Зарегистрирован: 30. Марта 2007
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #7 - 30. Марта 2007 :: 09:28
Печать  
Сделал код куда уж проще, вынес его даже в обработку отдельную. Вот код:

Процедура ПриНажатииКнопкиКлавиатуры(пКодКлавиши, пАльт, пШифт, пКонтрол, пСимвол, пФлагСтандартнойОбработки)
     
     Если пКодКлавиши = 114 Тогда
           
           пФлагСтандартнойОбработки = 0;
           
           Сообщить("При нажатии F3");
           
     КонецЕсли;
     
КонецПроцедуры


Процедура фВвод()
     
     Сообщить("F3");
     
КонецПроцедуры


Процедура фВвод() висит на кнопке на форме, а на эту кнопку еще повесил я F3.
  
Наверх
 
IP записан
 
Leierkastenmann
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 114
Зарегистрирован: 30. Марта 2007
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #8 - 30. Марта 2007 :: 09:36
Печать  
И жму на кнопочку F3, честно признаюсь, что жму иногда долго, в результате вот:

При нажатии F3
При нажатии F3
При нажатии F3
При нажатии F3
F3
F3
F3
F3
F3
При нажатии F3
F3
F3
  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #9 - 30. Марта 2007 :: 09:37
Печать  
Цитата:
вынес его даже в обработку отдельную

Вот тут подробнее. Нет в Обработке системного действия на F3.

А в форме документа есть (поиск). Но в документе ты на СВОЮ кнопку F3 не сможешь повесить. А перехватить вполне.
  
Наверх
ICQ  
IP записан
 
Leierkastenmann
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 114
Зарегистрирован: 30. Марта 2007
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #10 - 30. Марта 2007 :: 10:09
Печать  
Да я же говорю, чтобы не морочиться с документом, я сделал простенькую обработку, с приведенным выше кодом, а кнопку F3 еще повесил как клавишу нажатия для некой кнопки на форме, котороая отрабатывает процедуру фВвод(). То есть получилось, что по F3 может 2 действия выполниться. Должно выполняться одно, но выполняется почему-то два. Могу прям обработку послать.
  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #11 - 30. Марта 2007 :: 10:11
Печать  
Leierkastenmann писал(а) 30. Марта 2007 :: 08:50:
Есть только в окне о программе v. 2.0.3.1

Попробуй использовать разделенный вариант.
  

FormEx developer
Наверх
www  
IP записан
 
Leierkastenmann
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 114
Зарегистрирован: 30. Марта 2007
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #12 - 30. Марта 2007 :: 10:40
Печать  
Цитата:
Leierkastenmann писал(а) 30. Марта 2007 :: 08:50:
Есть только в окне о программе v. 2.0.3.1

Попробуй использовать разделенный вариант.


Разделенный в смысле разные dll?
А если разные, то как они между собой соотноситься будут? Они же обе будут системой загружаться. Или попробовать только одну использовать, которая FormEx.dll?
  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #13 - 30. Марта 2007 :: 11:05
Печать  
Leierkastenmann писал(а) 30. Марта 2007 :: 10:09:
Да я же говорю, чтобы не морочиться с документом, я сделал простенькую обработку, с приведенным выше кодом, а кнопку F3 еще повесил как клавишу нажатия для некой кнопки на форме, котороая отрабатывает процедуру фВвод(). То есть получилось, что по F3 может 2 действия выполниться. Должно выполняться одно, но выполняется почему-то два. Могу прям обработку послать.

Пошли.
  
Наверх
ICQ  
IP записан
 
Leierkastenmann
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 114
Зарегистрирован: 30. Марта 2007
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #14 - 30. Марта 2007 :: 11:24
Печать  
vip писал(а) 30. Марта 2007 :: 11:05:
Leierkastenmann писал(а) 30. Марта 2007 :: 10:09:
Да я же говорю, чтобы не морочиться с документом, я сделал простенькую обработку, с приведенным выше кодом, а кнопку F3 еще повесил как клавишу нажатия для некой кнопки на форме, котороая отрабатывает процедуру фВвод(). То есть получилось, что по F3 может 2 действия выполниться. Должно выполняться одно, но выполняется почему-то два. Могу прям обработку послать.

Пошли.


Послал.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 3 
ОтправитьПечать