|
Мастер в 1С | ☑ | ||
---|---|---|---|---|
0
Wallesss
23.04.24
✎
09:39
|
Здравствуйте, возник вопрос, касающийся программной реализации интерфейса пользователя в управляемой форме.
Мастер (англ. Wizard — волшебник) — приём построения пользовательских интерфейсов, при котором для совершения какого-то действия пользователю необходимо последовательно пройти несколько форм, содержащих небольшое количество элементов управления. Применяется при установке и начальной настройке программ. Основной вопрос: есть ли возможность реализовать (желательно только с использованием языка программирования 1С) несколько форм, связанных между собой кнопками "Далее" и "Назад" и содержащих различные элементы интерфейса? Для решения данной задачи подойдут слои, панели или страницы? Используются управляемые формы. На данный момент имеется такой код: &НаСервере Процедура Мастер() ГруппаСтраниц = ЭтаФорма.Элементы.Вставить("ГруппаСтраницы", Тип("ГруппаФормы"),ЭтаФорма); ГруппаСтраниц.Вид = ВидГруппыФормы.Страницы; ГруппаСтраниц.ОтображениеСтраниц = ОтображениеСтраницФормы.ЗакладкиСверху; ГруппаСтраниц.ОтображениеСтраниц = ОтображениеСтраницФормы.Нет; ГруппаСтраниц.РастягиватьПоГоризонтали = ИСТИНА; СтраницаТовары = ЭтаФорма.Элементы.Добавить("СтраницаТовары", Тип("ГруппаФормы"),ГруппаСтраниц); СтраницаТовары.Вид = ВидГруппыФормы.Страница; СтраницаТовары.Заголовок = "Товары"; СтраницаДополнительно = ЭтаФорма.Элементы.Добавить("СтраницаДополнительно", Тип("ГруппаФормы"),ГруппаСтраниц); СтраницаДополнительно.Вид = ВидГруппыФормы.Страница; СтраницаДополнительно.Заголовок = "Дополнительно"; НовыйЭлемент2 = Элементы.Добавить("НоваяНадпись",Тип("ДекорацияФормы"),СтраницаДополнительно); НовыйЭлемент2.Заголовок = "НоваяНадпись2"; НовыйЭлемент3 = Элементы.Добавить("НоваяНадпись2",Тип("ДекорацияФормы"),СтраницаТовары); НовыйЭлемент3.Заголовок = "НоваяНадпись1"; Кмд = ЭтаФорма.Команды.Добавить("Команда1"); Кмд.Действие = "НажатиеКнопки"; Кмд.Заголовок = "Переход"; Элемент = ЭтаФорма.Элементы.Добавить("Кнопка1", Тип("КнопкаФормы"), СтраницаТовары); Элемент.Вид = ВидКнопкиФормы.ОбычнаяКнопка; Элемент.ИмяКоманды = "Команда1"; КонецПроцедуры &НаКлиенте Процедура НажатиеКнопки() ЭтаФорма.Элементы.<ГруппаСтраницы>.ТекущаяСтраница = ЭтаФорма.Элементы.<СтраницаДополнительно>; //? КонецПроцедуры Связанный вопрос: можно ли из процедуры "НажатиеКнопки" получить доступ к элементам формы "ГруппаСтраницы" и "СтраницаДополнительно"? |
|||
1
Волшебник
23.04.24
✎
09:40
|
НовыйЭлемент2.Заголовок = "НоваяНадпись2"; ... Элемент.ИмяКоманды = "Команда1"; Ваш мастер — говно. |
|||
2
Климов Сергей
23.04.24
✎
09:47
|
(0) Конечно, можно. Какие именно элементы - дело вкуса. В качестве примера можно посмотреть обработку свёртки базы в типовой 1С:Бухгалтерии.
|
|||
3
Михаил Козлов
23.04.24
✎
09:56
|
(2)+ В типовых УТ, КА обработка Формирование заказов по потребностям.
|
|||
4
Мультук
23.04.24
✎
10:08
|
(0)
1) Погуглил за тебя https://infostart.ru/1c/tools/1052419/ Как писали выше в типовых куча примеров: -- импорт -- Удаление помеченных -- Создание контрагентов 2) О динамическом создании элементов https://infostart.ru/1c/articles/1118319/ 3) Не имея опыта программирования в 1С, вот так сразу лезть в визарды и динамическое создание форм ? Удачи! |
|||
5
Волшебник
23.04.24
✎
10:21
|
(4) Хост-системе насрать. Она просто генерит задачи и смотрит, кто выплывет
|
|||
6
Wallesss
23.04.24
✎
22:37
|
&НаКлиенте
Процедура НажатиеКнопки() ЭтаФорма.Элементы["ГруппаСтраницы"].ТекущаяСтраница = ЭтаФорма.Элементы["СтраницаДополнительно"]; КонецПроцедуры Оказывается, я имя элемента формы не в том свойстве указывал. |
|||
7
2S
23.04.24
✎
22:51
|
ИИ шалит
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |