| 
    
            
         
         | 
    
    
  | 
v7: Установить курсор на ТЗ | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        evgpinsk_    
     21.04.19 
            ✎
    14:16 
 | 
         
        Гугл выдаёт много тем, но почемуто  не получается.
 
        Есть ТЗ на форме документа. По нажатию кнопки нужна установить курсор на ТЗ (т.е. перенести его с кнопки на ТЗ) ТЗ.ТекущаяСтрока(НужнаяСтрока) - активирует курсор, но фокус остаётся на кнопке также и ТЗ.ПолучитьСтрокуПоНомеру(НужнаяСтрока); Как перенести фокус на таблицу значений ?  | 
|||
| 
    1
    
        Sserj    
     21.04.19 
            ✎
    15:23 
 | 
         
        Ну наверно поможет Активизировать()     
         | 
|||
| 
    2
    
        evgpinsk_    
     21.04.19 
            ✎
    15:29 
 | 
         
        (1) Нет, это работает для полей диалога. Для ТЗ - нет     
         | 
|||
| 
    3
    
        HawkEye    
     21.04.19 
            ✎
    17:05 
 | 
         
        (2) какого эффекта то хочешь добиться то?
 
        так-то и ТекущаяСтрока и Активизировать - работает....  | 
|||
| 
    4
    
        Злопчинский    
     21.04.19 
            ✎
    17:48 
 | 
         
        (2) работает и для ТЗ
 
        другое дело что Активизировать не во всяком контексте может выполняться и тогда с ложным закртием формы придетс  | 
|||
| 
    5
    
        vcv    
     21.04.19 
            ✎
    18:25 
 | 
         
        На сколько помнится, активизировать надо не ТЗ, а колонку ТЗ по наименованию.     
         | 
|||
| 
    6
    
        evgpinsk_    
     21.04.19 
            ✎
    22:22 
 | 
         
        (3) Нажимаю кнопку, и далее для ускорения процесса фокус должен перейти на ТЗ, чтобы клавиатурой мог перемещаться по ТЗ     
         | 
|||
| 
    7
    
        MAG    
     21.04.19 
            ✎
    22:38 
 | 
         
        Активизировать("ТЗ");
 
        Форма.Обновить();  | 
|||
| 
    8
    
        evgpinsk_    
     21.04.19 
            ✎
    22:42 
 | 
         
        (7) Нет, не проходит. Фокус остаётся на кнопк     
         | 
|||
| 
    9
    
        Сияющий в темноте    
     22.04.19 
            ✎
    00:35 
 | 
         
        активизировать строку т.з.со входом в режим редактирования,тогда точно кнопка неактивной станет.     
         | 
|||
| 
    10
    
        Злопчинский    
     22.04.19 
            ✎
    00:42 
 | 
         
        (8) ищи где криво.
 
        работает однозначно. я постоянно использую. возможно ТЗ - стоит флаг "недоступно"  | 
|||
| 
    11
    
        HawkEye    
     22.04.19 
            ✎
    09:10 
 | 
         
        (6) после кнопки у меня не получилось, после редактирования ПоляВвода - можно, надо настроить порядок обхода так, чтобы ТЗ стояла после ПоляВводы ))     
         | 
|||
| 
    12
    
        evgpinsk_    
     22.04.19 
            ✎
    10:17 
 | 
         
        (11) Т.е по клавише энтер после ПоляВвода? Так какой смысл в коде, если без всякого когда по энтер (или таб) переходит на следующий объект     
         | 
|||
| 
    13
    
        HawkEye    
     22.04.19 
            ✎
    10:24 
 | 
         
        (12) никакого, ты разве не знаешь, что лучший код - не написанный код? ))))     
         | 
|||
| 
    14
    
        evgpinsk_    
     22.04.19 
            ✎
    10:26 
 | 
         
        (13) А код нужен ).     
         | 
|||
| 
    15
    
        HawkEye    
     22.04.19 
            ✎
    10:31 
 | 
         
        (14) ни разу не слышал такой постановки задачи ))))     
         | 
|||
| 
    16
    
        evgpinsk_    
     22.04.19 
            ✎
    10:35 
 | 
         
        (15) Стараюсь максимально оптимизировать процессы. Лишний клик мышкой, когда их нужно сделать 100 раз - существенно     
         | 
|||
| 
    17
    
        1Сергей    
     22.04.19 
            ✎
    10:41 
 | 
         
        Нет ли на форме текстового поля с функцией, в которой возможно меняется фокус?     
         | 
|||
| 
    18
    
        HawkEye    
     22.04.19 
            ✎
    10:54 
 | 
         
        (16) так порядок обхода как раз для того и сделан, чтобы не кликать лишний раз )))     
         | 
|||
| 
    19
    
        evgpinsk_    
     22.04.19 
            ✎
    10:57 
 | 
         
        (18) После нажатия Таб или энтер. А щёлкая по кнопке мышкой или клавой, переход фокуса системой не предусмотрен     
         | 
|||
| 
    20
    
        Salimbek    
     22.04.19 
            ✎
    11:00 
 | 
         
        (19) Такое пробовал? http://my1c-archive.narod.ru/knowhow/getskod.html     
         | 
|||
| 
    21
    
        uno-group    
     22.04.19 
            ✎
    11:16 
 | 
         
        Перем НеЗакрывать;
 
        //******************************************* Процедура ПриЗакрытии() Если НеЗакрывать=1 Тогда Активизировать("ТЗ"); НеЗакрывать=0; СтатусВозврата(0); Возврат; КонецЕсли; КонецПроцедуры //******************************************* Процедура Сформировать() НеЗакрывать=1; Форма.Закрыть(0); КонецПроцедуры //******************************************* Процедура ПриОткрытии() Тз.НоваяКолонка("Кво"); Тз.НоваяСтрока(); Тз.Кво=1; Тз.НоваяСтрока(); Тз.Кво=2; НеЗакрывать=0; КонецПроцедуры //******************************************* Работает 100%  | 
|||
| 
    22
    
        evgpinsk_    
     22.04.19 
            ✎
    12:28 
 | 
         
        (17) Да, скорее всего здесь нужно покапать. (21) На тестовой форме работает, на нужной нет - на ней несколько ТЗ и при обновлении поля ввода происходит перерисовка второй ТЗ.
 
        Это скорее всего и мешает  | 
|||
| 
    23
    
        Ёпрст    
     гуру 
    22.04.19 
            ✎
    13:00 
 | 
         
        (22) перерисовывать нужно не всегда, а только при необходимых условиях.
 
        Фокус ввода можно поместить куда угодно и когда угодно. Хоть штатно, хоть формексом  | 
|||
| 
    24
    
        evgpinsk_    
     22.04.19 
            ✎
    13:27 
 | 
         
        (23) Пока нет времени разобраться, но на требуемом документе фокус не перемещается. Тот же код на пустом внешнем отчёте работает     
         | 
|||
| 
    25
    
        uno-group    
     22.04.19 
            ✎
    13:40 
 | 
         
        (24) вставь в правильное место форма.закрыть(0) и будет счастье. Пройтись отладчиком и найти это место 5 минут времени.     
         | 
|||
| 
    26
    
        uno-group    
     22.04.19 
            ✎
    13:41 
 | 
         
        какое обновление поля ввода при нажатии кнопки. код в студию.     
         | 
|||
| 
    27
    
        evgpinsk_    
     22.04.19 
            ✎
    14:11 
 | 
         
        Да, ошибся с названием таблицы в строке
 
        Активизировать("ТаблицаТоваров"); код (21) заработал  | 
|||
| 
    28
    
        evgpinsk_    
     22.04.19 
            ✎
    14:16 
 | 
         
        Т.е. заработало только через фиктивное закрытие формы     
         | 
|||
| 
    29
    
        evgpinsk_    
     22.04.19 
            ✎
    14:18 
 | 
         
        (23) Только через закрытие формы заработало. Штатно:
 
        Активизировать("ТаблицаТоваров"); после нажатия по кнопке - не работает  | 
|||
| 
    30
    
        Ёпрст    
     гуру 
    22.04.19 
            ✎
    14:26 
 | 
         
        (28) ты не поверишь, но ложное закрытие формы - это штатный метод.     
         | 
|||
| 
    31
    
        evgpinsk_    
     22.04.19 
            ✎
    14:34 
 | 
         
        (30) Активизировать() - тоже штатное, которое должно работать и без закрытия.
 
        Так? )  | 
|||
| 
    32
    
        uno-group    
     23.04.19 
            ✎
    12:21 
 | 
         
        Читай синтаксический помощник, он не может быть вызван где угодно.
 
        "Метод Активизировать может быть вызван из другого (внешнего) модуля, если в нем известен контекст формы, в которой нужно активизировать элемент диалога. Доступ к методу возможен только в контексте Модуля формы. "  | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |