|   |   | 
| 
 | v7: 1C++ Очищается текстовое поле при использовании Таймера | ☑ | ||
|---|---|---|---|---|
| 0
    
        Pro100 12.05.14✎ 15:18 | 
        Народ при исполнении вот этого кода в 1С 7.7:
 Таймер1=СоздатьОбъект("Таймер"); Таймер1.ЗадатьОбработчикВГлобальномМодуле("Оповещение"); Таймер1.Запустить(60000); Если пользователь в момент когда срабатывает обработчик этого таймера что-то набирает в текстовом поле, то все текстовое поле очищается. Как это можно обойти подскажите пожалуйста? | |||
| 1
    
        1dvd 12.05.14✎ 15:20 | 
        не зависит от того, что делается в обработчике?     | |||
| 2
    
        Pro100 12.05.14✎ 15:21 | 
        (1) от того что делает в обработчике это точно не зависит... потому что в обработчике выполняется запрос по справочнику и если под условия подходит элемент то выдается сообщение пользователю.     | |||
| 3
    
        Ёпрст гуру 12.05.14✎ 15:31 | 
        (0) форму поди обновляешь в обработчике, да ?..     | |||
| 4
    
        Pro100 12.05.14✎ 15:35 | 
        (3)Неа, я в обработчике запрос выполняю вообще по другому справочнику даже...
 и нету ни одного обновления формы | |||
| 5
    
        Ёпрст гуру 12.05.14✎ 15:38 | 
        (4) ну как нету - ты же в окно сообщений что-то выводишь, не ?     | |||
| 6
    
        Pro100 12.05.14✎ 15:41 | 
        нее, я через компоненту Душелова трей, если подходит под условия, то я сообщаю пользователю Трей.ВсплывающееСообщение()
 Но если не подошло под условия, то ничего не отрабатывает... | |||
| 7
    
        Pro100 12.05.14✎ 15:44 | 
        В общем если в момент когда сработает таймер курсор стоит в текстовом поле (Поле ввода), то просто выделяется весь текст этого поля ввода. Ну соответственно когда пользователь набирает что-то то после отрабатывания таймера все выделяется и пользователь дальше набирая текст сам же получается его удаляет тем что набирает... Но ведь пользователь не может же постоянно сидеть в ожидании когда сработает таймер, чтобы дальше можно было печатать...     | |||
| 8
    
        Ёпрст гуру 12.05.14✎ 15:46 | 
        Попробуй заменить таймер на объект сервис и обработку ожидания..
 А так, ничего не должно обновлять форму.. | |||
| 9
    
        Pro100 12.05.14✎ 15:53 | 
        (8)Только что попробовал заменить на Сервис... результат тот же, к сожалению не помогло...     | |||
| 10
    
        ildary 12.05.14✎ 16:03 | 
        (9) Обработчик что-то делает с фокусом, у меня подобное бывает с типовой обработкой ожидания (надо искать команду, которая балуется с фокусом, да лень).     | |||
| 11
    
        Ёпрст гуру 12.05.14✎ 16:22 | 
        Чё -то у тебя не то.
 Проверил у себя - даже сообщить не вызывает обновления формы.. никакого, соответственно фокус не теряется и никакой текст не выделяется. | |||
| 12
    
        Salimbek 12.05.14✎ 16:23 | 
        (9) Ну значит надо в обработчике таймера первым делом проверять - активно ли поле ввода. И если активно, то ничего не делать.     | |||
| 13
    
        Ёпрст гуру 12.05.14✎ 16:25 | 
        пробуй, для начала, поделку Душелова отключить и другие ВК, оставь только формекс , для начала.     | |||
| 14
    
        Злопчинский 14.05.14✎ 00:40 | 
        тоже сталкивался с такой фигней. возможно зависит какой обработик юзается - локальный или глобальный?     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |