Имя: Пароль:
1C
1С v8
Многократный вызов ПриАктивацииСтроки в УФ
0 simol
 
08.02.12
19:39
На форме 2 таблицы.
Хочу:
При активации строки в первой заполняются 2-я,
Имею:
При активации строки в первой заполняется вторая и повторно выполняется активация строки в первой Таблице. 1С уходит в бесконечный цикл и вываливается.

Как обойти этот прикол?


&НаСервере
Процедура ЗаполнитьТЧ(СтруктураПоиска, ИмяТЧ, ПоляСворачивания)

   ТаблицаВременная = ТаблицаРезервов.Скопировать(СтруктураПоиска);
   ТаблицаВременная.Свернуть(ПоляСворачивания, "Количество");
   Объект[ИмяТЧ].Загрузить();
   
КонецПроцедуры    

&НаКлиенте
Процедура ТЧНоменклатураПриАктивизацииСтроки(Элемент)
   
   ТекущиеДанныеНоменклатура = Элементы.ТЧНоменклатура.ТекущиеДанные;
   Если ТекущиеДанныеНоменклатура = Неопределено Тогда
       Возврат;
   КонецЕсли;    
   СтруктураПоиска = Новый Структура("Номенклатура, ХарактеристикаНоменклатуры", ТекущиеДанныеНоменклатура.Номенклатура, ТекущиеДанныеНоменклатура.ХарактеристикаНоменклатуры);
   ИмяТЧ = "ТЧПодразделения";
   ПоляСворачивания = "Подразделение";
   ЗаполнитьТЧ(СтруктураПоиска, ИмяТЧ, ПоляСворачивания);
   
КонецПроцедуры
1 IamAlexy
 
08.02.12
19:40
2 simol
 
08.02.12
19:43
(1)Спасибо. Ну и фича блин.
3 simol
 
08.02.12
19:56
Пробую так:

&НаСервере
Процедура ЗаполнитьТЧ(СтруктураПоиска, ИмяТЧ, ПоляСворачивания)

   ТаблицаВременная = ТаблицаРезервов.Скопировать(СтруктураПоиска);
   ТаблицаВременная.Свернуть(ПоляСворачивания, "Количество");
   Объект[ИмяТЧ].Загрузить();
   
КонецПроцедуры    

&НаКлиенте
Процедура ЗаполнитьТЧНаКлиенте()
       
   ЗаполнитьТЧ(СтруктураЗаполненияТЧ.СтруктураПоиска, СтруктураЗаполненияТЧ.ИмяТЧ, СтруктураЗаполненияТЧ.ПоляСворачивания);
   
КонецПроцедуры    

&НаКлиенте
Процедура ТЧНоменклатураПриАктивизацииСтроки(Элемент)
   
   ТекущиеДанныеНоменклатура = Элементы.ТЧНоменклатура.ТекущиеДанные;
   Если ТекущиеДанныеНоменклатура = Неопределено Тогда
       Возврат;
   КонецЕсли;    
   СтруктураПоиска = Новый Структура("Номенклатура, ХарактеристикаНоменклатуры", ТекущиеДанныеНоменклатура.Номенклатура, ТекущиеДанныеНоменклатура.ХарактеристикаНоменклатуры);
   ИмяТЧ = "ТЧПодразделения";
   ПоляСворачивания = "Подразделение";
   СтруктураЗаполненияТЧ = Новый Структура("СтруктураПоиска, ИмяТЧ, ПоляСворачивания", СтруктураПоиска, ИмяТЧ, ПоляСворачивания);
   ПодключитьОбработчикОжидания("ЗаполнитьТЧНаКлиенте", 0.1, Истина);
   
КонецПроцедуры
4 simol
 
09.02.12
17:55
(3)В таком виде неприятное притормаживание заполнения, пробую вариант с проверкой а не "изменилась ли строка?"
Закон Брукера: Даже маленькая практика стоит большой теории.