7.7 При переходе TAB-ом

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем ZaharovAleksandr, 17 авг 2012.

  1. TopicStarter Overlay
    ZaharovAleksandr
    Offline

    ZaharovAleksandr

    Регистрация:
    17 авг 2012
    Сообщения:
    22
    Симпатии:
    0
    Баллы:
    1
    7.7.025
    Существует ли возможность при переходе TAB-ом не выделять текст?
    Скрин в прикрепленном файле.
    Заранее спасибо....

    Вложения:

  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    В методе формы ПриНачалеВыбораЗначения виндовым скриптом эмулируем нажатие клавиши END или HOME
  3. TopicStarter Overlay
    ZaharovAleksandr
    Offline

    ZaharovAleksandr

    Регистрация:
    17 авг 2012
    Сообщения:
    22
    Симпатии:
    0
    Баллы:
    1
    По поводу виндовым скриптом не понял. Можете более конкретнее дать ответ? Если возможно распишите метод кодом...
  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Код:
    Шелл =СоздатьОбъект("WScript.Shell");
    Шелл.SendKeys("{END}");
  5. TopicStarter Overlay
    ZaharovAleksandr
    Offline

    ZaharovAleksandr

    Регистрация:
    17 авг 2012
    Сообщения:
    22
    Симпатии:
    0
    Баллы:
    1
    Дело в том, что метод ПриНачалеВыбораЗначения работает только при наличии флага реквизита "Имеет кнопку выбора"(педальки). Даже если он установлен при перемещении на данный реквизит TAB-ом этот метод срабатывать не будет. Есть еще варианты? Спасибо...
  6. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Есть...
    Вешаем за пределами формы текстовый реквизит. В нем вызываем функцию

    Код:
    Перем   Шелл;
    Перем   ПредыдущийЭлемент;
    Функция ЖмакнутьКлаву()
    ТекущийЭлемент=Форма.АктивныйЭлемент();
    
    Если (ТекущийЭлемент="НашТекст") И (ПредыдущийЭлемент<>ТекущийЭлемент) Тогда
    ПредыдущийЭлемент=ТекущийЭлемент; //защита от повторного срабатывания
    Шелл.SendKeys("{END}");
    КонецЕсли;
    КонецФункции
    
    ...
    Процедура ПриОткрытии()
    Шелл =СоздатьОбъект("WScript.Shell");
    ПредыдущийЭлемент="";
    КонецПроцедуры
    
  7. TopicStarter Overlay
    ZaharovAleksandr
    Offline

    ZaharovAleksandr

    Регистрация:
    17 авг 2012
    Сообщения:
    22
    Симпатии:
    0
    Баллы:
    1
    я уже пробывал через процедурку вызывать. К сожалению срабатывать процедура при переходе TAB-ом не будет, только если реквизит не был изменен. Я понимаю что задача странная, любой адекватный специалист спросит: А зачем оно Вам вообще надо?", но к сожалению решить мне её все-таки прийдется. Походу Стардатными процедурами неполучится. Опишу полностью что имеем и что происходит: Реквизиты типа строка в документе. Люди в них пишут много информации. Периодически глобальный модуль вызывает обработку ожидания(2 мин)(где описана разного вида важная служебная информация, которая выходит сотрудника в виде сообщить(...)). Во время того, как человек что-то пишет выходит сообщение. После этого реквизит выделяется, соответственно если продолжать бить по клаве, то все затрется. Жду предложений. Спасибо!
  8. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Ничего не затрется если заблокировать текст. Запретить редактирование. Если нужен ответить - разблокировка по отдельной кнопке
  9. TopicStarter Overlay
    ZaharovAleksandr
    Offline

    ZaharovAleksandr

    Регистрация:
    17 авг 2012
    Сообщения:
    22
    Симпатии:
    0
    Баллы:
    1
    В предидущем сообщении я более детально Вам описал проблему: Во время того, как человек пишет что-нибуть при вызове метода обработкаожидания() активное поле полностью выделяется, если человек не обратил внимание на то, что поле стало выделеным, тогда при продолжение редактировании поля текст в нем затирается новым текстом. Скорее всего здесь ничем помочь мне нельзя. спасибо за потраченное время.
  10. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Так я и говорю. Что мешает выводить ваше сообщение в модальном окне? Блокируйте текст для редактировани - не затрется.
  11. TopicStarter Overlay
    ZaharovAleksandr
    Offline

    ZaharovAleksandr

    Регистрация:
    17 авг 2012
    Сообщения:
    22
    Симпатии:
    0
    Баллы:
    1
    А все, я понял, что Вы имели ввиду. Спасибо за помощь
  12. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104

Поделиться этой страницей