|
v7: Программно активизировать элемент формы |
☑ |
0
Snik_666
15.12.11
✎
17:22
|
Добрый день! Задача чтобы на форме ввел номер нажал энтер, нашло заказ отчистило поле для ввода нового номера и встал курсор для ввода нового номера, т.е. чтобы пользователь не задумываясь вводил номера заказа: ввел-энтер, ввел-энтер и т.д.
Процедура Поиск()
ЗаказНайден = 0;
Для Ии = 1 По спКальк.РазмерСписка() Цикл
Док = спКальк.ПолучитьЗначение(Ии);
Если СокрЛП(Док.НомерЗаказаСтр) = СокрЛП(ВыбНомерЗаказа) Тогда
спКальк.Пометка(Ии,1);
спКальк.ТекущаяСтрока(Ии);
ЗаказНайден = 1;
ВыбНомерЗаказа = "";
Форма.Активизировать("ВыбНомерЗаказа",0);
Прервать;
КонецЕсли;
КонецЦикла;
Если ЗаказНайден = 0 Тогда
Сообщить("Не могу найти заказ "+СокрЛП(ВыбНомерЗаказа),"!");
КонецЕсли;
КонецПроцедуры
ошибка следующая:
Форма.Активизировать("ВыбНомерЗаказа",0);
{D:\1C_BASE\ИТ.ERT(11)}: Поле агрегатного объекта не обнаружено (Активизировать)
|
|
1
Rie
15.12.11
✎
17:24
|
(0) Используй фиктивное закрытие.
|
|
2
Snik_666
15.12.11
✎
17:25
|
(1) это как ?
|
|
3
Ёпрст
гуру
15.12.11
✎
17:25
|
|
|
4
FN
15.12.11
✎
17:25
|
Перем Незакрывать;
Процедура ПриЗакрытии()
Если пустоеЗначение(Незакрывать)=0 тогда
Активизировать(Незакрывать,0);
Незакрывать="";
СтатусВозврата(0);
Возврат;
КонецЕсли;
КонецПроцедуры
в нужном месте
Незакрывать="ИмяРеквизитаФормы";
Форма.Закрыть();
|
|
5
Snik_666
15.12.11
✎
17:36
|
Спасибо! век живи - век учись!
|
|
6
PZh
15.12.11
✎
17:37
|
(4)
Только если неверный порядок обхода стоит, то этот метод может вызывать открытие всяких нежелательных окон для выбора документов или справочников
|
|
7
FN
15.12.11
✎
17:42
|
(5) Добавь еще звук (Сервис.Воспроизвести(<ИмяФайла>)) - типа найдено/ненайдено.
А то они тебе вслепую наколбасят...
|
|
8
Злопчинский
16.12.11
✎
04:28
|
а можно вроде и без ложного закрытия,трюк с открытьформумодально с нулевымстатусомвозратаприоткрытии
|
|
9
VoditelKobyly
16.12.11
✎
10:50
|
SendKey() нельзя использовать?
Рядом с полем ввода на форме вешаешь кнопку ВВОД, назначаешь ей горячую клавишу. В поле ввода пишешь формулу SendKey(КодГорячейКлавиши). В кнопке ввода уже можешь написать Активизировать("ВыбНомерЗаказа").
|
|