Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Классы для руления нестандартными полями отбора (число прочтений - 2793 )
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Классы для руления нестандартными полями отбора
26. Мая 2006 :: 08:10
Печать  
На форме есть поле отбора неопределённого типа, с кнопкой выбора, и кнопкой "По всем" справа.  При нажатии кнопки "По всем" в поле отбора пишется текст "По всем". При нажатии на кнопку выбора открывается форма для выбора значения нужного типа и вида. Чтобы в каждом отчёте всё это не отрабатывать, весь функционал утолкан в класс. В отчёте нужно только создать управляющий объект:
Код
Выбрать все
Процедура ПриОткрытии(ФлагВосстановления)
	оОтборы = СоздатьОбъект("Отчет.КоллекцияРеквизитовОтбора");
	оОтборы.Добавить("ВыбКонтрагент", "Справочник", "Контрагенты");
	оОтборы.Добавить("ВыбДоговор", "Справочник", "Договоры");

	.....

	оОтборы.Показать();
КонецПроцедуры 



и добавить отработку выбора:
Код
Выбрать все
Процедура ПриНачалеВыбораЗначения(Эл, ФлагСтандОбр)
	оОтборы.ПриНачалеВыбораЗначения(Эл, ФлагСтандОбр);
КонецПроцедуры

Процедура ОбработкаВыбораЗначения(ВыбЗнач, ИдентЭлемДиалога, ФлагСтандОбр)
	оОтборы.ОбработкаВыбораЗначения(ВыбЗнач, ИдентЭлемДиалога, ФлагСтандОбр);
КонецПроцедуры 




и на кнопочку "По всем"  навесить оОтборы.Очистить("ВыбКонтрагент")

Для пущей пущести есть 2 метода для работы с расшифровкой, оОтборы.ВРасшифровку(Расшифровка); и оОтборы.ИзРасшифровки(Расшифровка); позволяющие одним движением закинуть все отборы в расшифровку, и считать их оттуда
  

form_selections.rar ( 10 KB | Загрузки )
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать