Имя: Пароль:
1C
1С v8
Программное создание кнопки командной панели
,
0 Oz11
 
03.06.14
13:51
приветствую. возникла сложность в программном создании кнопки командной панели в форме документа, которая бы ссылалась на команду печати этого же документа (режим использования параметра "Множественный").
вопрос в том что когда в кнопки прописывается имя команды - вылезает ошибка, так же нет возможности заполнить свойство "Данные" созданной кнопки. кто-то сталкивался с такой проблемой?
1 butterbean
 
03.06.14
13:56
какая ошибка вылезает??
2 butterbean
 
03.06.14
13:56
код покажи
3 Oz11
 
03.06.14
14:02
ошибка о невозможности установки имени команды.
код абсолютно не интересный:
        Кнопка = Элементы.Добавить(ЭлементМассива.Имя, Тип("КнопкаФормы"), ЭлементРодитель);
        
        Кнопка.Заголовок     = ЭлементМассива.Заголовок;
        Кнопка.ИмяКоманды     = ИмяКоманды;
        Кнопка.Видимость    = ЭлементМассива.Видимость;

в ИмениКоманды содержится строка: "Документ.ПоступлениеНоменклатуры.Команда.ПриходнаяНакладная".

при установке происходит ошибка. создал кнопку руками и назначил ей команду печати - увидел что заполняется свойство "Данные" кнопки командной панели, которое пока не нашел как установить программно.
в тексте ошибки: "не верное имя команды"
4 kosts
 
03.06.14
14:10
(3) Попробуй присваивать действие, а не имя команды
5 Oz11
 
03.06.14
14:21
а какое действие я могу присвоить в данном случае? у меня ведь команда печати документа. действие находится в модуле команды.
6 Fish
 
03.06.14
14:33
(3) Пиши просто Кнопка.ИмяКоманды = "ПриходнаяНакладная"
7 Oz11
 
03.06.14
14:59
(6) нет. не работает.
8 skunk
 
03.06.14
15:02
что значит "действие находится в модуле команды"?
9 Oz11
 
03.06.14
15:06
(8) обычная команда документа. ее метод всегда находится в модуле это команды. имеется ввиду не команда формы (созданная в форме документа), а команда документа, созданная как объект метаданных в соответствующем разделе документа.
10 skunk
 
03.06.14
15:21
нехрена не понял

может ты про это

    кнКнпока = ЭлементыФормы.ОсновныеДействияФормы.Кнопки.Добавить("МояКнопка", ТипКнопкиКоманднойПанели.Действие, "Моя кнопка", Новый Действие("Печать"));
11 Fish
 
03.06.14
15:22
(9) Надо, чтобы это была команда формы, имхо.
12 skunk
 
03.06.14
15:27
(11)+100500 ... ну а из команды формы вызываешь нужную тебе из модуля
13 Oz11
 
03.06.14
15:37
ясно. печать через команду формы, в которой вызывается методы команды документа как вариант. хотя я хотел напрямую подключить глобальную параметризированную команду к созданной программно кнопке на форме. ну да ладно. всем спасибо.
2 + 2 = 3.9999999999999999999999999999999...