Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Программное Нажатие Кнопки
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
ukr.ray
Добрый день, мне поставили задачу сделать автоматическое закрытие смены. Розница 1.0.
В определено время запускается форма.


 ! 

необходимо зарегистрироваться для просмотра ссылки: 8
 


Форме есть кнопка, как можно программно её нажать средствами 1с?

я пробовал такой вариант, присваивал кнопки "СочитаниеКлавишы" (Например кнопка F1)
Процедура ПриОткрытии()
    Shell= Новый COMОбъект("Wscript.Shell");
    Shell.SendKeys("{F1}");
КонецПроцедуры


Работает некорректно с 200 точек срабатывает примерно на 150.

У кого есть идеи как можно её нажать средствами 1с. ?

Объясняю почему надо именно нажать кнопку а не выполнить процедур которая прописана в кнопке.

Если просто запустить обработку закрытие смены (без физического нажатие кнопки), в момент закрытия смены, продавцы не читают что написано на экране и просто нажимают мышкой по открытой форме, появляется сообщение windows 1сv8 не отвечает Закрыть программу или Ожидание отклика от программы, ну конечно они нажимают Закрыть программу. и все смена не закрыта.
nik389
Используйте ПодключитьОбработчикОжидания.
и не нужно никаких извратов со скриптШеллом..
pablo
Сделайте в обработке нажатия кнопки нормальный прогресс-бар в виде отдельной формы. Такие готовые формы, например, есть в УПП ХодВыполненияОбработкиДанных, в БП - ДлительнаяОперация
ukr.ray
Цитата(nik389 @ 17.06.19, 20:19) необходимо зарегистрироваться для просмотра ссылки
Используйте ПодключитьОбработчикОжидания.
и не нужно никаких извратов со скриптШеллом..

Не помогло

Цитата(pablo @ 18.06.19, 12:06) необходимо зарегистрироваться для просмотра ссылки
Сделайте в обработке нажатия кнопки нормальный прогресс-бар в виде отдельной формы. Такие готовые формы, например, есть в УПП ХодВыполненияОбработкиДанных, в БП - ДлительнаяОперация

я не пробовал но думаю это тоже не поможет
вод видео для примера что делают эти дау...
необходимо зарегистрироваться для просмотра ссылки

Видео для примера что делают продавцы необходимо зарегистрироваться для просмотра ссылки
ed.kharkov
Попробуйте сделать так:

Процедура ПриОткрытии(Отказ)
    
    ПодключитьОбработчикОжидания("ПрограммноеНажатиеКнопки", 0.1, Истина);
    
КонецПроцедуры


Процедура ПрограммноеНажатиеКнопки()
    
    wsh = Новый COMОбъект("WScript.Shell");
    Shell.SendKeys("{F1}");
    
КонецПроцедуры


У меня таким образом при открытии формы в поле вставляется скопированные текст. Все работает корректно.
ukr.ray
Цитата(ed.kharkov @ 21.06.19, 8:39) необходимо зарегистрироваться для просмотра ссылки
У меня таким образом при открытии формы в поле вставляется скопированные текст. Все работает корректно.

Если 1с будет не активна(то есть нажат ПУСК Windows), нечего не сработает.
pablo
Если пользователь увидит на экране большую форму с прогресс-баром, который визуально изменяется за пару секунд наблюдения, и/или подписью под ним большими буквами - он поймет, что программу пока лучше не трогать.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.