Имя: Пароль:
1C
1С v8
Ошибка при программном создании кнопки (УФ)
0 bplmeddy
 
14.09.18
14:19
Доброго времени суток.

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

        // создадим команду
    НоваяКоманда = Команды.Добавить("НоваяКомандаНомер1"); // Имя нашей команды
    НоваяКоманда.Заголовок  = "Hello world!"; // заголовок
    НоваяКоманда.Подсказка  = "Псс... ) Hello world!";
    НоваяКоманда.Действие   = "ВыполнитьДействиеНовойКоманды"; // Имя функции/процедуры
    
    // создадим кнопку
    НовыйЭлемент = Элементы.Добавить(
        "НоваяКнопкаНаФорме",   // Первый параметр - имя кнопки
        Тип("КнопкаФормы"), // Второй параметр - тип элемента управления
        Элементы.ГруппаКнопка// Третий параметр - место расположения на форме
        );
    НовыйЭлемент.Вид    = ВидКнопкиФормы.КнопкаКоманднойПанели; // вид кнопки
    НовыйЭлемент.Заголовок  = "Hello world!";
    НовыйЭлемент.ИмяКоманды = "НоваяКомандаНомер1";

Данный код вызывается в обработке события ПриСозданииНаСервере. Но вместо кнопки я получаю ошибку:

Ошибка при вызове метода контекста (Добавить)
    НоваяКоманда = Команды.Добавить("НоваяКомандаНомер1"); // Имя нашей команды
по причине:
Имя не уникально

Что я делаю не так ? Помогите пожалуйста.
1 bolobol
 
14.09.18
14:25
Имя неуникальное задаёте. Ваш КО.
2 bplmeddy
 
14.09.18
14:29
(1) Кеп!

А если серьезно: уникальность названия команды проверяется в каком диапазоне ? Так как в данной обработке нет такой команды Для прикола уже писал километровое название содержащее нецензурную брань, итог тот-же. Так что здесь скорее всего что-то другое.
3 bplmeddy
 
14.09.18
14:40
Никто с подобным не сталкивался ?
4 bolobol
 
14.09.18
15:17
(2) Так-то полно не отвечу, но глобальные команды однозначно доступны для проверки.
5 1sanekmaloi1
 
14.09.18
15:39
УправляемаяФорма (ManagedForm)
Команды (Commands)
Использование:

Только чтение.
Описание:

Тип: КомандыФормы.
Содержит коллекцию команд формы
6 Пуля
 
14.09.18
15:43
Если Форма.ИмяФормы = "Документ.РеализацияТоваровУслуг.Форма.ФормаСписка" Тогда
        
        НоваяКоманда = Форма.Команды.Добавить("ЗаполнитьИзВнешнегоФайла");
        НоваяКоманда.Действие = "Подключаемый_ВыполнитьПереопределяемуюКоманду";
        НоваяКоманда.Заголовок = "Импорт";
        НоваяКоманда.Отображение = ОтображениеКнопки.КартинкаИТекст;
        НоваяКоманда.Картинка = БиблиотекаКартинок.ЗагрузитьXMLФайлВИнформационнуюБазу;
        НовыйЭлементФормы = Форма.Элементы.Вставить("ЗаполнитьИзВнешнегоФайлаКоманднаяПанель", Тип("КнопкаФормы"),
        Форма.Элементы.ГруппаКоманднаяПанель);
        НовыйЭлементФормы.Видимость = Истина;
        НовыйЭлементФормы.Доступность = Истина;
        НовыйЭлементФормы.ИмяКоманды = "ЗаполнитьИзВнешнегоФайла";
7 1sanekmaloi1
 
14.09.18
15:50
(5) Отбой.Походу СП кривой.

Код из (0) рабочий.
И он походу просто вызывается дважды.
8 bplmeddy
 
14.09.18
16:48
(7) Да, вы правы. Только после вашего поста досмотрел. Спасибо огромное.