Имя: Пароль:
1C
1С v8
Непонятный беcконечный цикл формы.
0 antihacker
 
23.07.15
16:04
Всем привет. Вот коды

&НаКлиенте

+ Code
Процедура ПриОткрытии(Отказ)
    ЗагрузкаНастроекКассира();
    ФокусНаПолеВвода();
    ПодключитьОбработчикОжидания("ФокусНаПолеВвода",1);
КонецПроцедуры

&НаСервере
Процедура ЗагрузкаНастроекКассира()
//-----Запрос на настройки кассира------------------------------
        Запрос=новый запрос;
        Запрос.Текст="ВЫБРАТЬ        
        |    НастройкиКассира.ИмяКассира КАК ИмяКассира,
        |    НастройкиКассира.Пароль КАК Пароль,
         |    НастройкиКассира.Организация КАК Организация,
         |    НастройкиКассира.Контрагент КАК Контрагент,        
        |    НастройкиКассира.ТипЦенНоменклатуры КАК ТипЦенНоменклатуры,
        |    НастройкиКассира.ДоговорКонтрагента КАК ДоговорКонтрагента,
        |    НастройкиКассира.СтавкаНДС КАК СтавкаНДС,            
        |    НастройкиКассира.НДСВидОперацииРеализации КАК НДСВидОперацииРеализации,    
        |    НастройкиКассира.НДСВидОперацииВозврат КАК НДСВидОперацииВозврат,            
        |    НастройкиКассира.Склад КАК Склад
         |ИЗ
        |    РегистрСведений.НастройкиКассира  Как НастройкиКассира  ГДЕ
        |    НастройкиКассира.ИмяКассира = &ИмяКассира";
            
    Запрос.УстановитьПараметр("ИмяКассира",ПользователиИнформационнойБазы.ТекущийПользователь().Имя);
    
    НастройкиКассира=запрос.Выполнить().Выбрать();

    Если  НастройкиКассира.Количество()=0 Тогда сообщить("Не загружены настройки кассира !");  КонецЕсли;
    Пока  НастройкиКассира.Следующий() Цикл
        
    Объект.Организация=НастройкиКассира.Организация;
    Объект.Склад=НастройкиКассира.Склад;
    Объект.Пароль=НастройкиКассира.Пароль;
    Объект.ТипЦенНоменклатуры=НастройкиКассира.ТипЦенНоменклатуры;
    Объект.Контрагент=НастройкиКассира.Контрагент;
    Объект.ДоговорКонтрагента=НастройкиКассира.ДоговорКонтрагента;
    Объект.СтавкаНДС=НастройкиКассира.СтавкаНДС;
    Объект.НДСВидОперацииРеализации=НастройкиКассира.НДСВидОперацииРеализации;
    Объект.НДСВидОперацииВозврат=НастройкиКассира.НДСВидОперацииВозврат;
    КонецЦикла;

КонецПроцедуры

&НаКлиенте
Процедура ФокусНаПолеВвода()
    
        Если Элементы.ОсновнаяГруппа.ТекущаяСтраница = Элементы.Продажа И ТекущийЭлемент <> Элементы.ОплатаПВД Тогда
        ТекущийЭлемент = Элементы.ОплатаПВД;
        КонецЕсли;
      
КонецПроцедуры

&НаКлиенте
Процедура ТоварыПриАктивизацииСтроки(Элемент)
АкцияНоменклатуры(Элемент.ТекущиеДанные);
КонецПроцедуры


&НаСервере
Процедура АкцияНоменклатуры(Номенклатура2)
        сообщить(Номенклатура2.Номенклатура);
КонецПроцедуры

Почему то процедура АкцияНоменклатуры(Номенклатура2) выполняеться безконечно.

В чем дело ?
1 hhhh
 
23.07.15
16:12
нет ну пишете ведь

    ПодключитьОбработчикОжидания("ФокусНаПолеВвода",1);

значит, каждую секунду выполняется это. И бесконечно.
2 antihacker
 
23.07.15
16:21
Тема закрыта.

Какие оно имеет значение к активизации строки ТЧ ?
Никакое.
3 hhhh
 
23.07.15
16:56
(2) когда меняешь фокус, происходит активизация строки. Это же элементарно, Ватсон.
Программист всегда исправляет последнюю ошибку.