|
Как добавить кнопку с командой программно? | ☑ | ||
---|---|---|---|---|
0
Мисти
22.10.15
✎
21:25
|
Элемент = ЭтаФорма.Элементы.Добавить("Кос_СтатусДоговора", Тип("ПолеФормы"),ГруппаЭлементыКос);
Элемент.ПутьКДанным = "Объект.Кос_Собственник.ДоговорКонтрагента"; Элемент.Вид = ВидПоляФормы.ПолеНадписи; Элемент.Гиперссылка = Истина; Вот в таком стиле? |
|||
1
Shrek_yar
22.10.15
✎
21:31
|
&НаКлиенте
Процедура СоздатьКнопку(Команда) СоздатьКнопкуНаСервере(); КонецПроцедуры &НаСервере Процедура СоздатьКнопкуНаСервере() //Добавляем форме команду Кмд = ЭтаФорма.Команды.Добавить("Команда1"); Кмд.Действие = "Тест"; Кмд.Заголовок = "Тест"; //Добавляем саму кнопку Элемент = ЭтаФорма.Элементы.Добавить("Кнопка1", Тип("КнопкаФормы"), ЭтаФорма); Элемент.Вид = ВидКнопкиФормы.ОбычнаяКнопка; Элемент.ИмяКоманды = "Команда1"; КонецПроцедуры //Обработчик нажатия кнопки &НаКлиенте Процедура НажатиеКнопки() Сообщить("Кнопка создана программно"); КонецПроцедуры |
|||
2
Lexey_
22.10.15
✎
21:45
|
(0) код в (1) получен путем нажатия на красную Я справа от темы
|
|||
3
Мисти
22.10.15
✎
21:49
|
Ой! А у меня и так всё получилось. Оказывается, команду в форме всё равно нужно заводить, вот что мне не нравится.
|
|||
4
Garykom
гуру
22.10.15
✎
21:52
|
(3) зато можно одну команду сделать... универсальную для разных кнопок... и они будут по разному отрабатывать, смотря какую нажали...
|
|||
5
Shrek_yar
22.10.15
✎
21:57
|
(2) - да
(3) - надо, придеться. |
|||
6
Мисти
22.10.15
✎
21:59
|
Не, можно же команду не заводить в форме!
Кмд = ЭтаФорма.Команды.Добавить("Команда1"); Кмд.Действие = "Тест"; Кмд.Заголовок = "Тест"; |
|||
7
Shrek_yar
22.10.15
✎
22:00
|
Что тогда команды будет выполнять?
|
|||
8
фобка
22.10.15
✎
22:01
|
Процедура нужна все равно
|
|||
9
Shrek_yar
22.10.15
✎
22:02
|
Имя команды -> то что будет при нажатие выпоняться
|
|||
10
Shrek_yar
22.10.15
✎
22:02
|
||||
11
Shrek_yar
22.10.15
✎
22:03
|
Обработчик команды должен существовать в модуле формы и предваряться директивой компиляции &НаКлиенте.
|
|||
12
фобка
22.10.15
✎
22:03
|
(9) действие то есть. Процедура в модуле формы
|
|||
13
Мисти
22.10.15
✎
22:21
|
(11) Да, так и есть!
Теперь вторая ожидаемая проблема - надо показать старый документ по кнопке: &НаСервере Функция Кнопка1НажатиеНаСервере() ДатаДок = Дата("20"+Сред(Объект.Кос_НомерСтарогоДоговора,4,2), "01", "01"); Док = Документы.АР_ЗаключениеДоговораАренды.НайтиПоНомеру(Объект.Кос_НомерСтарогоДоговора,ДатаДок); Возврат(Док); КонецФункции &НаКлиенте Процедура Кнопка1Нажатие1(Команда) Док = Кнопка1НажатиеНаСервере(); Попытка ТекФорма = Док.ПолучитьФорму("ФормаДокумента").Открыть(); Исключение КонецПопытки; КонецПроцедуры И ни фига она не показывает. |
|||
14
Мисти
22.10.15
✎
22:44
|
Кажись, нашла.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |