Здравствуйте.
Типовая конфа на БСП. Общая форма: ФормаОтчета.
Пытаюсь в ПриСозданииНаСервере добавить программно команду и кнопку для нее на командную панель, но кнопки не вижу, но, при отладке видно, что кнопка создалась и присутствует в коллекции элементов и имеет такие же свойства, как любая другая кнопка на ком. панеле.

Вопрос: почему она не видна?

```1c
    Команда = Команды.Добавить("ИмяНужнойКоманды");
    Команда.Действие = Команда.Имя;

    Элемент = Элементы.Добавить(Команда.Имя, Тип("КнопкаФормы"), Элементы["ОсновнаяКоманднаяПанель"]);
    Элемент.Заголовок = "Нужная кнопка";
    Элемент.Вид = ВидКнопкиФормы.КнопкаКоманднойПанели;
    Элемент.ИмяКоманды = Команда.Имя;
    Элемент.ТолькоВоВсехДействиях = Ложь;
    Элемент.Пометка = Ложь;
    Элемент.Видимость = Истина;
```
---
в принципе такого кода должно быть достаточно:

```1c
    Команда = Команды.Добавить("ИмяНужнойКоманды");
    Команда.Действие = Команда.Имя;

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

Что подписка какая-то удалила, сейчас буду смотреть...

Почему?
---
Подписок нет никаких.
---
А обработчик на клиенте прописан?

```1c
    &НаКлиенте
    Процедура ИмяНужнойКоманды(Команда)
    ...
    КонецПроцедуры
```
---
Все есть. Проверил, только удаляется само. В ПриОткрытии уже нет ни кнопки ни команды.
ПриСозданииНаСервере все есть.

Пока временно перенес код создания кнопки в ПриОткрытии - работает - но не нравиться такой варинт.
Хотелось бы понять, почему удаляется.
---
стандартный обработчик "ПриОбновленииСоставаПользовательскихНастроекНаСервере".
В нем идет динамическое формирование элементов и команд: "БыстрыеНастройкиУдалитьСтарыеЭлементыИКоманды"
В свою очередь далее: "БыстрыеНастройкиУдалитьСтарыеЭлементыИКоманды"
Где удаляются все "ненужные" команды, в т.ч. и подключенная программно.
---
в продолжении вышесказанного. Чтобы команда не удалялась, ее нужно еще включить в список значений "ПостоянныеКоманды".
---
Спасибо!!
ПостоянныеКоманды и ПостоянныеРеквизиты вижу.

А постоянных элементов нет?

Все рано придется влазить в код и пересоздавать его каждый раз или как?
---
в принципе такого кода должно быть достаточно:

```1c
    Команда = Команды.Добавить("ИмяНужнойКоманды");
    Команда.Действие = Команда.Имя;

    Элемент = Элементы.Добавить(Команда.Имя, Тип("КнопкаФормы"), Элементы["ГруппаГлавное"]);
    Элемент.Заголовок = "Нужная кнопка";
    Элемент.Вид = ВидКнопкиФормы.КнопкаКоманднойПанели;
    Элемент.ИмяКоманды = Команда.Имя;
    //Элемент.ТолькоВоВсехДействиях = Ложь;
    Элемент.Пометка = Ложь;
    Элемент.Видимость = Истина;
    ПостоянныеКоманды.Добавить(Команда.Имя);
```
---
Спасибо, заработало!
---
Автозаполнение не стоит?