Имя: Пароль:
1C
1C 7.7
v7: Как сэмулировать нажатие ОК
,
0 zak555
 
07.02.19
17:36
открываю форму программно
на форме повесил функцию, после открытия вызывается эта функция, в функции кое-какой параметр устанавливаю и теперь хочу "нажать" на копку ОК, чтобы отработала процедура ПриЗаписи

как ?
1 2S
 
07.02.19
17:38
в ПриЗаписи опиши другую функцию
Вызови ее программно
2 Mikeware
 
07.02.19
17:42
если кнопка по умолчанию - отправь контрол-ентер
3 Mikeware
 
07.02.19
17:43
если кнопка именно ок - наиди, какую процедуру она вызывает, и вызови...
4 Карст
 
07.02.19
17:44
а в приоткрытии передать параметр и потом закрыть форму
5 Карст
 
07.02.19
17:45
+ с записью
6 zak555
 
07.02.19
18:10
#Записать Закрыть
7 zak555
 
07.02.19
18:10
как эту команду вызывть ?
8 2S
 
07.02.19
18:14
(7) зачем вызывать?
Процедура ПриЗаписи()
ТвояПроцедура()
КонецПроцедуры

ТвояПроцедура вызывай как хочешь
9 zak555
 
07.02.19
18:15
было так


        ПересчетСчета();        
        ПриЗаписи();
        Записать();
        
        Форма.Закрыть();
    КонецЕсли;
    
    
    
КонецПроцедуры //ПриОткрытии
10 2S
 
07.02.19
18:17
можно поиграть с контекстом еще
11 zak555
 
07.02.19
18:21
(10) так что ли ?


Конт.СтрокаДействийФормы = "#Записать Закрыть";
        Конт.Закрыть();
12 Kigo_Kigo
 
07.02.19
18:34
ПриЗаписи() отрабатывается только интерактивно, программно нет, так вы никак не попадете в процедуру ПриЗаписи, программно
13 Злопчинский
 
07.02.19
18:42
(12) вы тупите.
Программный вызов ПриЗаписи() от работает как и любая другая процедура
14 HawkEye
 
07.02.19
19:06
(0) ты не поверишь! ))) ПриЗаписи();
(12) не сочиняй... отработает так-же как и любая другая...
(13) +100500
15 mikecool
 
07.02.19
19:22
(7) ЗаписатьВФорме()
16 Карст
 
07.02.19
19:22
эээ , если нужно чтобы мелькала форма и чототам на форме срабатывало , передавать параметр в приоткрытии , смешно так выглядит ))))
17 Мимохожий Однако
 
07.02.19
19:28
Достаточно посмотреть как отрабатывают процедуры при печати
18 Mikeware
 
08.02.19
09:51
(16) форма мелькает - значит, программа работает. раз программа работает - значит, программист работал. раз работал - ему надо заплатить.
а если форма не мелькает - значит, данные меняет сам компьютер, как надо. за что тогда платить программисту?
19 Кац
 
08.02.19
10:02
Окно мелькает - это не очень солидно.

После нажатия кнопки, или иного действия, в окне нужен прогресс-бар или гифка анимации длительной операции.

Это придает программе некую статусность, солидность, дороговизну.

:)
20 Mikeware
 
08.02.19
10:05
(19) и уворачивающаяся от мышки кнопка "Сделать всё" (ну или хотя бы ОК)
21 Изучаю1С8
 
08.02.19
10:06
на уж если совсем хочешь эмуляцию нажатия

WSHShell = СоздатьОбъект("WScript.Shell");
WSHShell.SendKeys();    //сюда контр + ентер запихни, лень искать
22 Mikeware
 
08.02.19
10:16
(21) это было в (2)
23 MouHacTaBHuk
 
08.02.19
10:20
(0) вы просто программу для записи макросов для мышки и клавиатуры установите и запишите движение мыши. Можно весь день так записать и с утра запускать ежедневно
24 Изучаю1С8
 
08.02.19
10:30
(22) ты не написал как это сделать)
25 Mikeware
 
08.02.19
10:46
(24) это да...
я обычно пользовался формексовской ЭмуляцияКлавиатуры()
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.