Книга: Разработка интерфейса прикладных решений на платформе "1С:Предприятие 8"
Назад: Глава 1.11. Создаем произвольные команды
Дальше: Особенности размещения

Произвольные команды

В конфигурации произвольные команды представлены объектом конфигурации Команда. Объект конфигурации Команда предназначен для реализации в прикладном решении нестандартных функций с возможностью использования стандартных механизмов включения реализованного функционала в командный интерфейс.

Технологическая платформа ничем не ограничивает состав произвольных команд и реализуемые ими функции. Все определяется требованиями к конкретному прикладному решению.

При создании произвольной команды разработчик должен установить ее свойства, определяющие правила включения команды в интерфейс, и написать программный код, определяющий выполняемые командой действия. Этим произвольные команды отличаются от стандартных. Для последних и свойства, и выполняемые действия определены самой платформой.

В конфигурации произвольные команды могут быть реализованы или как независимые объекты – общие команды, или как команды, подчиненные другим объектам.

Список объектов, для которых разработчик может создать подчиненные произвольные команды, приведен в документации «1С:Предприятие 8.3.10. Руководство разработчика», раздел 6.2.2.

Общие произвольные команды позволяют реализовать нестандартную функциональность, относящуюся в целом к прикладному решению. В этом случае произвольная команда создается как независимый объект конфигурации, принадлежащий классу Общие команды (рис. 1.139).

Рис. 1.139. Произвольные общие команды

Подчиненные произвольные команды позволяют реализовать нестандартную функциональность какого-либо объекта конфигурации. В этом случае произвольная команда создается как подчиненный объект конфигурации (рис. 1.140).

Рис. 1.140. Произвольная подчиненная команда

Чтобы иметь представление о том, какие задачи решаются с использованием произвольных команд, давайте посмотрим на демонстрационную базу «Глава 1.9. Настраиваем представление команд».

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

Рис. 1.141. Произвольная общая команда «Установить сканер штрихкодов»

Функции работы со сканером являются общими для всего прикладного решения, то есть не относятся к какому-то конкретному объекту конфигурации, поэтому произвольная команда реализована как общая.

Команда выполняет действие – подключает к прикладному решению драйвер для работы со сканером штрихкодов. Поэтому она расположена в группе Сервис панели функций раздела основного окна приложения.

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

В демонстрационной базе для получения печатной формы документа РасходТовара создана подчиненная команда ПечатьРасходнойНакладной (рис. 1.142).

Рис. 1.142. Произвольная подчиненная команда «Печать расходной накладной»

Значения свойств команды Группа и Тип параметра команды определили расположение команды в командном интерфейсе (меню Печать командной панели формы документа), а процедура на встроенном языке обеспечила формирование печатной формы конкретного документа, ссылка на который передается в параметре команды.

ПРИМЕЧАНИЕ

Подробнее о размещении произвольных команд рассказано в разделе .

Еще одним, достаточно специфическим, вариантом использования произвольных команд является расширение или переопределение стандартной функциональности стандартной команды. Такие задачи возникают, например, вследствие требования сократить количество ручных операций или изменить стандартное поведение объектов.

Например, в демонстрационной базе реализована обработка АдминистративныйСервис. Команду открытия основной формы необходимо было расположить среди команд навигации. Но стандартная функциональность этого объекта отличается от требуемой – команда открытия формы располагается среди команд действий, в группе Сервис.

Для обеспечения требуемой функциональности у обработки снято свойство Использовать стандартные команды (рис. 1.143) – стандартные команды нас не устраивают.

Рис. 1.143. Стандартные команды обработки не используются

Доступ же к обработке обеспечивает произвольная подчиненная команда АдминистративныйСервис, для которой задано расположение в группе Панель навигации. Обычное основного окна приложения (рис. 1.144). В результате выбора этой команды в рабочей области основного окна отображается форма обработки.

Рис. 1.144. Произвольная подчиненная команда «Административный сервис»

Подобных задач в конкретных прикладных решениях возникает великое множество, и для их решения наиболее подходящими являются произвольные команды.

Назад: Глава 1.11. Создаем произвольные команды
Дальше: Особенности размещения