|
Изучаю программирование. Что прочесть, чтобы сделать управляемую форму с компоне | ☑ | ||
---|---|---|---|---|
0
vermazar
07.06.16
✎
09:33
|
Изучаю программирование. Что прочесть, чтобы сделать управляемую форму с компонентами, создаваемыми программно?
Задавал вопросы на тостере: https://toster.ru/q/318126 https://toster.ru/q/323642 https://toster.ru/q/325805 Почему я неправильно задаю вопросы? Как правильно задать вопросы, чтобы ответили? Что я сделал: 1. Создал чистую конфигурацию 2. Создал обработку 3. Создал форму 4. Внес в модуль формы код отсюда v8: Програмное создание кнопок на управляемой форме и добавил команду и кнопку СоздатьКнопки: &НаСервере Процедура СоздатьПолеКнопок() ГруппаКнопок = Элементы.ГруппаКнопок; Для ии = 0 по 9 Цикл ИмяГруппы = "ГруппаКнопок"+ии; НоваяГруппа = Элементы.Добавить(ИмяГруппы, Тип("ГруппаФормы"), ГруппаКнопок); НоваяГруппа.Вид = ВидГруппыФормы.ОбычнаяГруппа; НоваяГруппа.Группировка = ГруппировкаПодчиненныхЭлементовФормы.Горизонтальная; НоваяГруппа.ОтображатьЗаголовок = Ложь; Для йй = 0 по 9 Цикл ИмяКнопки = "Кнопка"+(ии*10+йй); НоваяКнопка = Элементы.Добавить(ИмяКнопки, Тип("КнопкаФормы"), НоваяГруппа); НоваяКнопка.Вид = ВидКнопкиФормы.ОбычнаяКнопка; НоваяКнопка.Заголовок = Прав("0"+(ии*10+йй),2); НоваяКнопка.ИмяКоманды = "КомандаДляКнопок"; КонецЦикла; КонецЦикла; КонецПроцедуры &НаКлиенте Процедура СоздатьКнопки(Команда) СоздатьПолеКнопок(); КонецПроцедуры &НаКлиенте Процедура КомандаДляКнопок(Команда) Кнопка = ЭтаФорма.ТекущийЭлемент; Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Нажата "+Кнопка.Имя; Сообщение.Сообщить(); КонецПроцедуры 5. Сохранил конфигурацию, обновил конфигурацию базы данных 6. Начал отладку. 7. Открыл созданную обработку - там нет ничего, пустота, только крестик и кнопка еще. Что я делаю не так? |
|||
1
НубВ1С8
07.06.16
✎
09:36
|
В конфигураторе смотри сервис - параметры - общие что указано?
|
|||
2
itlikbez
07.06.16
✎
09:39
|
(0) Еще нужен обработчик события (создание или открытие формы), который будет вызывать твое создание кнопок.
|
|||
3
В тылу врага
07.06.16
✎
09:44
|
||||
4
В тылу врага
07.06.16
✎
09:45
|
(0) наверное не нажал кнопку
|
|||
5
singlych
07.06.16
✎
09:45
|
Сначала создай команду формы, навесь на нее обработчик (который у тебя называется "КомандаДляКнопок"), и ее в кнопке в ИмяКоманды указывай.
|
|||
6
vermazar
07.06.16
✎
13:21
|
Я в документации обработчика события открытия и создания формы не нашел.
ПриОткрытии ничего не делает. |
|||
7
Nuobu
07.06.16
✎
13:27
|
(6) Команда "СоздатьКнопки" вынесена на форму?
|
|||
8
vermazar
07.06.16
✎
13:51
|
Вынесена.
|
|||
9
vermazar
07.06.16
✎
13:53
|
Создавал команду форму, навешивал обработчик.
Не дало. |
|||
10
EugeniaK
07.06.16
✎
14:06
|
Генерация кода управляемой формы (декомпиляция элементов)
http://catalog.mista.ru/public/304736/ |
|||
11
vermazar
07.06.16
✎
19:07
|
Если делать по ссылке http://1c-programmer-blog.ru/programmirovanie/programmnoe-sozdanie-elementov-formy-v-upravlyaemom-prilozhenii.html, то не выводит сообщение.
Если делать как в вопросе, то "Поле объекта не обнаружено (ГруппаКнопок)" |
|||
12
vermazar
07.06.16
✎
22:07
|
Если создать обычную группу ГруппаКнопок:
{Обработка.Обработка1.Форма.Форма.Форма(16)}: Ошибка при установке значения атрибута контекста (ИмяКоманды) НоваяКнопка.ИмяКоманды = "КомандаДляКнопок"; по причине: Недопустимое значение |
|||
13
NecroDog
07.06.16
✎
23:14
|
Скопировал код в модуль формы.
Добавил две команды, вывел их на форму, добавил группу. http://i77.fastpic.ru/big/2016/0608/8c/7cc79e2cd9e64ce5bed2c7489d82358c.jpg Для обеих команд назначил соответствующие обработчики: http://i79.fastpic.ru/big/2016/0608/49/dfe5713e88bc29ff50d3b50a7730d349.jpg Все работает. http://i80.fastpic.ru/big/2016/0608/46/4455a5a698f6f01a59873184a6248d46.jpg |
|||
14
vermazar
08.06.16
✎
06:45
|
Понял ошибку. Я не добавлял команду "КомандаДляКнопок"
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |