7.7 Обработка подбора

olga13

Well-known member
10.10.2008
208
0
#1
Добрый день! Подскажите, пожалуйста, в чем может быть дело. Создаю новый документ (в конфигураторе). Процедура ОбработкаПодбора должна вызывается при подборе товаров в табличную часть и при внесении в список значений групп товаров. Но она не вызывается ни из процедуры Подбор, ни из процедуры ВыбратьТовары (смотрела в отладчике). Открывается справочник товаров и на этом все. Если не указывать форму списка в ОткрытьПодбор(), то все работает. Но мне нужно открывать именно эту форму, а не ту, что стоит по умолчанию для подбора.

<!--shcode--><pre><code class='1C'>Перем ФлВыбора;

//*********************************************************
Процедура Подбор()
ОткрытьПодбор("Товары","Просмотр");
УстановитьЗначениеВПодборе("Склад", Константа.ОснСклад);
КонецПроцедуры

//*********************************************************
Процедура ВыбратьТовары(Реж)
Перем Фрм,Тек;
Если ВыбТовары.РазмерСписка() > 0 Тогда
Тек = ВыбТовары.ПолучитьЗначение(ВыбТовары.ТекущаяСтрока());
КонецЕсли;
ФлВыбора = 1;
ОткрытьПодбор("Справочник.Товары","Просмотр",Фрм,Реж,Тек);
Фрм.ВыборГруппы(1);
КонецПроцедуры

//*********************************************************
Процедура ОбработкаПодбора(ВыбТовар)
Если ФлВыбора = 1 Тогда
ВыбТовары.ДобавитьЗначение(ВыбТовар);
ВыбТовары.ТекущаяСтрока(ВыбТовары.РазмерСписка());
Иначе
НоваяСтрока();
Кол = 1;
Если ВвестиЧисло(Кол,"Введите количество",10,0)=1 Тогда
Товар = ВыбТовар;
СкладОбщ = Товар.Склад;
Группа = Товар.Родитель;
ВидСклада = Товар.ВидСклада;
КодТов = Товар.КодТов;
АктивизироватьСтроку();
КонецЕсли;
КонецЕсли;
КонецПроцедуры[/CODE]
 

vbs

Well-known member
18.02.2007
1 708
1
#2
Посмотри в настройках форм списков - там указывается, какая форма используется для выбора
 
H

Hryv

#3
В форме справочника, которая открывается по ОткрытьПодбор(), должен быть вызов Форма.ВыполнитьВыбор()

тогда инициируется вызов ОбработкаПодбора()

вот еще уточнил: как уже ответил vbs, если форма справочника установлена для выбора, то двойной клик по выбранному элементу тоже инициирует вызов ОбработкаПодбора()