//Для обычного приложения, работает только на открытой форме. Проверено на платформе 8.2, УТ 10.3
Процедура ИнтерактивноНажатьКнопку(Кнопка, ФормаКнопки) Экспорт
// Удостоверимся что есть права на нажатие
// Кнопка
стрОшибка = "";
Попытка
Если Кнопка.Видимость = Ложь Тогда
стрОшибка = стрОшибка + ", Невидима";
КонецЕсли;
Исключение
КонецПопытки;
Попытка
Если Кнопка.Доступность = Ложь Тогда
стрОшибка = стрОшибка + ", Недоступна";
КонецЕсли;
Исключение
КонецПопытки;
Если стрОшибка <> "" Тогда
стрОшибка = Сред(стрОшибка, 3)+" кнопка, которую требуется нажать";
ВызватьИсключение(стрОшибка);
КонецЕсли;
Если ТипЗнч(Кнопка) = Тип("КнопкаКоманднойПанели") Тогда
Действие = Кнопка.Действие;
ИначеЕсли ТипЗнч(Кнопка) = Тип("Кнопка") Тогда
Действие = Кнопка.ПолучитьДействие("Нажатие");
КонецЕсли;
буфДействие = ФормаКнопки.ПолучитьДействие("ПриПовторномОткрытии");
ФормаКнопки.УстановитьДействие("ПриПовторномОткрытии", Действие);
Попытка
// собственно вызов нажатия кнопки
ФормаКнопки.Открыть();
ФормаКнопки.УстановитьДействие("ПриПовторномОткрытии", буфДействие);
Исключение
ФормаКнопки.УстановитьДействие("ПриПовторномОткрытии", буфДействие);
ВызватьИсключение;
КонецПопытки;
КонецПроцедуры
Процедура ОткрытьИЗапустить()
ЗакрытиеЗаказаДокумент=документы.ЗакрытиеЗаказовПокупателей.СоздатьДокумент();
ФормаДокумента=ЗакрытиеЗаказаДокумент.ПолучитьФорму("ФормаДокумента");
ФормаДокумента.Открыть();
ИнтерактивноНажатьКнопку(ФормаДокумента.ЭлементыФормы.КоманднаяПанельЗаказы.Кнопки.ПодменюЗаполнить.Кнопки.ДействиеЗаполнить,ФормаДокумента);
КонецПроцедуры
пятница, 26 июня 2015 г.
1С интерактивно нажать кнопку на форме
Подписаться на:
Комментарии к сообщению (Atom)
А как можно программно нажать "Да" в стандартном 1с-ком диалоге (РежимДиалогаВопрос.ДаНет)? Как называется форма и кнопка?
ОтветитьУдалитьНикак. Можно установить значение по умолчанию и таймаут закрытия. эти данные передабтся параметрами при создании окна.
УдалитьСпасибо за ответ. Так и сделал.
Удалить