Шаблон пошагового мастера настройки
Разработка - Инструментарий разработчика
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
С некоторых пор я начал активно использовать удобный для пользователей механизм пошагового ввода данных, другими словами, «Мастер ввода» или «Мастер настройки», или «Визард». В этой статье я выкладываю шаблон для конфигурирования подобных механизмов и краткое описание, как им пользоваться.
Данный шаблон я применял даже на мобильной платформе. Также подходит для любой конфигурации на УФ.
Перемещение между шагами линейно и осуществляется путем нажатия на кнопки "Вперед" и "Назад" и "Отмена".
Обзор на ютубе:
Как использовать:
1. Открываем скачанную обработку, в ней находим элемент "СтраницыШагов":
2. Вручную добавляем страницы, которые будут являться шагами пользователей
3. Размещаем внутри каждой страницы соответствующие ей элементы управления
4. Для каждого элемента управления, от корректности которого зависит переход на следующий шаг, надо навесить обработчик события при изменении:
5. Внутри обработчика прописать только:
ПриИзмененииТекущихПараметровТекущегоШагаКлиент();
Вызов этой процедуры инициирует проверку корректности введенных данных текущего шага и как следствие регулирует доступность следующего шага.
6. В процедуре «ИнициализацияТаблицыШаговСервер()» прописываем все шаги повторно, но уже с присвоением Номера шага и прочих доступных параметров:
&НаСервере
Процедура ИнициализацияТаблицыШаговСервер()
ТаблицаШагов.Очистить();
НС = ТаблицаШагов.Добавить();
НС.НомерШага = 1;
НС.ИмяСтраницы = "СтраницаВводДаты";
НС.АвтопереходНаСледующий = Ложь;
НС = ТаблицаШагов.Добавить();
НС.НомерШага = 2;
НС.ИмяСтраницы = "СтраницаВводПодразделения";
НС = ТаблицаШагов.Добавить();
НС.НомерШага = 3;
НС.ИмяСтраницы = "СтраницаПосмотретьРезультат";
КонецПроцедуры
7. Для каждого шага прописываем процедуры ОбработчикИнициализацииШагаКлиент_Х, где Х – Номер шага. Эти процедуры будут выполняться при «открытии» шага (другими словами, при переходе на страницу шага). Тут можно прописать, например, иницилизацию полей:
&НаКлиенте
Процедура ОбработчикИнициализацииШагаКлиент_1(ОписаниеШага)
Объект.Дата = ТекущаяДата();
Сообщить("Выполнен обработчик заполнения нового шага: " + Строка(ОписаниеШага.НомерШага));
ПриИзмененииТекущихПараметровТекущегоШагаКлиент();
КонецПроцедуры
8. Для каждого шага прописываем процедуры ОбработчикПроверкиШагНастроенКлиент_Х, где Х – Номер шага. Эти процедуры контролируют корректность введенных данных на шаге. В нашем примере, программа установит флаг того, что шаг настроен, только в случае, если заполнено поле «Дата» - это единственное поле, которое требуется заполнить на Шаге 1.
&НаКлиенте
Процедура ОбработчикПроверкиШагНастроенКлиент_1(ОписаниеШага)
ОписаниеШага.ШагНастроен = ЗначениеЗаполнено(Объект.Дата);
КонецПроцедуры
9. Для каждого шага прописываем процедуры ОбработчикПроверкиДоступенСледующийШагКлиент_Х, где Х – Номер шага. Эти процедуры регулируют непосредственно доступностью следующего шага.
&НаКлиенте
Процедура ОбработчикПроверкиДоступенСледующийШагКлиент_1(ОписаниеШага)
ОписаниеШага.ДоступенСледующийШаг = ОписаниеШага.ШагНастроен;
КонецПроцедуры
11. Далее все переходы страниц и контроль данных программа выполняет сама.
12. Профит!
Разработка и тестирование проводились на релизе платформы 8.3.13.1809.
Вступайте в нашу телеграмм-группу Инфостарт