644 документа
← К списку

В режиме "Конфигуратор"

страница

В режиме «Конфигуратор»

Сначала создадим параметризованную команду объекта конфигурации Отчет Материалы.

Для этого откроем окно редактирования этого объекта. На закладке Команды нажмем кнопку Добавить и создадим команду ОстаткиПоСкладу.

В открывшейся палитре свойств зададим Тип параметра команды — СправочникСсылка.Склады. В свойстве Группа укажем Командная панель формы.Важное (рис. 27.37).

Рис. 27.37. Создание параметризованной команды

Таким образом, мы создали команду с типом параметра СправочникСсылка.Склады, и теперь во всех формах, имеющих реквизит такого типа, эта команда автоматически будет добавлена в список параметризуемых команд, доступных в форме.

В открывшемся модуле команды заполним обработчик для ее выполнения следующим образом (листинг 27.6).

Листинг 27.6. Обработчик параметризованной команды

&НаКлиенте

Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)

 

ПараметрыФормы = Новый Структура("Отбор, КлючНазначенияИспользования, СформироватьПриОткрытии", Новый Структура("Склад", ПараметрКоманды), "ОстаткиПоСкладу", Истина);

ОткрытьФорму("Отчет.Материалы.Форма", ПараметрыФормы, ПараметрыВыполненияКоманды.Источник, Истина, ПараметрыВыполненияКоманды.Окно);

 

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

Прокомментируем этот код.

В процедуру ОбработкаКоманды() передается ПараметрКоманды, содержащий значение типа СправочникСсылка.Склады. Затем создается структура параметров формы (ПараметрыФормы): Отбор, КлючНазначенияИспользования, СформироватьПриОткрытии.

В параметр Отбор добавляется структура, содержащая элемент Склад со значением, содержащимся в параметре команды (ПараметрКоманды), параметр КлючНазначенияИспользования — «ОстаткиПоСкладу» определяет назначение использования формы, а параметру СформироватьПриОткрытии присваивается значение Истина, чтобы отчет формировался сразу после открытия.

Затем структура параметров формы передается в глобальный метод ОткрытьФорму(), и форма, указанная в первом параметре метода, открывается с параметром Склад. Причем поскольку в четвертом параметре Уникальность этого метода передается Истина, то при открытии формы каждый раз будет открываться новая форма отчета и отчет будет заново сформирован с отбором по складу, переданному в параметре команды.

Теперь поместим нашу команду в форму документа.

Как мы уже говорили, в формах документов ПриходнаяНакладная и ОказаниеУслуги содержится команда ОстаткиПоСкладу, так как они имеют реквизит Склад типа СправочникСсылка.Склады.

Откроем форму документа ОказаниеУслуги.

На закладке Команды перейдем в раздел Глобальные команды. Здесь мы видим список глобальных параметризуемых команд, доступных в форме. В группе Параметризуемые раскроем строку Объект и перетащим нашу команду Отчет.Материалы.Команда.ОстаткиПоСкладу(Объект.Склад) в командную панель элементов формы.

В скобках у команды указано значение реквизита Склад (Объект.Склад), которое будет передаваться в команду при ее выполнении (рис. 27.38).

Рис. 27.38. Помещение параметризованной команды в форму

Заметьте, что мы не создавали форму отчета и не добавляли в настройки отчета отбор по параметру формы Склад. Система сделает это сама при выполнении обработчика команды ОстаткиПоСкладу.