Как управлять расположением команд в командной панели формы?













В 1С Предприятии 8.2 внешний вид формы определяется расположением и свойствами элементов в дереве элементов формы. На основе этих свойств система сама "рисует" форму, в частности, командную панель формы.
Вмешаемся в этот процесс)))

Любая группа кнопок (командная панель, подменю, группа кнопок, контекстное меню) заполняется по одинаковым правилам:

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

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

рис1

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

рис2

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

1. Можно отделить команды, созданные разработчиком, от других команд разделителем.

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

рис3

2. Можно расположить какие-то команды разработчика в начале группы команд.

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

рис4

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

рис5

3. Можно переместить автоматически заполняемые кнопки.

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

рис6

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

рис7

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

4. Можно изменить порядок и видимость кнопок фрагмента командного интерфейса, предоставляемого источником команд Форма.

Например, у объекта конфигурации справочник Контрагенты существует команда Команда3. Эта команда имеет группу размещения команд — Командная панель формы.Важное и тип параметра команды — СправочникСсылка.Контрагенты.

рис8

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

рис9

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

рис10

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

рис11

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

рис12

Что же касается содержимого фрагмента командного интерфейса, то его редактирование доступно на закладке Командный интерфейс редактора формы.

5. Можно включить/выключить видимость стандартных команд, предоставляемых источником команд, например — Форма.

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

рис13

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

23 Comments

  1. fomix

    Молодца! А то с этими управляемые формами просто беда…

    Reply
  2. rus128

    Очень познавательно!

    Жаль только, что рисунки в статье идут не в тексте, а после текста — пришлось извращаться, чтоб прочитать с открытой иллюстрацией.

    Reply
  3. kostik_love

    (2) rus128,

    исправил

    Reply
  4. rus128

    (3) а где теперь сама публикация? вижу только «Публикация не активна».

    Reply
  5. kostik_love

    (4) rus128, а теперь ждем- пока отмодерируется)))

    Reply
  6. fishca

    (0) а слабо все статьи ИТС скопипастить 😉 ?

    Reply
  7. kostik_love

    (6) fishca,

    не слабо- как только столкнусь с какой нибудь проблемой и найду её решение только ни ИТС

    сразу же создам публикацию

    Reply
  8. Sbelyi78

    выпустить надо 8.3 где можно самому ими управлять инетерактивно, а некретивить , во идея: dreamweaver+ 1С8.2=1С8.3

    Reply
  9. Мощный

    Спасиб ! Оч.познавательно

    Reply
  10. Vladimir_Konyrev

    Добрый день. Не подскажите, каким образом на Командной панели самому настроить подписи стандартных кнопок. Например добавить подпись «Удалить строку» к кнопке на картинке

    Reply
  11. kenza

    (10) Vladimir_Konyrev, ну это вам просто нужно отключить автозаполнение командной панели, вручную добавить нужную кнопку и в свойствах изменить или установить заголовок.

    Reply
  12. Kaavan

    Прекрасно!

    Reply
  13. Evgen.Ponomarenko

    В копилочку!… Вопрос в студию, может и не по теме нооо: А как можно посмотреть все публикации, которые пользователь отметил плюсиком?

    Reply
  14. SANILLA

    А как в командный интерфейс в панель навигации в группу «перейти» добавить команду формы?

    Reply
  15. binx

    (14) SANILLA, тоже этот вопрос интересует

    Reply
  16. kostik_love

    (14) SANILLA, (15) binx,

    Для этого существуют общие команды, команды объекта и группы команд

    Reply
  17. AlexanderKai

    Спасибо, статья помогла.

    Reply
  18. Letos

    Выношу кнопку в командную панель ТЧ. В режиме Предприятия кнопка не отображается. В конфигураторе все хорошо все есть, Видимость = Истина, делаю просмотр формы Ctrl + R — все есть. В чем может быть проблема?

    Reply
  19. kostik_love

    (18), 1. посмотреть во всех действиях

    2. В режиме отладке проверить при открытии формы сврйство видимость

    Reply
  20. volha-77

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

    Reply
  21. kostik_love

    (20) volha-77,

    нужно указать свойство «Группа» (Группа, в которую входит команда по умолчанию) и «Тип параметра команды», далее на вкладке «Глобальные команды» в разделе «Параметризуемые» найти строку Документ.ИмяДокумента.ИмяКоманды (если это для документа)- и перенести в элементы формы в нужно место

    или добавить кнопку на форме и заполнить ее свойство «Имя команды» — указав полный путь к месту расположения команды

    Reply
  22. klinval

    А чем статья отличается от: http://v8.1c.ru/metod/faq2/answer.jsp?id=657 ?

    Reply
  23. r-guliev

    ничего нового http://v8.1c.ru/metod/faq2/answer.jsp?id=657

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *