PORTA.ru - on-line магазин ПОРТАтивной техники.PORTA.ru - on-line магазин ПОРТАтивной техники.

Новости
Мои разработки
FAQ
Ссылки
Форум

"Активизировать()" из любой процедуры

Известно, что Активизировать() и АктивизироватьОбъект() не работает в процедуре, вызываемой из формулы реквизита,
а работает только в предопределенных процедурах. Это, непонятно для чего введённое, ограничение можно обойти.
К примеру, такая задача:

Есть текстовое поле ввода на форме, в которое вручную или со сканера вводится штрихкод. Для удобства оператора, требуется вводить код номенклатуры сканером без участия клавиатуры -
чтобы не надо было каждый раз возвращаться назад на этот реквизит.
Можно воспользоваться следующим кодом:

Перем МожноЗакрыть;
//******************************************************************************
// 
Процедура ПриЗакрытии()
     Если МожноЗакрыть=0 тогда
          Активизировать("Код");
          СтатусВозврата(0);
     КонецЕсли;            
     
МожноЗакрыть=1;
КонецПроцедуры
 // ПриЗакрытии
//******************************************************************************
// вызов этой процедуры осуществляем из формулы нужного реквизита
Процедура ПриВводеКода()
     Если ПустоеЗначение(Код)=0 Тогда
          // здесь получаем введенный штрихкод
          Код=""; // очищаем поле
          
МожноЗакрыть=0;
          Форма.Закрыть(0);
     КонецЕсли;
КонецПроцедуры
 // ПриВводеКода
//*******************************************
МожноЗакрыть=1;


См. также:
Запретить выход из реквизита формы при вводе недопустимого значения

- Наверх -

В качестве благодарности за решение проблемы, щелкните здесь.
Поддержите развитие сайта.
Спасибо!
Автор и разработчик: Кайгородов Андрей aka mszsuz. mszsuz@online.sinor.ru ICQ#33993114. Дата последнего обновления страницы: Thursday 15.04.2004 19:51
1C:TOP-100 Рейтинг ресурсов 1С
Hosted by uCoz