|
v8: УФ. Загляните в темку, есть вопрос | ☑ | ||
---|---|---|---|---|
0
ptrtss
05.05.12
✎
17:56
|
&НаСервере
Процедура ДобавитьКнопку(НомерКнопки) ИмяКнопки = "Кнопка"+НомерКнопки; ЗаголовокКнопки = "Кнопка №"+НомерКнопки; НоваяКоманда = Команды.Добавить(ИмяКнопки); НоваяКоманда.Действие = "Кнопка"; НоваяКоманда.Заголовок = ЗаголовокКнопки; НоваяКоманда.ИзменяетСохраняемыеДанные = ИСТИНА; НоваяКнопка = Элементы.Добавить(ИмяКнопки, Тип("КнопкаФормы"), Элементы.Кнопки); НоваяКнопка.ИмяКоманды = ИмяКнопки; КонецПроцедуры &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) ЗаполнитьЗначенияСвойств(Запись, Параметры.ЗначенияЗаполнения); Для н = 1 по 5 Цикл ДобавитьКнопку(н); КонецЦикла; КонецПроцедуры &НаКлиенте Процедура Кнопка(Команда) ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// //// ОШИБКА ЧТЕНИЯ Команда.Заголовок. Вроде не сказано что свойство доступно только на сервере. Почему так? //// Как быть чтобы такой ошибки не возникало? ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// Сообщить(Команда.Заголовок); КонецПроцедуры |
|||
1
Wobland
05.05.12
✎
18:06
|
а заголовок что, у команды? вроде ж у кнопки всегда было
|
|||
2
svent0vit
05.05.12
✎
18:06
|
Посмотри в отладчике тип значения параметра "Команда"
|
|||
3
ptrtss
05.05.12
✎
18:11
|
(2) КомандаФормы. КомандаФормы.Заголовок отображается в качестве заголовка связанной с ней кнопки, если у кнопки не указан свой. Свойство можно задать только на сервере, но оно доложно быть доступно на клиенте
|
|||
4
ptrtss
05.05.12
✎
18:12
|
(3) это и для (1) тоже
|
|||
5
m-serg74
05.05.12
✎
18:26
|
КомандаФормы (FormCommand)
Заголовок (Title) Использование: Чтение и запись. Описание: Тип: Строка. Содержит отображаемый текст команды. Доступность: Сервер. Примечание: Изменение доступно только на сервере. |
|||
6
m-serg74
05.05.12
✎
18:31
|
кстати а чем Команда.Имя не подходит?
|
|||
7
ptrtss
05.05.12
✎
18:50
|
>> Доступность: Сервер
Да, банально "смотрю в книгу - вижу фигу", спасибо) |
|||
8
ptrtss
05.05.12
✎
18:51
|
(6)
Да, я ж учусь пока, пытаюсь выяснить все за что глаз цепляется, низачем |
|||
9
ptrtss
05.05.12
✎
18:52
|
Теперь вот так:
&НаСервере Процедура КнопкаНаСервере(ИмяКоманды) Команда = Команды[ИмяКоманды]; Сообщить(Команда.Заголовок); КонецПроцедуры &НаКлиенте Процедура Кнопка(Команда) КнопкаНаСервере(Команда.Имя); КонецПроцедуры |
|||
10
m-serg74
05.05.12
✎
18:57
|
(8) я не подкалываю... сам если честно мало чего с УФ делал, просто на самом деле вроде как не логично Кнопка - без заголовка, хотя это графика для пользователя, а команда которая по сути пользователю не видна - с заголовком...
|
|||
11
ptrtss
05.05.12
✎
19:01
|
(10) Ну, мне нечего ответить, заголовок там низачем, просто по ходу обучения наткнулся на проблемку и решил разобраться, сам по себе он мне нафик не нужен. Хотя... Кнопка не передается в обработчик команды, а команда передается. Поскольку одна кнопка обрабатывает несколько команд, вдруг мне захочется сообщать что-то вроде "Действие %1 не выполнено", вот я красиво с пробелами и сообщу
|
|||
12
m-serg74
05.05.12
✎
19:03
|
а если две кн. одну команду выполняют?
|
|||
13
ptrtss
05.05.12
✎
19:11
|
(12) Ну дык команда то одна, значит пользователь хочет сделать одно и то же до единой детальки. Тем более что кнопка в команду даже не сможет передать никаких особых деталек и даже себя родимую не сможет передать
|
|||
14
m-serg74
05.05.12
✎
19:13
|
Процедура Кнопка(Команда)
по моему (Команда) - сюда передается имя того кто ее вызвал, не? |
|||
15
a_alenkin
05.05.12
✎
19:15
|
Сообщить(Команда)
тебе и даст "Кнопка..." - что нажмешь |
|||
16
a_alenkin
05.05.12
✎
19:16
|
будет один обработчик кнопка()
а команда и будет имя команды содержать |
|||
17
m-serg74
05.05.12
✎
19:17
|
(15) нет там будет "Кнопка1" например, а вот по имени "Кнопка1" можно найти эту кнопку, и узнать какой у нее заголовок, "например Кнопка №1"
|
|||
18
m-serg74
05.05.12
✎
19:18
|
а может я не шарю)))
|
|||
19
a_alenkin
05.05.12
✎
19:19
|
(17)
А я чо говорю - нажмет "кнопка1" - в обработчике будет Команда = "Кнопка1" и т.д. |
|||
20
a_alenkin
05.05.12
✎
19:20
|
в отладчике останови любую команду и посмотри чему равно значение "Команда"
|
|||
21
ptrtss
05.05.12
✎
19:24
|
Вот, глядите еще раз
НоваяКоманда = Команды.Добавить(ИмяКнопки); НоваяКоманда.Действие = "Кнопка"; НоваяКоманда.Заголовок = ЗаголовокКнопки; НоваяКоманда.ИзменяетСохраняемыеДанные = ИСТИНА; НоваяКнопка = Элементы.Добавить(ИмяКнопки, Тип("КнопкаФормы"), Элементы.Кнопки); НоваяКнопка.ИмяКоманды = ИмяКнопки; Кнопка инициирует команду, команда инициирует обрабочик и передает себя туда В моем случае кнопки и команды называются одинаково и команды тоже называются Кнопка1, Кнопка2. Но если мы допускаем что кнопки две, а команда одна, то в обработчике команды будет доступна только команда, которая одна, а какая кнопка запустила команду - уже не узнаешь |
|||
22
a_alenkin
05.05.12
✎
19:28
|
ОСТАНОВИ ОБРАБОТЧИК И ПОСМОТРИ ЧЕМУ РАВНА КОМАНДА
|
|||
23
ptrtss
05.05.12
✎
19:30
|
Команда равна объекту КомандаФормы, ассоциированному с кнопкой
|
|||
24
m-serg74
05.05.12
✎
19:30
|
(23) почитай правила форума...
|
|||
25
a_alenkin
05.05.12
✎
19:31
|
у меня мозг уже вынесен)))
|
|||
26
m-serg74
05.05.12
✎
19:31
|
все уже давно посмтрели и без твоих криков))) экспериментируем, просто...
может пивка))) |
|||
27
ptrtss
05.05.12
✎
19:32
|
(26) Ну вот, зачем про пивко сказал, в Новосибе то уже 22:30(((
|
|||
28
ptrtss
05.05.12
✎
19:33
|
Щютка, ок все))
|
|||
29
m-serg74
05.05.12
✎
19:36
|
)))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |