"Добрый день, стоит такая задача: для документа Реализация Товаров и Услугз в табличной части есть кнопка Изменить, при нажатии которой открывается форма подбора элементов, по которым может быть заполнена таб часть документа реализация. Так вот, при открытии формы подбора, сначала выбирается действие, например, "Добавить из документа" затем из списка документов выбирается тип документа, например, "Заказ покупателя" затем открывается ещё одно окно выбора со списком всех Заказов покупателей, а задача отфильтровать заказы только по тому контрагенту, который указан в док-те "Реализация". Исходя из кода, за вывод списка самих документов отвечает какая-то системная обработка "Стандартная обработка". Её код можно как-то просмотреть, или нужно будет дописывать выбор объектов самой? Или я всё делаю неправильно и решать эту задачу нужно по-другому?<br> <br><br><pre> Процедура ПолеВводаВариантаЗначенияНачалоВыбора(Элемент, СтандартнаяОбработка)<br><br> // Заполним список возможных типов для выбора<br> СписокВидов = Новый СписокЗначений;<br> МассивТипов = ЭлементыФормы.ПолеВводаВариантаЗачения.ОграничениеТипа.Типы();<br> РазмерСписка = МассивТипов.Количество();<br> Если РазмерСписка = 1 Тогда<br><br> Если МассивТипов[0] = Тип("СправочникСсылка.ТипыЦенНоменклатурыКонтрагентов")<br> И Не ЗначениеЗаполнено(ДокументОбъект.Контрагент) Тогда<br> // Не понятно что выбирать, это ошибка.<br> Предупреждение("Для установки цен поставщика необходимо в документе выбрать тип цен контрагента!"); <br> СтандартнаяОбработка = Ложь;<br> Возврат;<br> КонецЕсли;<br><br> ИначеЕсли РазмерСписка > 1 Тогда<br><br> // В случае одного элемента выбирать нечего, нужное значение мы установили при выборе действия,<br> // поэтому этот случай здесь не обрабатывается.<br> <br> Для каждого ЭлементМассива Из МассивТипов Цикл<br><br> Если Документы.ТипВсеСсылки().СодержитТип(ЭлементМассива)<br> ИЛИ Справочники.ТипВсеСсылки().СодержитТип(ЭлементМассива) Тогда<br> ПустоеЗначение = Новый(ЭлементМассива);<br> ОбъектОписанияМетаданного = ПустоеЗначение.Метаданные();<br> СписокВидов.Добавить(ЭлементМассива, ОбъектОписанияМетаданного.Представление());<br> КонецЕсли;<br> КонецЦикла;<br><br> СписокВидов.СортироватьПоПредставлению();<br><br> НачальноеЗначение = Неопределено;<br> Если ТипЗнч(ВариантЗначения) = Тип("СписокЗначений") Тогда<br> НачальноеЗначение = ЭлементыФормы.ПолеВводаВариантаЗачения.Значение.ТипЗначения.Типы()[0];<br> КонецЕсли;<br> НачальноеЗначениеСписка = СписокВидов.НайтиПоЗначению(НачальноеЗначение);<br> ВыбранныйЭлемент = ВыбратьИзСписка(СписокВидов, Элемент, НачальноеЗначениеСписка);<br><br> Если ВыбранныйЭлемент = Неопределено Тогда // отказ от выбора<br> СтандартнаяОбработка = Ложь;<br> Возврат;<br> КонецЕсли;<br><br> Если Документы.ТипВсеСсылки().СодержитТип(ВыбранныйЭлемент.Значение) Тогда<br> ЭлементыФормы.ПолеВводаВариантаЗачения.Значение = Новый СписокЗначений;<br> МассивТипов = Новый Массив;<br> МассивТипов.Добавить(ВыбранныйЭлемент.Значение);<br> ЭлементыФормы.ПолеВводаВариантаЗачения.Значение.ТипЗначения = Новый ОписаниеТипов(МассивТипов);<br> Иначе<br> Элемент.Значение = ОбщегоНазначения.ПустоеЗначениеТипа(ВыбранныйЭлемент.Значение);<br> КонецЕсли;<br><br> Иначе // размер списка = 0<br><br> // Не понятно что выбирать, это ошибка.<br> Предупреждение("Не заданы возможные типы значения!"); <br> СтандартнаяОбработка = Ложь;<br> Возврат;<br><br> КонецЕсли; <br><br>КонецПроцедуры // ПолеВводаВариантаЗаченияНачалоВыбора()<br></pre>"