Поскольку задача получения всех объектов, введенных на основании какого-либо другого объекта чаще всего возникает при анализе документов, мы рассмотрим применение описанной выше методики на примере получения списка документов, введенных на основании элемента справочника "Клиенты". [497]
Создадим новый объект конфигурации "КритерийОтбора" с именем "ОказаниеУслуги". На закладке "Данные" выберем тип используемого критерия – СправочникСсылка.Клиенты.
На закладке "Состав" в качестве объектов, входящих в критерий, выберем реквизит "Основание" документа "ОказаниеУслуги":
На закладке "Формы" создадим основную форму списка при помощи конструктора. [498]
Запустите 1С:Предприятие в режиме отладки и проверьте работу критерия отбора:
Кнопка "Перейти" открывает форму списка критерия отбора...
Обратите внимание, что пункт меню "Перейти", формируемый платформой автоматически, включил в себя команду открытия формы списка созданного нами критерия отбора с установленным отбором по текущему элементу справочника "Клиенты".
Чтобы проиллюстрировать действия, выполняемые платформой при открытии формы списка критерия отбора, создадим основную форму списка справочника "Клиенты" и в командную панель формы добавим кнопку "ДокументыКлиента".
Обработчик этой кнопки будет выглядеть следующим образом:
Процедура ДействияФормыДокументыКлиента(Кнопка)
ФормаКритерия = КритерииОтбора.ОказаниеУслуги.ПолучитьФорму();
ФормаКритерия.Открыть();
СписокКритерияОтбора = ФормаКритерия.ЭлементыФормы.Список.Значение;
СписокКритерияОтбора.Отбор.ЗначениеОтбора.Значение = ЭлементыФормы.СправочникСписок.ТекущаяСтрока;
КонецПроцедуры
Этот обработчик открывает форму критерия отбора и затем устанавливает значение единственного элемента отбора объекта [499] КритерийОтбораСписок.ОказаниеУслуги равным ссылке на элемент справочника.