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

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

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

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

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

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

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

Чтобы пиктограмма команды Удалить отображалась в командной панели формы, нужно установить свойство этой кнопки ТолькоВоВсехДействиях в значение Нет.
4. Можно изменить порядок и видимость кнопок фрагмента командного интерфейса, предоставляемого источником команд Форма
Например, у объекта конфигурации справочник Контрагенты существует команда Команда3. Эта команда имеет группу размещения команд — Командная панель формы.Важное и тип параметра команды —СправочникСсылка.Контрагенты.

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

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

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

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

Что же касается содержимого фрагмента командного интерфейса, то его редактирование доступно на закладке Командный интерфейс редактора формы.
5. Можно включить/выключить видимость стандартных команд, предоставляемых источником команд, например — Форма
Для этого нужно открыть окно Состав команд в палитре свойств формы.

В заключение заметим, что возможности изменить порядок кнопок, предоставляемых источником команд, нет. Если такая необходимость появится, нужно отменить источник у группы команд, и полностью заполнить группу вручную.
как изменить состав команд у программно создаваемого элемента? |
Я |
23.09.21 — 10:45
создаю на форме элемент (при создании на сервере)
ЭлементТаб = Форма.Элементы.Добавить(«ИспользуемыеФильтры», Тип(«ТаблицаФормы»), ГруппаФильтров);
ЭлементТаб.ПутьКДанным = «ИспользуемыеФильтры»;
ЭлементТаб.Высота = ТипыФильтров.Количество();
ЭлементТаб.ИзменятьСоставСтрок = Ложь;
ЭлементТаб.ИзменятьПорядокСтрок = Истина;
ЭлементТаб.Шапка = Ложь;
ЭлементТаб.УстановитьДействие(«ПриИзменении», «Подключаемый_ЭлементНавигацииПриИзменении»);
Нужно изменить типовой список команд у этого элемента, мне нужно оставить только стрелочки сортировки.
Интерактивно это делается здесь https://infofront.su/wp-content/uploads/2020/08/1c-sostav-komandnoi-paneli-tablichnoy-chasti.png
а как это сделать программно?
ЭлементТаб.ПодчиненныеЭлементы — там команд нет
ЭлементТаб.КоманднаяПанель.ПодчиненныеЭлементы — то же пусто
Форма.Команды — там искал
1 — 23.09.21 — 12:44
up
2 — 23.09.21 — 14:15
Для Каждого ЭлементКоманднойПанели Из Элементы.ЭлементТабКоманднаяПанель.ПодчиненныеЭлементы Цикл
Если ЭлементКоманднойПанели.Имя <> «ТоШоНадо» Тогда
ЭлементКоманднойПанели.Видимость = Ложь;
ЭлементКоманднойПанели.Доступность = Ложь;
КонецЕсли;
КонецЦикла;
3 — 23.09.21 — 14:18
(2) Да нет там подчиненных.
4 — 23.09.21 — 14:44
(3): глаза разуй. там не ЭлементТаб.КоманднаяПанель.ПодчиненныеЭлементы.
ну и — сначала попробуй потом голоси.
5 — 23.09.21 — 14:53
(4) Ты пробовали или просто так в лужу пукнул?
6 — 23.09.21 — 14:54
(4) ЭлементТабКоманднаяПанель — не найден
7 — 23.09.21 — 14:56
(5): (6): извини. рам имя составняется из имени элемента (таблицы) и «КоманднаяПанель»
если у тебя мя элемента (таблицы формы) ИспользуемыеФильтры — то нужно не ЭлементТабКоманднаяПанель, а ИспользуемыеФильтрыКоманднаяПанель
8 — 23.09.21 — 14:57
(по shift-F9 бы в коллекцию Элементы слазил бы да проверил))
9 — 23.09.21 — 14:58
короче я понял в чем проблема:
эти кнопки создаются позже… то есть в процедуре «ПриСозданииНаСервере» это сделать невозможно…
видимо надо делать отложеную перерисовку
10 — 23.09.21 — 14:59
(9): есс-но, я наклиенте все это проверяд.
в приоткрытии можно например
11 — 23.09.21 — 15:02
(7) Да я то в курсе.
(10) Да, получается, что так
12 — 23.09.21 — 15:12
(11): нет, (2) с учетом (7) работает и в ПриСозданииНаСервере.
13 — 23.09.21 — 15:16
//(12)+ рабочий тестовый кусок кода (на форме есть таблицаформы с именем «ДдсДанныеДляИмпорта», на комндную панель была добавлена своя кнопка с именем «КнопкаДдсДанныеЗаполнить»):
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Для Каждого ЭлементКоманднойПанели Из Элементы.ДдсДанныеДляИмпортаКоманднаяПанель.ПодчиненныеЭлементы Цикл
Если ЭлементКоманднойПанели.Имя <> «КнопкаДдсДанныеЗаполнить» Тогда
ЭлементКоманднойПанели.Видимость = Ложь;
ЭлементКоманднойПанели.Доступность = Ложь;
КонецЕсли;
КонецЦикла;
КонецПроцедуры //ПриСозданииНаСервере
// результат — в командной панели осталась только кнопка с именем «КнопкаДдсДанныеЗаполнить»
14 — 23.09.21 — 15:25
(13) у тебя элемент статический, то есть НЕ программный
15 — 23.09.21 — 15:28
кроме того решение (13) закрывает не команды а кнопки, еще остается контекстное меню и горячие клавиши.
16 — 23.09.21 — 15:30
(15): нет, НЕ «остается». ибо доступность = ложь
17 — 23.09.21 — 15:32
ЗЫ: вообще — нормальный такой диалог получается. разжевали, в рот положили… а теперь не «спасибо» — теперь еще сцуки еще уговорите меня…
)))
18 — 23.09.21 — 15:52
(17) Да ты вообще не то писал.
19 — 23.09.21 — 16:05
(17) да ничего ты не разжевал, банально ЭлементТаб.КоманднаяПанель.ПодчиненныеЭлементы так-же работает как и поиск по длинному наименованию.
Изначально проблема была именно в программном создании и установки видимости при создании формы, что сделать не возможно…
Подключение данного кода в «при открытии» не совсем верно так как возможно повторное открытие уже открытого окна.
Короче сабж в правильном ключе пока выглядит не решаемым…
20 — 23.09.21 — 16:21
если у тебя ЭлементТаб.ИзменятьСоставСтрок = Ложь;
то удалить и так команды не будет
серый КТУЛХУ
21 — 23.09.21 — 16:43
(19): «проблема была именно в программном создании и установки видимости при создании формы, что сделать не возможно…» — враньё. установка видимости и доступности — возможна (с оговоркой: свойства элемента должны это позволять, как, например, в (20), или смещение строк и сортировка — при установленном свойстве «изменение порядка строк»)
Редактор командного интерфейса конфигурации
Предназначен для того, чтобы настроить порядок следования разделов в панели разделов и настроить видимость разделов для разных ролей, определенных в конфигурации.

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

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

Редактор командного интерфейса основного раздела
Предназначен для настройки команд основного раздела. Позволяет настроить состав команд каждой командной панели:
- Панель навигации. Важное
- Панель навигации. Обычное
- Панель навигации. См.также
- Панель навигации. Важное
- Панель действий. Создать
- ……….
А также установить порядок отображения и видимость элементов командного интерфейса по ролям.

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

Вызвать редактор командного интерфейса можно разными способами, например, командой контекстного меню на выбранной подсистеме.

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

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

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

Поиск:
1С:Предприятие • Интерфейс • Настройка • Подсистема • Права доступа • Редактор • Настройка

