» » Команда на любой форме 1с. Как разместить команды в командной панели формы? Закладка "Реквизиты" у формы

Команда на любой форме 1с. Как разместить команды в командной панели формы? Закладка "Реквизиты" у формы

Стандартные команды формы автоматически размещаются в командной панели формы. В нее всегда включаются все команды, предоставленные расширением формы, а также команда Справка , предоставленная формой.

Командная панель формы заполняемая автоматически

1С8: Командная панель формы заполнена автоматически


Изменить форму…
Разрешить изменять форму . По умолчанию свойство имеет значение Истина , и команда включается в командную панель.

Команда настройки формы

1С8: Команда настройки формы

Включение в командную панель команд Сохранить параметры… и Восстановить параметры… определяется значением свойства формы Сохранение данных в настройках . По умолчанию это свойство имеет значение Не использовать , и команды не включаются в командную панель.

Команды сохранения и восстановления параметров

1С8: Команды сохранения и восстановления параметров

ПРИМЕЧАНИЕ
Часть команд отображается непосредственно в командной панели и в меню Все действия, а часть – только в меню Все действия.

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

Команды обработки табличных данных

1С8: Команды обработки табличных данных

ПРИМЕЧАНИЕ
При автоматическом формировании набора команд формы списка форма имеет объединенную командную панель, в которой размещены как команды формы, так и команды таблицы.

Глобальные параметризуемые команды

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

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

Глобальная параметризуемая команда действий в форме

1С8: Глобальная параметризуемая команда действий в форме

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

Глобальная параметризуемая навигационная команда в форме

1С8: Глобальная параметризуемая навигационная команда в форме

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

ПРИМЕЧАНИЕ
По умолчанию эти команды невидимы и панель навигации
не отображается. Отображение панели навигации формы мы настроили
в пользовательском режиме.

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

Для команды в качестве параметра передается ссылка на обрабатываемый документ (из свойства Ссылка основного реквизита формы).

ВНИМАНИЕ!
Если форма (например, форма списка документов) открывается в основном окне приложения, то панель навигации формы не отображается (независимо от настройки видимости навигационных команд), и команды, размещенные в ней, недоступны.

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

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

Для демонстрации влияния ролевой настройки прав на доступный пользователю набор команд включим документ Расход товара в подсистему Ценообразование .

Для роли Менеджер по ценам установим права Чтение и Просмотр на документ. Для подчиненной документу произвольной команды Печать расходной накладной право Просмотр снимем.

ПРИМЕЧАНИЕ
Для исключения ошибок времени выполнения менеджеру по ценам установим право Чтение на справочники Склады, Организации и Валюты.

Для пользователя Администратор установлены все права на документ Расход товара. При построении формы документа (и формы списка документов) в состав доступных включены все стандартные команды формы, включенные в нее на этапе разработки.

Стандартные команды, доступные пользователям с разными ролями

1С8: Стандартные команды, доступные пользователям с разными ролями

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

В 1С Предприятии 8.2 внешний вид формы определяется расположением и свойствами элементов в дереве элементов формы. На основе этих свойств система сама «рисует» форму, в частности, командную панель формы.
Любая группа кнопок (командная панель, подменю, группа кнопок, контекстное меню) заполняется по одинаковым правилам:

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

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

В результате в режиме 1С:Предприятия расположение кнопок, соответствующих созданным командам Команда1 , Команда2 соответствует описанному выше алгоритму: в командной панели формы и в подменю Все действия сначала расположены команды, предоставляемые источником команд — формой элемента
справочника (например, Записать и закрыть ), затем команды, созданные
разработчиком (Команда1 , Команда2 ), и затем команды Изменить форму и Справка .

Есть несколько способов вмешаться в процесс расположения команд.

1. Можно отделить команды, созданные пользователем, от других команд разделителем. Для этого нужно создать в командной панели группу вида Группа кнопок и перенести в нее эти команды.

2. Можно расположить какие-то команды разработчика в начале группы команд.
Для этого нужно отменить у группы источник команд (для контекстного меню и автоматической командной панели нужно выключить флажок Автозаполнение ), затем добавить в группу свою кнопку, после нее добавить группу вида Группа кнопок и у этой группы установить источник команд — например, Форма .

В результате в режиме 1С:Предприятия командная панель формы и подменю Все действия будут иметь следующий вид.

3. Можно переместить автоматически заполняемые кнопки. Для этого нужно поместить в дерево командной панели или контекстного меню кнопку, связанную с той же командой, которая заполняется из источника данных (например, Удалить , Изменить и др.). Автоматически такая кнопка не будет размещена среди стандартных команд и, таким образом, можно переместить стандартную
команду в другое место. В результате командная панель формы и подменю Все действия будут иметь следующий вид.

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

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

Для начинающих разработчиков Учимся программировать

Как с помощью команды выполнить отчет с некоторыми параметрами?

Использование параметризуемых команд в формах объектов позволяет при выполнении команды передать в обработчик команды какой-либо параметр, например значение ссылочного реквизита формы. И затем использовать его, например, открыть с этим параметром форму отчета.

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

Для этого у отчета ОстаткиТоваровНаСкладах создана команда ОстаткиПоТовару со свойствами:

  • Тип параметра команды - СправочникСсылка.Товары
  • Группа - Командная панель формы.Важное .

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

Обработчик команды содержит код:

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

В этот обработчик передается ПараметрКоманды , содержащий значение типа СправочникСсылка.Товар .

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

В параметр Отбор добавляется структура, содержащая элемент Товар со значением, содержащимся в параметре команды (ПараметрКоманды ).

Параметр КлючНазначенияИспользования - «ОстаткиПоТовару » определяет назначение использования формы.

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

Затем структура параметров формы передается в функцию ОткрытьФорму() , и форма, указанная в первом параметре метода, открывается с отбором по значению, переданному в ПараметрКоманды .

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

А как вывести отчет сразу по нескольким товарам?

Для этого можно установить свойство команды Режим использования параметра в значение Множественный .

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

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

Если нужен отчет по группе справочника, можно выделить все элементы группы или в обработчике команды программно сформировать список товаров, для которых нужно получить остатки.

Подробнее о свойстве РежимИспользованияПараметраКоманды можно прочитать в синтакс-помощнике: Системные перечисления - Интерфейсные:

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

Произвольная группа команд «Печать»

Как и для других объектов конфигурации, для объекта Группа команд определены универсальные свойстваИмя, Синоним, Комментарий.
Для определения места размещения группы используется свойство Категория .


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

Кроме того, для свойства Отображение установим значение Авто

Включение произвольной команды в произвольную группу


Теперь в форме списка и форме элемента справочника Виды цен команда печати ценников располагается уже не в группе Важное, а в группе Печать.

ПРИМЕЧАНИЕ
В командной панели формы кнопками отображаются команды из группы Важное. Команды остальных групп отображаются в виде подменю.

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

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


Из особенностей объекта Группа команд необходимо отметить, что для него не назначаются права, не определяется принадлежность к подсистемам и зависимость от функциональных опций. Произвольная группа будет представлена в командном интерфейсе пользователя только в том случае, когда в нем доступна хотя бы одна из команд, включенных в группу.
В противном случае группа в командный интерфейс не включается. В нашем приложении доступ к справочнику Виды цен разрешен и для роли Менеджер по продажам. Но для этой роли сброшено право Просмотр для произвольной подчиненной команды.

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


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

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

Любая форма представляет совокупность нескольких составляющих:

  • элементов - объектов, определяющих визуальное представление формы и осуществляющих взаимодействие с пользователем,
  • командного интерфейса - совокупности команд, отображаемых в форме;
  • реквизитов - объектов, данные которых форма использует в своей работе.
  • команд - действий, которые определены в данной конкретной форме,
  • параметров - объектов, значения которых характеризуют саму форму, используются при ее создании и остаются постоянными в процессе "жизни" формы,
  • модуля - программы на встроенном языке, отвечающей за работу с элементами и за обработку событий;

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

В отдельном окне, в нижней части редактора, отображается внешний вид формы в режиме 1С:Предприятие.

Редактирование элементов

Редактор форм позволяет разработчику использовать широкий набор возможностей для изменения внешнего вида формы - того вида, который форма будет иметь в режиме 1С:Предприятие. Перечислим основные из этих возможностей:

Страницы, закладки

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

Редактор позволяет добавить в форму несколько элементов Группа - Страницы , каждая из которых может содержать несколько элементов Группа - Страница .

Например, форма документа может содержать один элемент Группа - Страницы , которому подчинены несколько элементов Группа - Страница с заголовками Изображение , Характеристики и Описание :

Тогда в режиме 1С:Предприятие она будет выглядеть следующим образом:

Заголовок каждой группы - страницы отображается на отдельной закладке. Разработчик имеет возможность задать режим отображения закладок: снизу или сверху:

Например, закладки можно расположить снизу:

Элементы

Редактор позволяет добавлять в форму различные элементы. Добавлять элементы можно с помощью команды добавления или путем перетаскивания реквизитов формы в дерево элементов:

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

Располагая элементы выше/ниже в дереве, подчиняя их другим элементам и задавая свойства элементов-групп можно задавать порядок, в котором пользователь будет обходить элементы управления формы при вводе и редактировании данных. В режиме 1С:Предприятие элементы формы будут обходиться в порядке их иерархии и в соответствии с тем, какой тип группировки выбран для групп: вертикальная или горизонтальная.

Разделители

Разделители являются специальными элементами, с помощью которых возможно перераспределение пространства формы без изменения ее размеров. Платформа в режиме 1С:Предприятие самостоятельно добавляет эти элементы в форму. Разделитель обладает способностью "захватываться" мышью и перемещаться внутри формы в ее пределах с учетом возможности расположения других элементов и ориентации разделителя:

При перемещении разделителя, все элементы, связанные с разделителем, будут изменять свои размеры или перемещаться:

Модуль формы

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

Реквизиты формы

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

Если у формы существует основной реквизит, определяющий поведение формы, отличное от типового, - он выделяется жирным шрифтом.

Командный интерфейс формы

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

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

Команды формы

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

На закладках Стандартные команды и Глобальные команды разработчику предоставляются списки команд, генерируемых платформой и доступных для использования в данной форме. Их свойства изменять нельзя, можно только добавлять их в форму.

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

Параметры формы

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