Рассмотрим решение задачи на примере формы документа, у которого имеется табличная часть «Заказ-наряды».
1. На форме документа на командную панель табличной части «Заказ-наряды» добавляем кнопку подбора и прописываем её код:
Процедура ПодборНарядов(Кнопка)
Форма = Документы.ЗаказНаряд.ПолучитьФормуВыбора(, ЭлементыФормы.ЗаказНаряды, ЭтотОбъект);
Форма.ЗакрыватьПриВыборе = Ложь;
Форма.Открыть();
КонецПроцедуры2. Далее у табличной части находим событие «ОбработкаВыбора» и прописываем для него код:
Процедура ЗаказНарядыОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Если ТипЗнч(ВыбранноеЗначение) = Тип("ДокументСсылка.ЗаказНаряд") Тогда
Если ЗаказНаряды.НайтиСтроки(Новый Структура("ЗаказНаряд", ВыбранноеЗначение)).Количество() = 0 Тогда
НоваяСтрока = ЗаказНаряды.Добавить();
НоваяСтрока.ЗаказНаряд = ВыбранноеЗначение;
// также здесь можно выполнить дополнительные обработки
КонецЕсли;
КонецЕсли;
КонецПроцедуры✍️@razrab_1C
