Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
13 дек 2024, 20:42

Мастер в 1С

Автор Wallesss, 19 апр 2024, 22:24

0 Пользователей и 1 гость просматривают эту тему.

Wallesss

Здравствуйте, возник вопрос, касающийся программной реализации интерфейса пользователя в управляемой форме.
Мастер (англ. Wizard — волшебник) — приём построения пользовательских интерфейсов, при котором для совершения какого-то действия пользователю необходимо последовательно пройти несколько форм, содержащих небольшое количество элементов управления. Применяется при установке и начальной настройке программ.

Вопрос: есть ли возможность реализовать (желательно только с использованием языка программирования 1С) несколько форм, связанных между собой кнопками "Далее" и "Назад" и содержащих различные элементы интерфейса? Для решения данной задачи подойдут слои, панели или страницы?

Wallesss

Похоже, панели накрываются...

панель.png

Wallesss

&НаСервере
Процедура Мастер()
    ГруппаСтраниц = ЭтаФорма.Элементы.Вставить("ГруппаСтраницы", Тип("ГруппаФормы"),ЭтаФорма);
    ГруппаСтраниц.Вид = ВидГруппыФормы.Страницы;
    ГруппаСтраниц.ОтображениеСтраниц = ОтображениеСтраницФормы.ЗакладкиСверху;
    ГруппаСтраниц.ОтображениеСтраниц = ОтображениеСтраницФормы.Нет;
    ГруппаСтраниц.РастягиватьПоГоризонтали = ИСТИНА;
   
    СтраницаТовары = ЭтаФорма.Элементы.Добавить("СтраницаТовары", Тип("ГруппаФормы"),ГруппаСтраниц);
    СтраницаТовары.Вид = ВидГруппыФормы.Страница;
    СтраницаТовары.Заголовок = "Товары";
   
    СтраницаДополнительно = ЭтаФорма.Элементы.Добавить("СтраницаДополнительно", Тип("ГруппаФормы"),ГруппаСтраниц);
    СтраницаДополнительно.Вид = ВидГруппыФормы.Страница;
    СтраницаДополнительно.Заголовок = "Дополнительно";
   
    НовыйЭлемент2 = Элементы.Добавить("НоваяНадпись",Тип("ДекорацияФормы"),СтраницаДополнительно);
    НовыйЭлемент2.Заголовок = "НоваяНадпись2";
   
    НовыйЭлемент3 = Элементы.Добавить("НоваяНадпись2",Тип("ДекорацияФормы"),СтраницаТовары);
    НовыйЭлемент3.Заголовок = "НоваяНадпись1";
   
    Кмд = ЭтаФорма.Команды.Добавить("Команда1");
    Кмд.Действие = "НажатиеКнопки";
    Кмд.Заголовок = "Переход";
   
    Элемент = ЭтаФорма.Элементы.Добавить("Кнопка1", Тип("КнопкаФормы"), СтраницаТовары);
    Элемент.Вид = ВидКнопкиФормы.ОбычнаяКнопка;
    Элемент.ИмяКоманды = "Команда1";
КонецПроцедуры

&НаКлиенте
Процедура НажатиеКнопки()
    ЭтаФорма.Элементы.<ГруппаСтраницы>.ТекущаяСтраница = ЭтаФорма.Элементы.<СтраницаДополнительно>; //?
КонецПроцедуры

Как из процедуры "НажатиеКнопки" получить доступ к элементам формы "ГруппаСтраницы" и "СтраницаДополнительно"?

Wallesss

&НаКлиенте
Процедура НажатиеКнопки()
    ЭтаФорма.Элементы["ГруппаСтраницы"].ТекущаяСтраница = ЭтаФорма.Элементы["СтраницаДополнительно"];
КонецПроцедуры

Оказывается, я имя элемента формы не в том свойстве указывал. :befhbt:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск