Имя: Пароль:
1C
1С v8
УФ. Активизация поля ввода.
,
0 akhmadey
 
10.08.16
12:46
Есть список документов и поле ввода для поиска документа по штрихкоду. Поиск происходит с помощью обработчика события ОкончаниеВводаТекста(). Результатом поиска являются некоторые действия с документом и его проведение. Форма документа при этом не открывается, а появляется предупреждение об успехе иди неуспехе операции. После нажатия ОК в предупреждении поле ввода очищается и оно становится неактивным. Для ввода следующего штрихкода приходится возвращать курсор в поле. Можно ли программно сделать так, чтобы после очистки поля оно оставалось активным?
1 Mauser
 
10.08.16
12:48
Можно
2 Горогуля
 
10.08.16
12:48
взять и заново активировать?
3 Mauser
 
10.08.16
12:51
(2) Ты еще посоветуй СП про УФ почитать!
4 Горогуля
 
10.08.16
12:51
(3) это пошло
5 aleks_default
 
10.08.16
12:52
А нахрена Предупреждение? Сообщения недостаточно?
6 Fragster
 
гуру
10.08.16
12:53
по событию ОкончаниеВводаТекста не надо делать контекстный вызов сервера
7 aleks_default
 
10.08.16
12:56
(6)+1 Тоже наткнулся недавно на эту фишку
8 akhmadey
 
10.08.16
12:58
(5) Хрен редьки не слаще, все равно фокус теряется, хоть предупреждение, хоть сообщение.
9 Fragster
 
гуру
10.08.16
12:59
(7) ну, на самом деле можно установить "Обновление текста редактирования" и тогда эффект пропадания текста уйдет, но так не надо делать всё равно.
Ну а активизировать поле можно через установку ТекущийЭлемент у формы.
10 akhmadey
 
10.08.16
13:09
(9) Не работает. Отладчик говорит, что ТекущийЭлемент и так равен полю ввода. Но фокус пропадает. А вот в обычных формах срабатывает.
11 Mauser
 
10.08.16
13:15
(10) Контекстные вызовы уже убрал?
12 akhmadey
 
10.08.16
13:22
(11) Манипуляции с документом происходят на сервере без контекста, а других нет.
13 aleks_default
 
10.08.16
13:57
(12)Быстрый выбор - нет, историяВыбораПриВВоде - не использовать?
14 Nuobu
 
10.08.16
13:59
Подключить обработчик ожидания.
15 Fragster
 
гуру
10.08.16
15:16
вот так работает:


&НаКлиенте
Процедура КодПодтвержденИзменениеТекстаРедактирования(Элемент, Текст, СтандартнаяОбработка)
    
    Если Найти(Текст, Символы.ПС) Тогда
        КодКПодтверждению = СокрЛП(Текст);
        ОчиститьСообщения();
        
        ТекстСообщения = "";
        
        Если ДействиеПриПодтвержденииШК = "" ИЛИ ДействиеПриПодтвержденииШК = "Подтвердить" Тогда
            Результат = ПодтвердитьКодНаСервере (ТекстСообщения);
        ИначеЕсли ДействиеПриПодтвержденииШК = "ОтменитьПодтверждение" Тогда
            Результат = ОтменитьПодтверждениеКодаНаСервере (ТекстСообщения);
        ИначеЕсли ДействиеПриПодтвержденииШК = "СменитьПаллету" Тогда
            Результат = ИзменитьПалетуКодаНаСервере (ТекстСообщения);
        Иначе
            ТекстСообщения = "Неизвестное действие";
            Результат = Ложь;
        КонецЕсли;
        
        
        если Результат тогда
            ПолучитьHTMLСтраницуПоПризнаку ( Неопределено, ТекстСообщения, Ложь );
        иначе
            ПолучитьHTMLСтраницуПоПризнаку ( Неопределено, ТекстСообщения, Истина);
        КонецЕсли;                      
        
        КодКПодтверждению = "";
        ЭтаФорма.ТекущийЭлемент = Элементы.КодПодтвержден;
        СтандартнаяОбработка = Ложь;
    КонецЕсли;
    
КонецПроцедуры
16 Fragster
 
гуру
10.08.16
15:16
поле ввода - многострочное
17 Fragster
 
гуру
10.08.16
15:17
нашел в запасах копрокода. в требованиях было принципиально не использовать БПО
18 akhmadey
 
11.08.16
06:52
(17) Спасибо, будем пробовать.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn