Переключение на Главную Страницу Страницы: [1]  ОтправитьПечать
Очень популярная тема (более 25 ответов) ПриНажатииКнопкиКлавиатуры часть 2 (число прочтений - 15639 )
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 записан
 
vip
1c++ power user
Отсутствует



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

Получил Улыбка
Все нормально работает.
Попробуй, как АЛьФ говорит, разделенный вариант.
  
Наверх
ICQ  
IP записан
 
Leierkastenmann
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 114
Зарегистрирован: 30. Марта 2007
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #16 - 30. Марта 2007 :: 11:39
Печать  
vip писал(а) 30. Марта 2007 :: 11:30:
Цитата:
Послал.

Получил Улыбка
Все нормально работает.
Попробуй, как АЛьФ говорит, разделенный вариант.


Что значит нормально? Ни разу не уходило в фВвод()? Не верю  Улыбка Открой обработку и жми непрерывно на F3  Улыбка
  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #17 - 30. Марта 2007 :: 11:43
Печать  
Leierkastenmann писал(а) 30. Марта 2007 :: 11:39:
vip писал(а) 30. Марта 2007 :: 11:30:
Цитата:
Послал.

Получил Улыбка
Все нормально работает.
Попробуй, как АЛьФ говорит, разделенный вариант.


Что значит нормально? Ни разу не уходило в фВвод()? Не верю  Улыбка Открой обработку и жми непрерывно на F3  Улыбка


Жал 60 сек. Очень довольный Могу на ночь на F3 кружку поставить.
Повторю. Попробуй, как АЛьФ говорит, разделенный вариант.
  
Наверх
ICQ  
IP записан
 
Leierkastenmann
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 114
Зарегистрирован: 30. Марта 2007
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #18 - 30. Марта 2007 :: 11:49
Печать  
vip писал(а) 30. Марта 2007 :: 11:43:
Leierkastenmann писал(а) 30. Марта 2007 :: 11:39:
vip писал(а) 30. Марта 2007 :: 11:30:
Цитата:
Послал.

Получил Улыбка
Все нормально работает.
Попробуй, как АЛьФ говорит, разделенный вариант.


Что значит нормально? Ни разу не уходило в фВвод()? Не верю  Улыбка Открой обработку и жми непрерывно на F3  Улыбка


Жал 60 сек. Очень довольный Могу на ночь на F3 кружку поставить.
Повторю. Попробуй, как АЛьФ говорит, разделенный вариант.


Ладно, кружек не надо  Очень довольный А не подскажешь где достать эту дллку, чтобы попробовать?
  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



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

FormEx 2.0.5.0 http://www.dorex.ru/?projects&formex&download
Настоятельно рекомендую тестовую сборку.

1С++ http://1cpp.ru/ Версия 2.5.0.1
  
Наверх
ICQ  
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #20 - 30. Марта 2007 :: 11:56
Печать  
Leierkastenmann писал(а) 30. Марта 2007 :: 11:49:
Ладно, кружек не надо  Очень довольный А не подскажешь где достать эту дллку, чтобы попробовать?

Берешь 1C++ версии 2.5 с сайта www.1cpp.ru
Берешь FormEx версии 2.0.5.0 с сайта www.dorex.ru
  

FormEx developer
Наверх
www  
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



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

Но все же есть замечание... Улыбка

vip писал(а) 30. Марта 2007 :: 11:56:
Настоятельно рекомендую тестовую сборку.

Другая с 1С++ и не заработает нормально Улыбка
  

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


I Love YaBB 2!

Сообщений: 114
Зарегистрирован: 30. Марта 2007
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #22 - 30. Марта 2007 :: 12:20
Печать  
vip писал(а) 30. Марта 2007 :: 11:56:
Цитата:
А не подскажешь где достать эту дллку, чтобы попробовать?

FormEx 2.0.5.0 http://www.dorex.ru/?projects&formex&download
Настоятельно рекомендую тестовую сборку.

1С++ http://1cpp.ru/ Версия 2.5.0.1


Спасибо! Заработало  Улыбка От удовольствия жал на кнопку очень долго, все ОК  Улыбка

Только вот вопрос остался открытым о том как они себя вместе вести будут 1сpp.dll и FormEx.dll? У меня, например, они вместе не хотят никак существовать, 1ска вылетает сразу, только по одной. Гружу дллки при начале работы системы.
  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #23 - 30. Марта 2007 :: 12:31
Печать  
Leierkastenmann писал(а) 30. Марта 2007 :: 12:20:
Только вот вопрос остался открытым о том как они себя вместе вести будут 1сpp.dll и FormEx.dll? У меня, например, они вместе не хотят никак существовать, 1ска вылетает сразу, только по одной. Гружу дллки при начале работы системы.

Нормально должны вместе работать, если используешь указанные версии компонент. Любое другое сочетание приведет к вылету.
  

FormEx developer
Наверх
www  
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #24 - 30. Марта 2007 :: 12:31
Печать  
Цитата:
Только вот вопрос остался открытым о том как они себя вместе вести будут 1сpp.dll и FormEx.dll? У меня, например, они вместе не хотят никак существовать, 1ска вылетает сразу, только по одной. Гружу дллки при начале работы системы.

Прекрасно будут жить.
Сначала 1С++ 2.5.0.1
Потом FormEx 2.0.5.0
  
Наверх
ICQ  
IP записан
 
Leierkastenmann
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 114
Зарегистрирован: 30. Марта 2007
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #25 - 30. Марта 2007 :: 13:10
Печать  
Эхе-хе, рано порадовался  Печаль Более сложную проблему не решило это. Более сложное мое действие выполняется все с тем же глюком. Действие заключается в вызове модального окошка по кнопке F3. Или нельзя из этой процедуры работать с модальными окнами?
  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #26 - 30. Марта 2007 :: 13:17
Печать  
Leierkastenmann писал(а) 30. Марта 2007 :: 13:10:
Эхе-хе, рано порадовался  Печаль Более сложную проблему не решило это. Более сложное мое действие выполняется все с тем же глюком. Действие заключается в вызове модального окошка по кнопке F3. Или нельзя из этой процедуры работать с модальными окнами?

Почему нельзя?
Покажи рабочий код.
  
Наверх
ICQ  
IP записан
 
Leierkastenmann
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 114
Зарегистрирован: 30. Марта 2007
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #27 - 30. Марта 2007 :: 13:20
Печать  
К тому же я дезинформировал всех немного. Даже если нет второго действия на кнопке, то все равно при вызове модального окна обработка временами начинает вести себя непредсказуемо.
  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



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

В смысле?
  
Наверх
ICQ  
IP записан
 
Leierkastenmann
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 114
Зарегистрирован: 30. Марта 2007
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #29 - 30. Марта 2007 :: 13:28
Печать  
Лучше вернусь к этой проблеме после выходных. Потому что уже не только мои обработки глючат, но и я сам тоже вместе с ними, кажется занимаюсь этим же  Улыбка
  
Наверх
 
IP записан
 
Leierkastenmann
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 114
Зарегистрирован: 30. Марта 2007
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #30 - 30. Марта 2007 :: 13:32
Печать  
vip писал(а) 30. Марта 2007 :: 13:26:
Цитата:
обработка временами начинает вести себя непредсказуемо

В смысле?


Модальное окошко носится по экрану и после каждого закрытия снова открывается, хотя нажатий на кнопки нет. И либо вылетает 1ска, либо мои усиленные эскейпы возвращают обработку в чувство Улыбка
Быть может это звучит конечно неправдоподобно, я сам не верил, когда мне пользователи это втирали  Улыбка Но теперь верю Улыбка
  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #31 - 30. Марта 2007 :: 13:45
Печать  
Leierkastenmann писал(а) 30. Марта 2007 :: 13:32:
vip писал(а) 30. Марта 2007 :: 13:26:
Цитата:
обработка временами начинает вести себя непредсказуемо

В смысле?


Модальное окошко носится по экрану и после каждого закрытия снова открывается, хотя нажатий на кнопки нет. И либо вылетает 1ска, либо мои усиленные эскейпы возвращают обработку в чувство Улыбка
Быть может это звучит конечно неправдоподобно, я сам не верил, когда мне пользователи это втирали  Улыбка Но теперь верю Улыбка

Клавиша западает.
ОбработкиОжидания нет?
  
Наверх
ICQ  
IP записан
 
Leierkastenmann
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 114
Зарегистрирован: 30. Марта 2007
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #32 - 30. Марта 2007 :: 13:54
Печать  
vip писал(а) 30. Марта 2007 :: 13:45:
Leierkastenmann писал(а) 30. Марта 2007 :: 13:32:
vip писал(а) 30. Марта 2007 :: 13:26:
Цитата:
обработка временами начинает вести себя непредсказуемо

В смысле?


Модальное окошко носится по экрану и после каждого закрытия снова открывается, хотя нажатий на кнопки нет. И либо вылетает 1ска, либо мои усиленные эскейпы возвращают обработку в чувство Улыбка
Быть может это звучит конечно неправдоподобно, я сам не верил, когда мне пользователи это втирали  Улыбка Но теперь верю Улыбка

Клавиша западает.
ОбработкиОжидания нет?


У всех подряд что ли западает?Улыбка Нет, просто так нажимают на клавиши, что вызывается такое поведение Улыбка Обработки ожидания нет.
  
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #33 - 30. Марта 2007 :: 13:57
Печать  
Сделай тестовую конфу и выложи сюда.
Чудес не бывает.
  
Наверх
ICQ  
IP записан
 
Leierkastenmann
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 114
Зарегистрирован: 30. Марта 2007
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #34 - 02. Апреля 2007 :: 09:28
Печать  
vip писал(а) 30. Марта 2007 :: 13:57:
Сделай тестовую конфу и выложи сюда.
Чудес не бывает.


Выложил. Там две обработки: "НажатиеКнопки" и "ВводЧисла". Первая вызывает вторую. FormEx самый новый свежий, который в пятницу советовали. Глюк у меня воспроизводится следующим образом - один палец ставим на кнопку F3, другой на Esc. И попеременно учащенно их нажимаем Улыбка, после чего модальная формочка начинает скакать по окну и не желать закрываться.
В реальном случае все происходит в документе, выпрыгивают подобные же окошки, но что жмут пользователи, чтобы вызвать ту же картину они не признаются.
  

1Cv7.rar ( 5 KB | Загрузки )
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #35 - 02. Апреля 2007 :: 09:37
Печать  
Не удалось воспроизвести. Все нормально открывается и закрывается.
  

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


I Love YaBB 2!

Сообщений: 114
Зарегистрирован: 30. Марта 2007
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #36 - 02. Апреля 2007 :: 10:09
Печать  
Цитата:
Не удалось воспроизвести. Все нормально открывается и закрывается.


Вот и у меня не сразу получалось. Однако через некоторое время все же вышло и теперь стабильно такое случается.
А версия самой 1с какая? Хотя не думаю, что в ней дело.
  
Наверх
 
IP записан
 
Leierkastenmann
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 114
Зарегистрирован: 30. Марта 2007
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #37 - 02. Апреля 2007 :: 10:25
Печать  
А вот еще выдержка из журнала регистрации этой тестовой конфигурации, там сообщить просто заменено на запись в журнал регистрации. И при моих нажатиях на кнопки мы получаем вот это:


20070402;14:16:22;;E;Sys;OpenSession;0;Компьютер PHWS102(m);;
20070402;14:16:28;;E;User;UserMsg;3;Нажали на кнопку F3;;
20070402;14:16:28;;E;User;UserMsg;3;Получили значение из модальной формы;;
20070402;14:16:29;;E;User;UserMsg;3;Нажали на кнопку F3;;
20070402;14:16:29;;E;User;UserMsg;3;Нажали на кнопку F3;;
20070402;14:16:29;;E;User;UserMsg;3;Нажали на кнопку F3;;
20070402;14:16:29;;E;User;UserMsg;3;Нажали на кнопку F3;;
20070402;14:16:29;;E;User;UserMsg;3;Нажали на кнопку F3;;
20070402;14:16:29;;E;User;UserMsg;3;Нажали на кнопку F3;;
20070402;14:16:29;;E;User;UserMsg;3;Нажали на кнопку F3;;
20070402;14:16:29;;E;User;UserMsg;3;Нажали на кнопку F3;;
20070402;14:16:29;;E;User;UserMsg;3;Нажали на кнопку F3;;
20070402;14:16:29;;E;User;UserMsg;3;Нажали на кнопку F3;;
20070402;14:16:29;;E;User;UserMsg;3;Нажали на кнопку F3;;
20070402;14:16:29;;E;User;UserMsg;3;Нажали на кнопку F3;;
20070402;14:16:29;;E;User;UserMsg;3;Нажали на кнопку F3;;
20070402;14:16:29;;E;User;UserMsg;3;Нажали на кнопку F3;;
20070402;14:16:29;;E;User;UserMsg;3;Нажали на кнопку F3;;
20070402;14:16:29;;E;User;UserMsg;3;Нажали на кнопку F3;;
20070402;14:16:29;;E;User;UserMsg;3;Получили значение из модальной формы;;
20070402;14:16:29;;E;User;UserMsg;3;Получили значение из модальной формы;;
20070402;14:16:30;;E;User;UserMsg;3;Получили значение из модальной формы;;
20070402;14:16:31;;E;User;UserMsg;3;Получили значение из модальной формы;;
20070402;14:16:31;;E;User;UserMsg;3;Получили значение из модальной формы;;
20070402;14:16:31;;E;User;UserMsg;3;Нажали на кнопку F3;;
20070402;14:16:32;;E;User;UserMsg;3;Получили значение из модальной формы;;
20070402;14:16:32;;E;User;UserMsg;3;Получили значение из модальной формы;;
20070402;14:16:33;;E;User;UserMsg;3;Получили значение из модальной формы;;
20070402;14:16:33;;E;User;UserMsg;3;Получили значение из модальной формы;;
20070402;14:16:33;;E;User;UserMsg;3;Получили значение из модальной формы;;
20070402;14:16:33;;E;User;UserMsg;3;Получили значение из модальной формы;;
20070402;14:16:34;;E;User;UserMsg;3;Получили значение из модальной формы;;
20070402;14:16:34;;E;User;UserMsg;3;Получили значение из модальной формы;;
20070402;14:16:34;;E;User;UserMsg;3;Получили значение из модальной формы;;
20070402;14:16:34;;E;User;UserMsg;3;Получили значение из модальной формы;;
20070402;14:16:34;;E;User;UserMsg;3;Получили значение из модальной формы;;
20070402;14:16:34;;E;User;UserMsg;3;Получили значение из модальной формы;;
20070402;14:16:34;;E;User;UserMsg;3;Нажали иную кнопку;;
20070402;14:16:34;;E;User;UserMsg;3;Нажали иную кнопку;;
20070402;14:16:34;;E;User;UserMsg;3;Нажали иную кнопку;;
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #38 - 02. Апреля 2007 :: 10:39
Печать  
попробуй такой прием
Код
Выбрать все
Перем ИдетОбработкаНажатияКнопки;

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

	Если пКодКлавиши = 114 Тогда

		пФлагСтандартнойОбработки = 0;

		Сообщить("При нажатии F3");

		СписокПараметров = СоздатьОбъект("СписокЗначений");
		СписокПараметров.Установить("Заголовок", "Введите кол-во");
		СписокПараметров.Установить("Значение",	 0);

		ОткрытьФормуМодально("Обработка.ВводЧисла", СписокПараметров);

		Сообщить(СписокПараметров.Получить("Значение"));

	КонецЕсли;

	ИдетОбработкаНажатияКнопки=0;

КонецПроцедуры

ИдетОбработкаНажатияКнопки=0; 

  

1&&2&&3
Наверх
 
IP записан
 
Leierkastenmann
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 114
Зарегистрирован: 30. Марта 2007
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #39 - 02. Апреля 2007 :: 10:54
Печать  
trad писал(а) 02. Апреля 2007 :: 10:39:
попробуй такой прием
Код
Выбрать все
Перем ИдетОбработкаНажатияКнопки;

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

	Если пКодКлавиши = 114 Тогда

		пФлагСтандартнойОбработки = 0;

		Сообщить("При нажатии F3");

		СписокПараметров = СоздатьОбъект("СписокЗначений");
		СписокПараметров.Установить("Заголовок", "Введите кол-во");
		СписокПараметров.Установить("Значение",	 0);

		ОткрытьФормуМодально("Обработка.ВводЧисла", СписокПараметров);

		Сообщить(СписокПараметров.Получить("Значение"));

	КонецЕсли;

	ИдетОбработкаНажатияКнопки=0;

КонецПроцедуры

ИдетОбработкаНажатияКнопки=0; 



Просто и со вкусом Улыбка Спасибо за совет, про подобные прибамбасы в своем отлавливании глюков я и не подумал. В моем тесте вроде как работает, сейчас на реальной протестирую.
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #40 - 02. Апреля 2007 :: 18:20
Печать  
Только обычно ИдетОбработкаНажатияКнопки называют ЗащитаОтАльфа :-D
  
Наверх
 
IP записан
 
KamikadZe
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 3
Зарегистрирован: 03. Апреля 2007
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #41 - 03. Апреля 2007 :: 07:44
Печать  
Добрый день.
Еще вопрос по этой теме.
1С++ - 2.5.0.1
FormEx - 2.0.5.0
Вот процедура обработки нажатия клавиш:

Процедура ПриНажатииКнопкиКлавиатуры(пКодКлавиши, пАльт, пШифт, пКонтрол, пСимвол, пФлагСтандартнойОбработки)
     Если ИдетОбработкаНажатияКнопки=1 Тогда
           пФлагСтандартнойОбработки = 0;
           Возврат
     КонецЕсли;
     ИдетОбработкаНажатияКнопки=1;
     
     Если (пКодКлавиши>95) и (пКодКлавиши<106) Тогда
//1. здесь происходит сброс стандартной обработки, я так понимаю?
           пФлагСтандартнойОбработки = 0;
           
           Сообщить("При нажатии " + пСимвол);
           
           СписокПараметров = СоздатьОбъект("СписокЗначений");
           СписокПараметров.Установить("Заголовок", "Введите кол-во");
           СписокПараметров.Установить("Значение",       0);
           Сообщить(СписокПараметров.Получить("Значение"));
     Иначе
//2. здесь сброс стандартной обработки не происходит
           Сообщить("Не попал " + пСимвол);
     КонецЕсли;

     ИдетОбработкаНажатияКнопки=0;
     
КонецПроцедуры
D:\Install\Install\1C\1C++\ВК\formex\1.jpg
В архиве две картинки, которые демонстрируют работу двух кусков кода.
Соответственно когда отключается системная обработка нажатия клавиш, процедура ПриНажатииКнопкиКлавиатуры срабатывает один раз, а наоборот два раза.
Можно как-то сделать чтобы процедура срабатывала один раз, но и системную обработку тоже выполнять?
В этом весь смысл.
  

Pic.zip ( 121 KB | Загрузки )
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #42 - 03. Апреля 2007 :: 09:38
Печать  
Цитата:
В этом весь смысл.

Вот этот смысл и непонятен. Объясни.
  
Наверх
ICQ  
IP записан
 
KamikadZe
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 3
Зарегистрирован: 03. Апреля 2007
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #43 - 03. Апреля 2007 :: 10:55
Печать  
Смысл в том, чтобы нажатие лавиш обрабатывалось процедурой ПриНажатииКнопкиКлавиатуры(), при этом не отключать системную обработку нажатия клавиш. А процедура ПриНажатииКнопкиКлавиатуры() по может один раз сработать на нажатие клавиши, а может и два. Этого не нужно.
Мне нужно отловить ту комбинацию символов, которую пользователь вводит с клавиатуры при поиске в справочнике Номенклатуры и обработать ее. Если процедура ПриНажатииКнопкиКлавиатуры() срабатывает несколько раз, я не могу корректно отловить эту комбинацию символов. А если отключать стандартную обработку, то у пользователей соотвественно не работает поиск.
Может есть другой путь?..
  
Наверх
 
IP записан
 
KamikadZe
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 3
Зарегистрирован: 03. Апреля 2007
Re: ПриНажатииКнопкиКлавиатуры часть 2
Ответ #44 - 03. Апреля 2007 :: 13:59
Печать  
Спасибо, пришлось решать другим путем
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 
ОтправитьПечать