|
1с8.3. УФ. Группа кнопок "Печать". Как создать программно? | ☑ | ||
---|---|---|---|---|
0
Альберт_Уфа
13.01.15
✎
13:33
|
Приветствую.
Создал программно на форме группу кнопок, кнопки печати с наименованием соответствующего макета. Есть одна процедура печать, макеты разные. Как вызвать одну процедуру из разных команд и передать название макета? |
|||
1
Альберт_Уфа
13.01.15
✎
14:07
|
как вообще выполнить команду, если ее наименование определяется программно? в каком месте нужно создать эту команду?
|
|||
2
Альберт_Уфа
13.01.15
✎
15:05
|
подскажите, плизз
|
|||
3
Fish
13.01.15
✎
15:06
|
В типовых посмотри. Там команды печати обычно именно программно размещают.
|
|||
4
Zamestas
13.01.15
✎
15:07
|
(0) Прописать в кнопки вызов одной процедуры, в которой посмотреть кто её вызвал не предлагать?
|
|||
5
vicof
13.01.15
✎
15:08
|
Группу команд не предлагать?
|
|||
6
Альберт_Уфа
13.01.15
✎
15:09
|
(4) а где именно в кнопке прописывается вызов процедуры? там указана команда.
|
|||
7
Альберт_Уфа
13.01.15
✎
15:09
|
(5) как это?
|
|||
8
vicof
13.01.15
✎
15:12
|
В типовых раньше было, щас хз.
Ветка общие - группа команд. Потом команду в документе помещаешь в эту группу |
|||
9
Альберт_Уфа
13.01.15
✎
15:21
|
"списал" с типовой:
Для Каждого ОписаниеКомандыПечати Из КомандыПечати Цикл НомерКоманды = ОписаниеКомандыПечати.Владелец().Индекс(ОписаниеКомандыПечати); ИмяКоманды = МестоРазмещенияКоманд.Имя + "КомандаПечати" + НомерКоманды; КомандаФормы = Форма.Команды.Добавить(ИмяКоманды); КомандаФормы.Действие = "ВыполнитьКомандуПечати"; КомандаФормы.Заголовок = ОписаниеКомандыПечати.Представление; КомандаФормы.ИзменяетСохраняемыеДанные = Ложь; КомандаФормы.Отображение = ОтображениеКнопки.КартинкаИТекст; НовыйЭлемент = Форма.Элементы.Добавить(МестоРазмещенияКоманд.Имя + ИмяКоманды, Тип("КнопкаФормы"), МестоРазмещенияКоманд); НовыйЭлемент.Вид = ВидКнопкиФормы.КнопкаКоманднойПанели; НовыйЭлемент.ИмяКоманды = ИмяКоманды; КонецЦикла; в каком месте нужно прописать выполнение этих команд? никак не могу понять. нажимаю на кнопку печати и ничего не происходит. |
|||
10
Fish
13.01.15
✎
15:30
|
(9) В Документообороте это в модуле менеджера, в процедуре "печать". Ну и обработчики самих команд ещё нужно создать.
У тебя же написано: КомандаФормы.Действие = "ВыполнитьКомандуПечати"; Вот эта процедура и выполняется. |
|||
11
Альберт_Уфа
13.01.15
✎
15:44
|
(10) у меня есть такая процедура в модуле менеджера, но она не стартуется. смотрю в типовой БП, там нет ни команды ни процедуры ВыполнитьКомандуПечати
|
|||
12
Fish
13.01.15
✎
15:46
|
(11) Такая процедура должна быть в модуле формы, раз уж она выполняется по нажатию кнопки в форме. А уже оттуда идёт далее.
|
|||
13
Fish
13.01.15
✎
15:48
|
+(12) Это про "ВыполнитьКомандуПечати". БП нет под рукой, не знаю, как там сейчас реализовано.
|
|||
14
Zamestas
13.01.15
✎
15:48
|
(6) Все верно - в команде вызывается процедура - у меня в нетленке есть подобный код - доберусь отпишу.
(11) А это не общая команда ? |
|||
15
Альберт_Уфа
13.01.15
✎
16:07
|
(14) 1. спасибо.
2. нет, проверил. |
|||
16
Альберт_Уфа
13.01.15
✎
16:07
|
(12) нет такой процедуры ни в модуле формы, ни в модуле менеджера, ни в модуле объекта. (
|
|||
17
Fish
13.01.15
✎
16:17
|
(16) Поэтому, наверное у тебя ничего и не происходит. Ибо в СП сказано:
"КомандаФормы (FormCommand) Действие (Action) Использование: Чтение и запись. Описание: Тип: Строка. Содержит имя процедуры обработчика команды. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, мобильное приложение(клиент), мобильное приложение(сервер). Примечание: Изменение доступно только на сервере. КомандаФормы (FormCommand) Действие (Action) Использование: Чтение и запись. Описание: Тип: Строка. Содержит имя процедуры обработчика команды. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, мобильное приложение(клиент), мобильное приложение(сервер). Примечание: Изменение доступно только на сервере." |
|||
18
Альберт_Уфа
13.01.15
✎
16:32
|
Спасибо. Разобрался. В модуле формы нужна процедура "ВыполнитьКомандуПечати"
В типовой БП есть процедура, просто я переименовал у себя и в БП искал процедуру с моим наименованием. тупанул короче. Всем спасибо!!! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |