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

Подчиненная параметризуемая команда

Теперь реализуем функциональность печати ценников по одному виду цен. Для этого также будем использовать произвольную команду.

В отличие от предыдущей эта команда расширяет функциональные возможности справочника Виды цен – любой из элементов справочника (объектов, хранимых в информационной базе) должен знать, как распечатать «свои» ценники (по виду цены). Поэтому команду реализуем как подчиненный справочнику Виды цен объект Команда.

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

Состав свойств подчиненной произвольной команды практически полностью совпадает со свойствами общей. Особенностью является отсутствие у подчиненной команды группы свойств Справочная информация – описание команды включается в справку самого объекта-владельца.

В группе свойств Основные заполним следующие свойства (рис. 1.156):

Для свойства Группа пока установим значение ПанельДействий.Сервис – этим мы определили произвольную подчиненную независимую команду действия.

Рис. 1.156. Свойства произвольной подчиненной команды

Подчиненная команда включается в те же разделы интерфейса, что и объект-владелец. Следовательно, созданная команда включена в раздел Предприятие, раздел Управление ценами и подраздел Цены раздела Товарные запасы за счет принадлежности справочника Виды цен соответствующим подсистемам (рис. 1.157).

Рис. 1.157. Принадлежность к подсистеме для произвольной подчиненной команды определяется объектом-владельцем

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

Поэтому, ориентируясь на общий критерий выбора категории, изменим у команды значение свойства Группа на Командная панель формы.Важное – команда по умолчанию располагается в группе Важное командной панели формы.

ПРИМЕЧАНИЕ

Обратите внимание, что стали доступны для заполнения свойства Тип параметра команды, Режим использования параметра и Изменяет данные.

В качестве параметра наша команда принимает ссылку на тот вид цен (элемент справочника Виды цен), для которого необходимо распечатать ценники. Поэтому в качестве значения свойства Тип параметра команды зададим тип данных СправочникСсылка.ВидыЦен (рис. 1.158).

Рис. 1.158. Группа и тип параметра определяют расположение произвольной параметризуемой команды

ПРИМЕЧАНИЕ

В случае если параметр может принимать значения разных типов, для свойства Тип параметра команды необходимо выбрать составной тип данных.

Исходя из типа параметра, наша команда будет доступна как минимум в двух формах:

А если команде потребуется передать не одно значение параметра, а несколько? В этом случае необходимо воспользоваться свойством Режим использования параметра. Это свойство предназначено для определения количества значений, которые будут переданы в качестве параметра (рис. 1.159).

Рис. 1.159. Возможность использования многозначного параметра определяется свойством «Режим использования параметра»

Если свойство установлено в значение Одиночный, то в команду передается одно значение указанного типа.

Если свойство установлено в значение Множественный, то в команду всегда передается массив значений указанного типа. Этот режим имеет смысл выбирать тогда, когда источником параметра является таблица с установленным режимом множественного выделения.

Если в таблице выделено несколько строк, то первым элементом массива будет выступать текущая строка (вне зависимости от последовательности выделения строк табличного поля). Порядок элементов после первого не определен. Если же текущая строка не входит в выделение, то первый элемент в массиве невозможно предсказать однозначно.

Массив значений будет передан и в том случае, если в таблице выделена только одна строка. Такой массив будет содержать только один элемент.

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

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

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

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

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

Настройка видимости параметризуемой команды по ролям для произвольной параметризуемой команды выполняется в редакторе формы. Об этом мы поговорим в .

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

Сохраним конфигурацию, запустим приложение от имени пользователя Менеджер по ценам, выберем раздел Управление ценами и откроем форму списка справочника Виды цен. Созданная нами команда действительно расположена в группе Важное командной панели формы (рис. 1.161).

Рис. 1.161. Размещение произвольной параметризуемой подчиненной команды в командном интерфейсе

Таким образом, для произвольной подчиненной параметризуемой команды:

Нам осталось настроить представление команды в интерфейсе и реализовать процедуру исполнения команды.

Для настройки представления заполним свойство Синоним текстом «Печать ценников для вида цены», свойство Подсказка – текстом «Печать ценников на товары по выбранному виду цены» (рис. 1.162).

Рис. 1.162. Настройка представления произвольной подчиненной команды

Для того чтобы видеть реакцию на выбор команды, в модуле команды реализуем вывод сообщения (листинг 1.2):

Листинг 1.2. Обработчик команды «ПечатьЦенниковВидЦены»

Сообщение = Новый СообщениеПользователю();

Сообщение.Текст = "Необходимо реализовать алгоритм выполнения команды";

Сообщение.Сообщить();

В результате в режиме 1С:Предприятие при наведении мыши на кнопку Печать ценников для вида цены всплывает поясняющая подсказка. А при нажатии на эту кнопку в окне сообщений будет выведен текст нашего сообщения (рис. 1.163).

Рис. 1.163. Результат исполнения произвольной подчиненной команды

Помимо свойств Синоним и Подсказка на представление команды в командном интерфейсе также влияют свойства Картинка и Отображение.

ПРИМЕЧАНИЕ

Свойства Картинка и Отображение определены и для общих произвольных команд.

На данный момент свойство Картинка не заполнено, а свойство Отображение имеет значение Авто. В этом случае команда представлена значением своего свойства Синоним (см. рис. 1.163).

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

Рис. 1.164. Назначение картинки для произвольной подчиненной команды

Свойство Отображение задает способ отображения команды:

Установим для свойства значение Картинка и текст. В результате команда представлена и пиктограммой, и текстом (рис. 1.165).

Рис. 1.165. Измененное представление произвольной подчиненной команды

ПРИМЕЧАНИЕ

Свойства Картинка и Отображение используются только для команд, размещенных в командной панели формы. При размещении в других панелях команды представляются своим синонимом (или именем, если синоним не заполнен).

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

Назначим нашей команде печати ценников по виду цен комбинацию клавиш Ctrl + P. После этого команду можно будет быстро выполнить, нажав указанную комбинацию клавиш (рис. 1.166).

Рис. 1.166. Произвольная подчиненная команда с назначенной клавиатурной комбинацией

Назад: Общая независимая команда
Дальше: Зависимость от функциональных опций