Имя: Пароль:
1C
1C 7.7
v7: Formex: Глюк в "ПриОтжатииКнопкиКлавиатуры()"
,
0 Zhuravlik
 
29.03.13
14:59
Здравствуйте. Есть документ, в нем табл. часть заменена табл. полем.
Ввод новой строки по инсерту делал с помощью предопределенной процедуры формекса "ПриОтжатииКнопкиКлавиатуры()". И порой происходила такая вещь: программный вызов функции из этой процедуры при нажатии инсерта происходил овер 200 раз. Т.е. в документе создается неск. тыс. строк, 1С *иногда* при этом намертво зависает.
Сегодня повторилась ситуация, я заменил вызов функции "НоваяСтрока()" из "ПриОтжатииКнопкиКлавиатуры()", теперь строчку добавляю в предопределенной процедуре ТаблПоля (ПриОтжатииКлавиши()), но есть несколько других обработок, которые работаю с формексом, хотелось бы узнать как это обороть, если это возможно?
1 Zhuravlik
 
29.03.13
15:40
+ и не будет ли так глюкать в табличном поле, вообще из-за чего это может быть?
2 Ёпрст
 
29.03.13
16:18
и поди в ней же еще и сендкей посылаешь, не так ли ?
3 Zhuravlik
 
01.04.13
02:07
(2) Нет, зачем? Я вызываю функцию, которая добавляет новую строку в таблицу значений - поставщик, и все. Причем функция проверяет можно ли добавить строку, и если да - стартует имитация работы с новой строкой документа, т.е передается фокус на первую ячейку, открывается форма выбора, пользователь вводит из нее значение, потом на автомате - след. ячейка и т.д. А тут видимо дело даже не доходит до того, чтобы фокус передать, просто добавляются строки одна за одной, (иногда пока 1С не вылетит, а в основном добавится неск. тысяч строк и все, т.е. если закрыть док без сохранения - их не будет).
Кстати, интересно что вы об этом спросили, потому что за сендкеем объекта сервис тоже замечал подобное. Только по нажатию на энтер, но всего раз, и больше просто стараюсь не использовать этот метод.
4 Zhuravlik
 
01.04.13
02:23
(2) Вру. F4 нажимаю, как раз для открытия формы выбора. Так это из-за сендкея? А почему? А в методе ТаблПоля будет такое огорчение, или нет?
Сервис у меня в глобальнике объявлен как переменная, может из-за этого, надо в документе создавать объект?
5 Ёпрст
 
01.04.13
10:57
(4) надо ставить защиту от АЛьФа - у тебя бесконечный цикл получается с нажатием F4 твоей
6 Zhuravlik
 
01.04.13
12:45
(5) Вы вот это (КЗК - http://dorex.pro/?projects&kzk2) имеете в виду? Или это ВК какая-то специальная? А в ТаблПоле будет так глючить (ПриОтжатииКлавиши())?
7 cw014
 
01.04.13
12:47
Формекс, он такой забавный. В основном бандюганы отжимают мобильники, а формекс - кноки клавиатуры :)
8 Zhuravlik
 
01.04.13
12:52
Поиск больше ничего не выдал, не пойму о какой защите от АльФа речь идет.
Если КЗК - не буду ее ставить, лучше откажусь от сендкея раз и навсегда.
С другой стороны, если в Методе ТаблПоля не будет такого глюка, то оставлю как есть.
9 Ёпрст
 
01.04.13
12:58
Ё..
10 Ёпрст
 
01.04.13
12:59
Всего лишь переменную модуля, в которой храним значение, была ли нажата ужо клавиша или нет. Что б по 200 раз F4 не нажимать в ПриОтжатииКнопкиКлавиатуры.
11 Zhuravlik
 
01.04.13
14:03
(10) А-а-а) Понятно, спасибо)
12 antoneus
 
01.04.13
14:04
Вот, посмотри.

http://rghost.ru/44943920

В ТП есть всё что надо уже. Не надо никаких сендкеев и ПриОтжатииКнопкиКлавиатуры.
13 Ёпрст
 
01.04.13
14:40
(12) Аутору скорее всего не это надо, ему нужно при активации строки, чтоб сразу был выбор из справочника, как в документе - вот и жмёт F4 поди..
14 Ёпрст
 
01.04.13
14:41
*активации ячейки с типом "справочник"
15 oslokot
 
01.04.13
14:52
ОФФ: можно влезу?
Почему в ТП не копируется в буфер обмена содержимое активной ячейки?
16 oslokot
 
01.04.13
15:02
(15) у всех так?
17 Mikeware
 
01.04.13
15:09
копируется
18 Zhuravlik
 
01.04.13
15:15
(13) Так и есть)
(16) У меня копируется, и просто активная ячейка и в режиме редактирования.
19 Ёпрст
 
01.04.13
15:17
(15) копируется
20 oslokot
 
01.04.13
15:20
хе, а чейто у меня не копируется?... :)
1С++ v:3.2.2.0
терминал 2003
21 oslokot
 
01.04.13
15:20
* ни Ctrl+C ни Ctrl+Ins
22 Ёпрст
 
01.04.13
15:21
(20) дык 1 апреля.
23 oslokot
 
01.04.13
15:22
(22) та нее.. давно уже заметил. думал фича. копируется если только в режиме прямого редактирования
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший