В начало

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

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

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

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

 

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

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

 

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

&НаКлиенте

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

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

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

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

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

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

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

 

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

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

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

 

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