gifts2017

Удобный выбор периода (управляемая форма)

Опубликовал Андрей Волин (kser87) в раздел Программирование - Практика программирования

Удобный выбор периода для управляемого приложения 1С.

Саму идею нагло слизал с этой: http://infostart.ru/public/90540/ публикации. Автор приложения молодец, ставьте плюсы и раздавайте хвалебные комменты.

Чтобы выбрать интервал дат на поле календаря, нужно зажать "Shift", выделить нужный интервал и нажать кнопку "Enter".  Для выбора конкретной даты нажать "Enter" или щелкнуть мышью 2 раза.

Есть возможность выбрать интервал из нескольких лет. Вверху формы появляется несколько кнопок с годами, например: 2012,  2013, 2014, 2015, 2016. Для быстрого выбора интервала нужно нажать сначала на 2012, потом на 2016. В результате мы выберем период с 01.01.2012 по 31.12.2016. Если два раза нажать на "2012", то результат будет интервал с 01.01.2012  по 31.12.2012

 

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

Чтобы использовать форму для своих целей нужно выполнить следующие действия:

Копировать из обработки форму "БыстрыйВыборСтандартногоПериода" в общие формы и в объекте (управляемое приложение) вставить следущий код (ПериодС  и ПериодПо  заменить на свои даты):

 

ПолучитьФорму("ОбщаяФорма.БыстрыйВыборСтандартногоПериода");
Форма.СтандартныйПериод.ДатаНачала = Объект.ПериодС ;
Форма.СтандартныйПериод.ДатаОкончания = Объект.ПериодПо ;
Форма.Дата = Объект.ПериодС ;

РезультатВыбора = Форма.ОткрытьМодально();

Если РезультатВыбора <> Неопределено Тогда

Объект.ПериодС = РезультатВыбора.ДатаНачала;
Объект.ПериодПо = РезультатВыбора.ДатаОкончания;

КонецЕсли;

 

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

Наименование Файл Версия Размер
Удобный выбор периода (Управляемый) 248
.epf 12,94Kb
21.06.12
248
.epf 12,94Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Антон (anton.fly7) 18.06.12 15:26
а если форму растащить? мышкой пошире. кнопки сильно разъедутся?
2. Андрей Волин (kser87) 18.06.12 15:35
От растаскивания кнопки не разъезжаются
3. Дмитрий Елисеев (w-divin) 18.06.12 16:13
хоть у кого-то руки дошли ))) сам юзаю основу - все хотел переделать на УФ, но руки не доходили... спс за труды )))
4. Андрей Волин (kser87) 19.06.12 10:14
5. Kоstik Matiushkin (motkot) 20.06.12 18:26
Не совсем понял "Нет формы выбора стандартной настройки периода". Это о чем речь?
6. Андрей Волин (kser87) 20.06.12 18:41
Я имею в виду элемент управления "Выбор периода". В обычном приложении его еще можно создать конструктором
"Новый НастройкаПериода". В управляемом приложении этот объект тоже недоступен
7. Алексей Прилепский (IamAlexy) 20.06.12 19:35
жуть жутчайшая...
на картинках просто невообразимый .здец...

в тестовой БП3 (которая была год назад) было красивее и нагляднее - и тоже отдельным открываемым окном с выбором периода.

зы: в управляемых формах правильнее делать выбор периода так чтобы не надо было открывать дополнительных окон - это позитивно сказывается на быстродействии.
имхо самый удачный выбор периода сейчас в текущей БП3 сделан в отчетах.. очень шустро и более чем наглядно
8. БИЗНЕС РЕШЕНИЯ (Para_1987) 20.06.12 20:15
класс, функциональный такой выбор периода) удобно, но уж очень большое окно. Все таки буду пользоваться)
9. Kоstik Matiushkin (motkot) 20.06.12 21:53
(6) kser87, а чем не подходит "Новый ДиалогРедактированияСтандартногоПериода"? Или мы о разном?
10. Андрей Волин (kser87) 21.06.12 01:31
Para_1987, Спасибо! Я считаю, что большое окно это большой плюс. Лучше видно
11. Андрей Волин (kser87) 21.06.12 01:34
IamAlexy, "выбор периода так чтобы не надо было открывать дополнительных окон" я учту ваше мнение
12. Адепт Адептов (Adeptus) 21.06.12 14:30
Вау круто! Тока у меня покрасивее было. Расстояния не было между кнопочек, покомпактней бы
13. Андрей Волин (kser87) 21.06.12 14:37
(12) Adeptus, не придумал, как это сделать уменьшить расстояние на управляемой форме. Но с другой стороны, так лучше пользователям с ослабленным зрением=)
14. Андрей Волин (kser87) 21.06.12 14:47
(9) motkot, не совсем про это, но все равно спасибо. Не знал, как вызывать этот объект
15. Кондрат Иванов (Konder.Djironimo) 24.06.12 13:59
Спасибо, удобнинько бабульки в бухгалтерии в экстазе!
16. StronG-X (Dethmond) 25.06.12 10:22
17. Андрей Волин (kser87) 25.06.12 10:27
(15) Konder.Djironimo, По-моему для 1С-ника комплимента лучше и придумать нельзя))
18. Владимир Каракозов (karakozov) 26.06.12 08:22
Хорошая наработочка на каждый день. Необычненько.
19. Денис (Den_D) 27.06.12 10:43
Спасибо автору за труд!
По мне так большинство людей работающих за компьютером со временем страдают ухудшением зрения. Можно сказать, что это профессиональное. Думаю что при таком подходе большое информативное окно это только плюс.
20. Александр Твердиков (ATverdikov) 27.06.12 10:51
неплохо, взял на заметку.
21. Егор Ермаков (mentos) 03.07.12 15:44
молодец, Анна!
ivanitland; popipo; +2 Ответить 1
22. popipo (popipo) 03.07.12 15:47
23. Елена Васильева (VasilevaHelen) 20.08.12 09:11
Спасибо, оказалась очень полезной.
24. Создание Тьмы 18.09.12 14:50
такие хорошие отзывы, скачаю тоже)
25. AlexShap Shap (AlexShap) 13.06.13 12:25
Спасибо. Классная штука.
26. vicmos victor (vicmos) 03.10.13 09:21
27. Раиса Захарова (Risoks) 17.11.13 16:55
Спасибо! Полезная штука
28. Алексей Карвацкий (AVK_Alex) 19.05.14 11:24
Хорошая штука.

Предложения по улучшению:
1. В форме список лет начинается с текущего года. Лучше было бы текущий год поместить в середину - можно будет быстро выбрать прошлый год...
2. Текущий год можно выделить жирным - чтобы сразу бросался в глаза.
3. Можно добавить поля ДатаС и ДатаПо - для ручного выбора периода.
4. Добавить кнопку "Выбрать" - для п.3, и для выбора периода мышкой внизу (где месяцы).
5. Кнопки год вперед / год назад сделать стрелками и перематывать по одному году.
6. Хотелось бы год тоже выбирать одним кликом. Тут конфликт с выбором нескольких лет (можно решить с помощью п.3, 4)...
7. Размер формы по умолчанию сделать таким, чтобы помещалось 3 месяца - прошлый, текущий, следующий.
8. К полугодиям и кварталам добавить подписи "полуг." и "кв." соответственно - для тех, кто на бронепоезде :)
29. Андрей Волин (kser87) 23.05.14 10:42
(28) AVK_Alex, попробую сделать.
30. Олег (olbu) 29.05.14 09:14
на скрине выглядит очень хорошо! интересно, если не вставлять в конфигурацию, а "положить" в допобработки, возможно ли будет ее использовать?
31. Андрей Волин (kser87) 29.05.14 10:42
(30) olbu, где вы ее хотите использовать как доп обработку?
32. ECartman 09.10.14 13:14
Обработка очень пригодилась. Прикрутил для вэб-интерфейса. Правда, пришлось исправить один глюк платформы: при создании стандартного периода
Период = Новый СтандартныйПериод(ВариантСтандартногоПериода.ПроизвольныйПериод);


у клиента вылетала ошибка
Объект не поддерживает свойство или метод "getValue"


Пришлось исправить на
Период = Новый Структура;


Все заработало.
Хотя у меня платформа 8.2.19.83 и вроде как по багрепорту у 1с-ников данный глюк в этом релизе исправлен. А оказывается ничего подобного, глюк платформы есть.

P.S. Еще одина ошибка в обработке: при выборе 2-го полугодия устанавливается период с 1.06 по 31.12, а должно с 1.07 по 31.12
33. Андрей Волин (kser87) 09.10.14 23:44
(32) ECartman, будет время-посмотрю ошибки
35. Евгений МелхОФФ (EMelihoff) 25.11.15 19:00
В ЕРП есть форма выбор периода, как написано можно посмотреть!
36. Андрей Волин (kser87) 26.11.15 10:46
(35) EMelihoff, когда я делал эту форму ERP еще не было)
можете скриншот формы показать?
37. Евгений МелхОФФ (EMelihoff) 26.11.15 17:11
(36) kser87, Вы знаете я наверное поспешил, эта форма выбора периода только для года. зато в 8.3.5 нашёл интересный конструктор в СП
Новый ДиалогРедактированияСтандартногоПериода()
38. Алексей Марченко (lexxxus) 17.06.16 14:06
"Чтобы выбрать интервал дат на поле календаря, нужно зажать "Shift", выделить нужный интервал и нажать кнопку "Enter". "
Не работает. При нажатии Enter выбирается период по первой дате, например если выбираю с 01.06.2016 по 15.06.2016, то ко мне придет период с 01.06.2015 00:00:00 по 01.06.2016 23:59:59