Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема WScript.Shell + РасшФормы.ОбработкаОжидания (число прочтений - 1477 )
recop
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 247
Местоположение: Калуга
Зарегистрирован: 06. Июня 2017
Пол: Мужской
WScript.Shell + РасшФормы.ОбработкаОжидания
23. Июля 2018 :: 10:37
Печать  
Не получается совместная работа в одной процедуре WScript.Shell + РасшФормы.ОбработкаОжидания:


Wsh = СоздатьОбъект("WScript.Shell");
Wsh.SendKeys("{ENTER}"); // сохраняем ввод

Идущая следом функция просто игнорируется:

РасшФормы.ОбработкаОжидания("ЗаписьПослеВыполнения",3);

Что можно применить вместо этого сочетания?

Необходимо решить сохранение введенное значение реквизита справочника (поле ввода) не выходя из стадии редактирования оного.  Озадачен
  
Наверх
 
IP записан
 
recop
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 247
Местоположение: Калуга
Зарегистрирован: 06. Июня 2017
Пол: Мужской
Re: WScript.Shell + РасшФормы.ОбработкаОжидания
Ответ #1 - 23. Июля 2018 :: 10:52
Печать  
Пока реализовал через функцию Активизировать() на неактивный реквизит, затем

РасшФормы.ОбработкаОжидания("ЗаписатьПослеВыполнения",10);

Но это локальный вариант лишенный универсального применения.



procedure ЗаписатьПослеВыполнения()
     
     РасшФормы.ОбработкаОжидания("ЗаписатьПослеВыполнения",0);
     Записать();
     
endprocedure // ЗаписатьПослеВыполнения()
  
Наверх
 
IP записан
 
alyuev
God Member
*****
Отсутствует


Гражданин Вселенной

Сообщений: 850
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: WScript.Shell + РасшФормы.ОбработкаОжидания
Ответ #2 - 23. Июля 2018 :: 11:10
Печать  
Может тут что-то наведет тебя на мысль...
http://www.1cpp.ru/forum/YaBB.pl?num=1222985371
http://www.1cpp.ru/forum/YaBB.pl?num=1152157445
  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
Djelf
God Member
*****
Отсутствует


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 631
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: WScript.Shell + РасшФормы.ОбработкаОжидания
Ответ #3 - 24. Июля 2018 :: 14:41
Печать  
recop писал(а) 23. Июля 2018 :: 10:52:
Пока реализовал через функцию Активизировать() на неактивный реквизит, затем

РасшФормы.ОбработкаОжидания("ЗаписатьПослеВыполнения",10);

Но это локальный вариант лишенный универсального применения.


А вот пример непрерывной записи без привязки к неактивному реквизиту.
Работает... как то вот так...
IMHO лучше 1sci использовать.

Код (C++)
Выбрать все
Процедура ЗаписатьПолеВвода()
    РасширениеФормы.ОбработкаОжидания("ЗаписатьПолеВвода",0);
    Сервис.ЭмулироватьКлавиатуру("{F4}{END}",1);
КонецПроцедуры

Процедура ПриНажатииКнопкиКлавиатуры(Код,Alt,Shift,Ctrl,Символ,ФСО)
    Если Форма.АктивныйЭлемент()="ПолеВвода" Тогда
        Если ПустоеЗначение(Символ)=0 Тогда
            РасширениеФормы.ОбработкаОжидания("ЗаписатьПолеВвода",1);
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры
 



P.S. АЛьФ
А нельзя слегка расширить параметры метода ОбработкаОжидания?
На ОбработкаОжидания(Имя,Интервал,КоличествоПовторений)
где
<КоличествоПовторений> - по-умолчанию 0 (бесконечно или до отмены подписки на ОбработчикОжидания)

Внезапно такое стало нужно достаточно часто  ;(
И есть смутные идеи как это можно еще применить, кроме как в КоличествоПовторений=1;

« Последняя редакция: 24. Июля 2018 :: 17:04 - Djelf »  
Наверх
www  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать