|
Ошибка при программном создании кнопки (УФ) |
☑ |
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) Да, вы правы. Только после вашего поста досмотрел. Спасибо огромное.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший