Добрый день подскажите как убрать с ФормаКоманднаяПанель лишние кнопки и из выпадающего списка ЭДО как через изменить форму только программно обращаюсь так
```1c
    Этаформа.Элементы.ФормаКоманднаяПанель.
```
 а дальше что прописать не знаю ?
---
а в цикле не лучше ? что-то типо такого:

```1c
    Для Каждого ПодчиненныйЭлемент Из ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы Цикл

    Если ПодчиненныйЭлемент.Имя = "Печать" Тогда //поставить имя какое нужно
    ПодчиненныйЭлемент.Видимость = Истина;
    Иначе
    ПодчиненныйЭлемент.Видимость = Ложь;
    КонецЕсли;
    КонецЦикла;
```

P.S. не проверял в конфигураторе - но по памяти должно работать )
компактный и более универсальный метод как по мне (что б не прописывать видимость ложь для новых кнопок постоянно
---
Спасибо всем, помогло только так

```1c
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[0].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[1].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[7].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[8].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[9].Видимость = Ложь;
    Этаформа.Элементы.ФормаКоманднаяПанель.ПодчиненныеЭлементы.КомандыЭДО.Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[2].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[3].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[4].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[5].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[6].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[10].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[11].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[12].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[13].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[14].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[15].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[16].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[17].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[18].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[19].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[20].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[21].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[22].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[23].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[24].Видимость = Истина;//печать
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[25].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[26].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[27].Видимость = Ложь;
```
---
Ну во первых убрать Автозаполнение в свойствах командной панели..Возможно уберете все что нужно, А так многие кнопки добавляются программно
В при создании на сервере

```1c
    // СтандартныеПодсистемы.ПодключаемыеКоманды
    ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
    // Конец СтандартныеПодсистемы.ПодключаемыеКоманды
    // ИнтеграцияС1СДокументооборотом
    ИнтеграцияС1СДокументооборот.ПриСозданииНаСервере(ЭтаФорма);
    // Конец ИнтеграцияС1СДокументооборотом
```
---
отключил авто заполнение создал на сервере, результат тот же понять не могу почему эдо кнопку видит а остальные нет ?
---
кнопки Пройтись в цикле по элементам формы и кого родитель = Элементы.ФормаКоманднаяПанель, т.е. относятся элемент к данной командной панели. Сделать рекурсию, и получить вложенности. И уже выбирать, что нужно спрятать, что нет – прятать видимость.

...
МассивПодчин = новый Массив; // можно дерево сделать
ПолучитьВсеПодчин(Элементы.ФормаКоманднаяПанель, МассивПодчин)
...

Процедура ПолучитьВсеПодчин(Родитель, МассивЭлементов)
Для Каждого Элем из Элементы Цикл
 Если Элем.Родитель = Родитель тогда
            МассивЭлементов.Добавить(Элем);
            ПолучитьВсеПодчин(Элем, МассивЭлементов);
 КонецЕсли;
КонецЦикла;
КонецПроцедуры;
---
Почему так сложно ? проще нельзя например элемент.видимость = ложь ?
---
так я же написала менять видимость, т.е. имела ввиду - элемент.видимость = ложь. а алгоритм я описала выше как получить программно все кнопки командной панели(с учетом всех вложенностей), решила вам это тоже требуется..
---
Извините за очень глупый вопрос я добавил процедуру а дальше с этим
```1c
    ПолучитьВсеПодчин(Элем, МассивЭлементов);
```
 что делать ?
---
разные вариант могут быть. к примеру, вы знаете кнопки которые надо оставить точный перечень, точно знаете их наименование. создать их список, и если получаемые кнопки не в списке, то скрываете видимость. т.е. не создаете массив, а пряма в процедуре, если полученный элемент не в списке, то прячете его видимость.
--
СписокНужных= новый Список; // добавляете элементы, группы если подменю к пример целое надо оставить(т.е. не надо все элементы подменю перечислять)
...
ПолучитьВсеПодчин(Элементы.ФормаКоманднаяПанель, СписокНужных)
...

Процедура ПолучитьВсеПодчин(Родитель, СписокНужных)

 Для Каждого Элем из Элементы Цикл
  Если Элем.Родитель = Родитель тогда
   Если СписокНужных.НайтиПоЗначению(Элем) = Неопределено тогда
    Элем.видимость = Ложь;
   Иначе
    ПолучитьВсеПодчин(Элем, МассивЭлементов);
   КонецЕсли;
  КонецЕсли;
 КонецЦикла;

КонецПроцедуры;
---
при
```1c
    Элем.Видимость = Ложь;
```
 выдало ошибку
---
не знаю я без отладки писала выше, на обработке вот попробовала все ок.. как вариант может не все виды элементов можно спрятать, можно виды эти пропустить прописать, а можно прще, через попытку сделать)

 СписокНужных = новый СписокЗначений;
 ПолучитьВсеПодчин(ЭтаФорма, СписокНужных);

КонецПроцедуры

&НаСервере
Процедура ПолучитьВсеПодчин(Родитель, СписокНужных)

 Для Каждого Элем из Элементы Цикл
  Если Элем.Родитель = Родитель тогда
   Если СписокНужных.НайтиПоЗначению(Элем) = Неопределено тогда
    Попытка
     Элем.видимость = Ложь;
    Исключение
    КонецПопытки;
   Иначе
    ПолучитьВсеПодчин(Элем, СписокНужных);
   КонецЕсли;
  КонецЕсли;
 КонецЦикла;

КонецПроцедуры
---
Для начала надо найти имя группы кнопок через формаКоманднаяПанел.ПодчиненныеЭлемент (вроде так) с помощью отладчика. А дальше аналогично с помощью отладчика смотрите что у этой группы в подчиненных и устанавливаете видимость у них.
---
```1c
    Этаформа.Элементы.ФормаКоманднаяПанель.ПодчиненныеЭлементы.
```
 вот весь список выдаёт тоньше настроить не получается, а может влиять что форма находиться в расширении ?
---
Вот... Нашли. Теперь пишем Элементы.КомандыЭДО.ПОдчинекнныеЭлементы. Что там?
---
Настройка отображения
---
Нет. В отладчике пишем именно так, как я указал. У Элементы.КомандыЭО не может быть подчиненным КомандыЭДО
---
вот у меня так
---
Но вопрос в том почему не показывает остальные кнопки кроме ЭДО ?
---
Потому что искомые кнопки принадлежат ЭДО, а не командной панели.
(10) Я просил Вас показать в отладке Элементы.КомандыЭДО. А не через подчиненные к командной панели.
Кроме того, покажите в каком месте вы поставили точку останова. Надеюсь, в конце процедуры "При создании на сервере"?
---
ЭДО я выключил
```1c
    Этаформа.Элементы.ФормаКоманднаяПанель.ПодчиненныеЭлементы.КомандыЭДО.Видимость = Ложь;
```
 кнопки остались.

Выключил записать и закрыть, записать

```1c
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[0].Доступность = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[1].Доступность = Ложь;
```

 но вот другие не могу хочу оставить одну печать. На индекс[3] выше не реагирует.
---
Прислушайтесь к совету в (7), команды ЭДО создаются программно. Достаточно переопределить в расширении процедуру их создания. Например, в БП 3.0 в ПриСозданииНаСервере формы списка документов ПоступлениеТоваровУслуг есть код
```1c
    // Подсистема "ОбменСКонтрагентами".
    ОбменСКонтрагентамиБП.КомандыЭДО_ФормаСписка(ЭтотОбъект);
    // Конец подсистема "ОбменСКонтрагентами".
```
добавляющий команды ЭДО. В расширение можно добавить процедуру ОбменСКонтрагентамиБП.КомандыЭДО_ФормаСписка, в которой препятствовать созданию команд, если это наша форма:
```1c
    &Вместо("КомандыЭДО_ФормаСписка")
    Процедура Доработка_КомандыЭДО_ФормаСписка(Форма)
    Если Форма.ИмяФормы = "Документ.ПоступлениеТоваровУслуг.Форма.ФормаСписка" Тогда
    Возврат
    КонецЕсли;
    ПродолжитьВызов(Форма);
    КонецПроцедуры
```
---
Спасибо всем, помогло только так

```1c
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[0].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[1].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[7].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[8].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[9].Видимость = Ложь;
    Этаформа.Элементы.ФормаКоманднаяПанель.ПодчиненныеЭлементы.КомандыЭДО.Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[2].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[3].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[4].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[5].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[6].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[10].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[11].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[12].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[13].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[14].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[15].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[16].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[17].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[18].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[19].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[20].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[21].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[22].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[23].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[24].Видимость = Истина;//печать
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[25].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[26].Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы[27].Видимость = Ложь;
```
---
а в цикле не лучше ? что-то типо такого:

```1c
    Для Каждого ПодчиненныйЭлемент Из ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы Цикл

    Если ПодчиненныйЭлемент.Имя = "Печать" Тогда //поставить имя какое нужно
    ПодчиненныйЭлемент.Видимость = Истина;
    Иначе
    ПодчиненныйЭлемент.Видимость = Ложь;
    КонецЕсли;
    КонецЦикла;
```

P.S. не проверял в конфигураторе - но по памяти должно работать )
компактный и более универсальный метод как по мне (что б не прописывать видимость ложь для новых кнопок постоянно
---
Я удалил так:

&НаСервере

 Для Каждого Тек ИЗ ЭтаФорма.Элементы.ПРОФ_ВоспроизвестиЗапись.ПодчиненныеЭлементы Цикл
  ЭтаФорма.Элементы.Удалить(Тек);
 КонецЦикла;
---
А можно проще:

```1c
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы.ФормаПровестиИЗакрыть.Видимость = Ложь;
    ЭтотОбъект.КоманднаяПанель.ПодчиненныеЭлементы.ФормаПроведение.Видимость = Ложь;
```

и все
---
и все Если бы...

Екатерина, а как будет правильно звучать ваш ник, если прочитать его по-русски? А то я попытался... и мне стало неловко. ;-)
---
а что не так? прекрасно работает на форме документа.
чтобы не было неловко, читайте на английском букву "j" в моем нике))))