• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

  • Автор темы olga13
  • Дата начала
O

olga13

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

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

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

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

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

vbs

Посмотри в настройках форм списков - там указывается, какая форма используется для выбора
 
H

Hryv

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

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

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!