В начало

Все договоры контрагента

 

           Есть два справочника: «Контрагенты» и «Договоры». Необходимо организовать вывод всех договоров, заключенных с контрагентом, выбранным в справочнике контрагенты.

Рис. 1. Справочники «Контрагенты» и «Договоры» в дереве объектов конфигуратора Рис. 1. Справочники «Контрагенты» и «Договоры» в дереве объектов конфигуратора

Рис. 1. Справочники «Контрагенты» и «Договоры» в дереве объектов конфигуратора

 

            Необходимо в конфигураторе, создать в форме элемента справочника «Контрагенты» новый реквизит, например,  «СписокДоговоров», установить ему тип «ДинамическийСписок» и указать основную таблицу как «Справочник.Договоры». Далее перетащить этот реквизит в интерфейсную часть, обязательно с добавлением колонок, после чего позиционировать его на форме.

            Затем в модуле формы элемента необходимо описать стандартную процедуру «ПриОткрытии», которая по сути будет создавать программный отбор списка договоров.

 

Листинг 1. Процедура в модуле формы

&НаКлиенте

Процедура ПриОткрытии(Отказ)

            ЭО = ЭтаФорма.СписокДоговоров.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));

            ЭО.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Владелец");

            ЭО.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;

            ЭО.Использование = Истина;

            ЭО.ПравоеЗначение = Объект.Ссылка;

КонецПроцедуры

 

            Далее запускаем режим «1С:Предприятие», переходим в справочник «Контрагенты», выбираем конкретного контрагента и убеждаемся, что в динамическом списке автоматически отображаются только те договора .которые были заключены именно с ним.

Рис. 2. Форма элемента справочника «Контрагенты» с динамическим списком договоров

Рис. 2. Форма элемента справочника «Контрагенты» с динамическим списком договоров

 

ПРИМЕЧАНИЕ: проверено на «1С:Предприятие 8.3», интерфейс «Такси».