В режиме «1С:Предприятие». Использование параметризованных команд. В режиме «Конфигуратор»
В режиме «1С: Предприятие» Запустим «1С: Предприятие» в режиме отладки и откроем документ Оказание услуги № ЦБ000000001. В табличную часть этого документа добавим еще одну строку, содержащую какой-либо материал, и попробуем записать документ, нажав кнопку Провести. Для второй строки табличной части будет выдано сообщение об ошибке (рис. 27. 36). Можно также программно добавить реквизит в массив проверяемых реквизитов (листинг 27. 5). листинг 27. 5. Добавление реквизита в массив проверяемых реквизитов ПроверяемыеРеквизиты. Добавить(" ПереченьНоменклатуры. НаборСвойств" );
Использование параметризованных команд Использование параметризованных команд в формах объектов позволяет при выполнении команды передать в обработчик команды какой-либо параметр, например значение ссылочного реквизита. И затем использовать его, например, открыть с этим параметром форму отчета. Для примера создадим команду открытия отчета, показывающего остатки материалов по складу, указанному в документе. Отчет будет вызываться из формы документа ОказаниеУслуги, в него будет передаваться значение реквизита документа Склад, и при открытии отчета в настройки отчета будет добавляться отбор по параметру Склад.
В режиме «Конфигуратор» Сначала создадим параметризованную команду объекта конфигу- рации Отчет Материалы. Для этого откроем окно редактирования этого объекта. На закладке Команды нажмем кнопку Добавить и создадим команду Остат- киПоСкладу. В открывшейся палитре свойств зададим Тип параметра команды – СправочникСсылка. Склады. В свойстве Группа укажем Командная панель формы. Важное (рис. 27. 37).
Таким образом, мы создали команду с типом параметра Справоч- никСсылка. Склады, и теперь во всех формах, имеющих реквизит такого типа, эта команда автоматически будет добавлена в список параметризуемых команд, доступных в форме.
Рис. 27. 37. Создание параметризованной команды
В открывшемся модуле команды заполним обработчик для ее выпол- нения следующим образом (листинг 27. 6). листинг 27. 6. Обработчик параметризованной команды Прокомментируем этот код. В процедуру ОбработкаКоманды() передается ПараметрКоманды, содержащий значение типа СправочникСсылка. Склады. Затем создается структура параметров формы (ПараметрыФормы): Отбор, КлючНазначенияИспользования, СформироватьПриОткрытии. В параметр Отбор добавляется структура, содержащая элемент Склад со значением, содержащимся в параметре команды (ПараметрКоманды), параметр КлючНазначенияИспользования – " ОстаткиПоСкладу" определяет назначение использования формы, а параметру СформироватьПриОткрытии присваивается значение Истина, чтобы отчет формировался сразу после открытия. Затем структура параметров формы передается в глобальный метод ОткрытьФорму(), и форма, указанная в первом параметре метода, открывается с параметром Склад. Причем поскольку в четвертом параметре Уникальность этого метода передается Истина, то при открытии формы каждый раз будет открываться новая форма отчета и отчет будет заново сформирован с отбором по складу, переданному в параметре команды. Теперь поместим нашу команду в форму документа. Как мы уже говорили, в формах документов ПриходнаяНакладная и ОказаниеУслуги содержится команда ОстаткиПоСкладу, так как они имеют реквизит Склад типа СправочникСсылка. Склады. Откроем форму документа ОказаниеУслуги. На закладке Команды перейдем в раздел Глобальные команды. Здесь мы видим список глобальных параметризуемых команд, доступных в форме. В группе Параметризуемые раскроем строку Объект и перетащим нашу команду Отчет. Материалы. Коман- да. ОстаткиПоСкладу(Объект. Склад) в командную панель элементов формы.
В скобках у команды указано значение реквизита Склад (Объект. Склад), которое будет передаваться в команду при ее выпол- нении (рис. 27. 38). Заметьте, что мы не создавали форму отчета и не добавляли в настройки отчета отбор по параметру формы Склад. Система сделает это сама при выполнении обработчика команды ОстаткиПо- Складу.
Рис. 27. 38. Помещение параметризованной команды в форму
Воспользуйтесь поиском по сайту: ©2015 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|