INFOSTART EVENT 2018 EDUCATION

Второй тур голосования за доклады.
Окончание 5 сентября.

Ольга Петровская | Директор | ООО "Решения будущего"

«И опыт, сын ошибок трудных…» или как с нуля создать свою фирму 1С-франчайзи. Реальный опыт, успехи и неудачи»

1. Зачем что-то менять, имея высокооплачиваемую работу «на дядю» 2. Чего мелочиться? Давай сразу ООО 3. Выстраивание взаимоотношений с партнерами-соучредителями «на берегу» 4. Делегирование и «золотая лопата» руководителя 5. Поиск клиентов и как не захлебнуться в проектах 6. Баланс бизнеса и личной жизни 7. Минимальные инструменты управления ИТ-компанией Анализ допущенных ошибок и советы начинающим этот путь

Диалог выбора периода по образу и подобию "Такси"

Программирование - Практика программирования

1
Данная обработка содержит самодельный диалог выбора периода для платформы 8.2, схожий со стандартным диалогом в интерфейсе "Такси"

Диалог выбора периода в "Такси" показался мне очень удобным и наглядным, поэтому возникло желание использовать нечто подобное на платформе 8.2, с которой я работаю в данный момент. Возможно, кто-то еще сочтет ее удобной и полезной.

Обработка содержит основную форму, форму выбора и макет с календарем.

Чтобы использовать эту форму в своей конфигурации перенесите форму "ФормаВыбораПериодаКакВТакси" в список общих форм, а "Макет" - в список общих макетов. При необходимосте - переименуйте их. Также в модуле  формы "ФормаВыбораПериодаКакВТакси" необходимо провести замену:

РеквизитФормыВЗначение("Объект").ПолучитьМакет("Макет")

нужно заменить на

ПолучитьОбщийМакет("ИмяВашегоОбщегоМакета")

На форме, откуда вы хотите вызвать этот диалог расположите код, напимер такой:

&НаКлиенте
Процедура ПериодНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
	СтандартнаяОбработка = Ложь;
	Форма = ПолучитьОбщуюФорму("ФормаВыбораПериодаКакВТакси",ЭтаФорма);
	Форма.РежимОткрытияОкна	= РежимОткрытияОкнаФормы.БлокироватьОкноВладельца;
	Форма.Период.ДатаНачала = Период.ДатаНачала;
	Форма.Период.ДатаОкончания = Период.ДатаОкончания;
	Форма.ЗакрыватьПриЗакрытииВладельца = Истина;
	Форма.ЗакрыватьПриВыборе = Истина;
	Форма.Открыть();
КонецПроцедуры

&НаКлиенте
Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора)
	Если ТипЗнч(ВыбранноеЗначение) = Тип("СтандартныйПериод") Тогда
		Период = ВыбранноеЗначение;
		ПериодПриИзменении(Элементы.Период);
	КонецЕсли;
КонецПроцедуры

Надеюсь, форма будет кому-то полезна.

Обо всех ошибках и проблемных ситуациях сообщайте в комментариях.

Код открытый, можете использовать на свое усмотрение. буду благодарен предложениям по улучшению.

Тестировалось на 1С:Предприятие 8.2 (8.2.19.130)  в различных конфигурациях: типовых и самописных.

1

Скачать файлы

Наименование Файл Версия Размер
Обработка с формой выбора периода
.epf 15,40Kb
07.09.16
0
.epf 15,40Kb Скачать

См. также

Комментарии
Сортировка: Древо
2. Tolpinski 55 02.06.18 09:27 Сейчас в теме
Режим месяца отлично работает со стандартным "Календарем"
Прикрепленные файлы:
Оставьте свое сообщение