Вход | Регистрация

1С:Предприятие ::

Метки: 

Обнуляются значения текущих полей редактирования на форме.

Я
   abuca
 
22.11.17 - 11:19
Есть форма с текст. полем "Комментарий". Форма обработки имеет обработчик ожидания. В обработчике ожидания переписывается заголовок обработки (Требуется чтобы пользователь видел информацию в закладках открытых форм). Естественно, в этот момент стирается активное поле "Комментарий". Как, блин, скэшировать ТекстРедактирования активного поля и не дать ему пропасть? Ввести еще один обработчик ожидания, который будет восстанавливать текст из КЭШа - глупый вариант. Всю голову изломал. Или есть еще мысли?
 
  Рекламное место пустует
   Рэйв
 
1 - 22.11.17 - 11:24
>>В обработчике ожидания переписывается заголовок обработки 

тоже какой то не очень умный вариант...
   lodger
 
2 - 22.11.17 - 11:24
откажитесь от записи в заголовок и будет вам шшастье.
   abuca
 
3 - 22.11.17 - 12:14
(2) в том то и дело, что в этом вся соль. Закладок несколько. Специалист должен без перебора открыть нужную.  Кроме того, программный расчет каждые 10 секунд и перезаполнение на основании его реквизитов формы также обнуляет текущее поле редактирования. А это уже ни в какие ворота.
Повторю вопрос: можно ли перед выполнением расчета сохранить текущее поле редактирования, как если бы пользователь нажал Enter.
Я видел, что в некоторых стандартных конфигурациях на УФ есть "тормоза" с проглатыванием символов при вводе с клавиатуры. Скорее всего разраб столкнулся с тем же, но он как-то не дает теряться набранному тексту.
   lodger
 
4 - 22.11.17 - 12:23
(3) а зачем "каждые 10 секунд и перезаполнение на основании его реквизитов формы"?
   Сильф
 
5 - 22.11.17 - 12:27
(3) А вот такое не подойдёт?

//-------------------
Расширение поля формы для поля ввода (Form field extension for a text box)
ИзменениеТекстаРедактирования (EditTextChange)
Синтаксис:

ИзменениеТекстаРедактирования(<Текст>, <СтандартнаяОбработка>)
Параметры:

<Текст>

Тип: Строка.
Содержит редактируемый текст.
<СтандартнаяОбработка>

Тип: Булево.
В данный параметр передается признак выполнения стандартной (системной) обработки события. Если после вызова обработчика данный параметр содержит значение Ложь, то не будут выполняться действия по автоподбору (в том числе, не будет вызван обработчик события АвтоПодбор).
Значение по умолчанию: Истина.
Описание:

Вызывается при изменении текста в поле ввода – при наборе текста, при работе с буфером обмена, при вызове команд "Отменить"/"Вернуть", а также при отмене ввода.
//-------------------


Добавить реквизит формы "ТекущийКомментарий" и в этом событии записывать в него содержание поля, затем после обновления заголовка восстанавливать.
   abuca
 
6 - 22.11.17 - 12:31
(4) Все вам расскажи))) Специалист сидит удаленно с несколькими клиентами. Одному тестирует, второму обновляет, третьему настраивает ККМ и т.д. УНФ. Журнал работ - Г. Самого бесит. Написал "Таксометр". С паузами с расчетом по ставке работы. По окончании работы делает запись в соотв. Учете времени. Пока спец работает, таксометр считает время и сумму. Визуальное изменение реквизитов Времяработы и Сумма, даже стимулирует спеца работать. ))) Замечено.
   abuca
 
7 - 22.11.17 - 13:18
(5) помогло. Но, получилось через 3ю точку.
Перехватываю начало ввода текста, останавливаю обработчик ожидания. и далее:

&НаКлиенте
Процедура СодержаниеИзменениеТекстаРедактирования(Элемент, Текст, СтандартнаяОбработка)
    ОтключитьОбработчикОжидания("Таймер");
     ВводЗначенияСтрока(Текст);
КонецПроцедуры


&НаКлиенте
Процедура ВводЗначенияСтрока(Текст)
 
    Оповещение = Новый ОписаниеОповещения("ПослеВводаЗначенияСтрока",
        ЭтотОбъект);
 
    ПоказатьВводЗначения(Оповещение, Текст,,"Строка");
 
КонецПроцедуры
 
&НаКлиенте
Процедура ПослеВводаЗначенияСтрока(Текст,Параметры) Экспорт    
    Содержание = Текст;    
    ПодключитьОбработчикОжидания("Таймер",5);
КонецПроцедуры


А если у меня будет 10 реквизитов? Еа каждый из них огород городить? УФ - это для стойких.
   abuca
 
8 - 22.11.17 - 13:24
Кстати, ОтключитьОбработчикОжидания тоже зачем-то обнуляет текущий редактируемый реквизит... Зачем?..


Список тем форума
Рекламное место пустует  
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует