gifts2017

Простой выбор даты

Опубликовал Алексей Сафонов (newold2) в раздел Программирование - Работа с интерфейсом

Отличие от стандартных (1с8,1с7,Парус,Win..):
1 - наглядность; 2 - скорость выбора; 3 - расширенная
функциональность

Задача настолько кажется решенной, что в infostart  я не нашел, на кого-бы сослаться.  

Может, плохо искал, поэтому заранее извиняюсь, если пропустил кого-то из Авторов. 

 

 

Итак, подробнее об отличиях.

1. Наглядность.

   - нет стрелок и стрелочек, очень "скользких" списков. Дни, месяцы и линейка из 7 лет-

     все на экране.

   - выведены номер месяца и количество дней, начала кварталов "подкрашены".

   - предусмотрены два стиля отображения: "классический" и дополнительный, можно выбирать;

2. Скорость выбора (можно регулировать -1, 2 щелчка или по кн."Ок").

   - в пределах месяца - 1 щелчок мыши;

   - в пределах года - 2 щелчка мыши;

   - в интервале 7 лет - 3 щелчка. Далее добавляется 1 щелчок на 1-3 года.

     год можно ввести и с клавиатуры.

3. Раширенный функционал.

   - выбирается не только Дата, но и Время (если необходимо);

   - двумя кнопками можно установить как текущую дату, так и любую из "стандартных" дат:

      от начала-конца недели до начала-конца года

   - двумя кнопками можно установить как текущуее время, так и любой из "стандартных"

     моментов времени: от начала-конца суток до начала-конца минуты;

   - есть кнопка перебора даты-времени: текущее, выбранное, предудщее выбранное, исходное; 

   - предусмотрена печать календаря в 4 вариантах: выбранный год, предыдущий-выбранный

      годы, выбранный-следующий годы, предыдущий-выбранный-следующий годы.  

      (это не сделано, будет потребность  - добавлю).

 

О конкретном исполнении.

   Реализовано все на двух независимых процедурах: "ВыборДаты_" и "ПечатьКалендаря_",

   и процедуре "ПриОткрытии" (типа диспетчера, работающего с реквизитами Формы

   "ДатаВходВыход","КоличествоЩелчков" и "ПечататьКалендарь"). Процедуры используют

    свои внутренние переменные; общих переменных не наблюдается. При задании реквизита

    ПечататьКалендарь>0 печать производиться без открытия формы.

 

     Добавлена (может кому понравиться) в общем не относящаяся к делу функция "Колл_Выб".

     Это универсальная функция выбора строки любой общей Коллекции.   

 

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

Наименование Файл Версия Размер
ПростойВыборДаты 32
.zip 19,80Kb
20.09.13
32
.zip 1.0 19,80Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Алексей (alsoftik) 18.09.13 08:32
Интересно а как и где ее можно использовать, ей можно заменить стандартную?,
или ее подключать к своим обработкам?
2. Алекс Одинэсник (Alex1Cnic) 18.09.13 11:22
Да, я тоже что-то не понял как пользоваьтся ентой обработкой вместо стандартного способа?
3. Андрей (Krasnyj) 18.09.13 11:38
Интересная штука. Забрал, посмотрю, как ее применить можно :) Автору плюс.
4. script Мальчинко (script) 18.09.13 11:42
Ну как использовать? У вас есть отчеты и документы в которых есть реквизит с типом "Дата" или кнопка выбора периода. Вот в этом реквизите в обработчике "ПриНачалеВыбораЗначения" или в кнопке выбора периода и переопределяете открытие стандартной формы на эту.
5. Яков Коган (Yashazz) 18.09.13 12:35
Шибко наворочено. Имхо, типовая удобнее и очевиднее.
6. Александр (allexe) 18.09.13 12:51
ИМХО не удачный пример. Как техническое решение интересно, но в плане юзабилити и интерфейса стандартный лучше.
7. Александр (allexe) 18.09.13 12:53
Будет полезна если часто приходится выбирать довольно "старые" даты
8. Gudvin Pupkin (Slotty) 18.09.13 13:31
Стандартная вполне устаревает.
Прикрепленные файлы:
9. yuraskas Рупышев (yuraskas) 18.09.13 14:25
(8) что это за рисунок, там ничего нет.
10. Gudvin Pupkin (Slotty) 18.09.13 14:33
(9) Сори , что то не про грузился.
11. Адепт Адептов (Adeptus) 18.09.13 14:45
Так ведь уже же создан эталон в этой области
http://infostart.ru/public/90540/
12. Алексей Сафонов (newold2) 18.09.13 15:12
(5) Yashazz, Наворочено - лишний функционал? Так использовать что необходимо. Удобнее и очевиднее - может привычнее?
13. Алексей Сафонов (newold2) 18.09.13 15:19
(11) Adeptus, Называть себя эталоном? Ваше - немного не то. Посмотрите хотя бы выбор года одним щелчком в интервале 7 лет, настройку количества щелчков, выбор времени, стандартных дат и времени, возможность отката и т.д. Да...
14. Сергей Марченко (MarSeN) 18.09.13 15:43
в качестве идеи - проанализируйте и выделите из вашего календаря упрощенный состав - то что используется чаще всего и м/б привычнее и создайте более упрошенную форму с возможностью из нее открыть полную. к примеру как в калькуляторе виндовс сделано. Обычный - инженерный и тп.
так и у вас - обычный, для бухов...
15. Адепт Адептов (Adeptus) 18.09.13 16:24
(13) newold2, Да но у меня гораздо красивее и можно выбрать кварталы и полугодия. А выбор года в интервале 7 лет. Этот нонсенс зачем такое!?
16. Епрст (Ёпрст) 18.09.13 16:34
(15) Посмотрел твой пример - при смене года не меняется календарь внизу окошка, + сама форма не привязана к контролу кнопки.. открытие окна поделки посерёдке экранчика.. не комильфо.
+ желательно иметь стрелочки листания месяцев внизу календарика.
17. al petrov (petrov_al) 18.09.13 16:52
А мне нравится, правда цифры в глазах "рябят" наверно их слишком много
18. Алексей Сафонов (newold2) 18.09.13 18:59
(14) MarSeN, Спасибо. Покумекаю...
19. Igor Erohin (postal222) 19.09.13 02:00
Перегруженная, непонятная, рябит в глазах, без юзабилити. Это все - про эту разработку. Почему бы не посмотреть на приведенный для сравнения пример и не понять, что же не так?
20. Аркадий Кучер (Abadonna) 19.09.13 04:56
(11) Adeptus,
Так ведь уже же создан эталон в этой области

Если говорить об "эталоне", то был он создан давным-давно, еще на 7.7, и выглядит вот так:
Прикрепленные файлы:
21. Аркадий Кучер (Abadonna) 19.09.13 06:12
+/20/ А вообще, для продвинутых есть шикарный стандартный выбор периода (рис)
Для обычных форм код такой:
Процедура ВыбПериодНажатие(Элемент)
	Период=Новый СтандартныйПериод;
	Период.ДатаНачала=НачПериода;
	Период.ДатаОкончания=КонПериода;
	Диалог = Новый ДиалогРедактированияСтандартногоПериода();
	Диалог.Период = Период;
	Если Диалог.Редактировать() Тогда
		Период = Диалог.Период;
		НачПериода=Период.ДатаНачала;
		КонПериода=Период.ДатаОкончания;
	КонецЕсли;
КонецПроцедуры
...Показать Скрыть

Прикрепленные файлы:
22. Сергей Прокофьев (chuff) 19.09.13 06:47
А у меня в 7.7 вот такой календарик.
Где-то здесь увидел для восьмерки форму, решил сделать подобную.
Ну и попутно для семерки сделал.
В семерке положение привязал к кнопке, на восьмерку сил не хватило)
Наворотов здесь меньше, но вроде хватает всего.
Плюс можно выбрать интервал - неделю, щелкнув на номере недели (рядом с календарем)
Я его во все внешние отчеты встроил - удобнее стандартного выбора периода.
Хотя для желающих на нем есть кнопка для открытия стандартного.
Прикрепленные файлы:
23. Аркадий Кучер (Abadonna) 19.09.13 06:52
(22) chuff, по сравнению с /20/, имхо, не хватает периода 9 месяцев, и практически лишний календарь внизу. Но это дело вкуса.
24. Сергей Прокофьев (chuff) 19.09.13 06:57
(23) Abadonna,ошибаешься. В правом нижнем углу кнопочка, где можно выбрать из выпадающего списка "С начала года" и ткнуть в любой месяц. И получишь не только 9 месяцев, но и любое другое их число.
А календарь внизу как лишний? дату выбирать где?
У меня при нажатии на кнопку с именем месяца сразу выбирается интервал месяц и форма закрывается.
А при нажатии на кнопку рядом с названием месяца открывается этот месяц внизу, для выбора одной даты.
Эта форма для выбора не даты, но периода.
25. Serj (Serj1C) 19.09.13 07:11
Вручную вбивать - самое то )
26. Аркадий Кучер (Abadonna) 19.09.13 07:14
(24)
дату выбирать где?

вот тут (рис.) Зато ничего лишнего на форме глаза не мозолит
Прикрепленные файлы:
27. Сергей Прокофьев (chuff) 19.09.13 07:35
(26) Да, не мозолит. А заодно не позволяет выбрать одно- двух- трех- недельный интервал, постоянно используемый в отчетах. И кроме этого:
- для смены даты в пределах месяца надо открыть дополнительное окно, в нем календарь и уже там выбрать дату. Подозреваю, что после этого надо ещё нажать кнопку ОК ). У меня - одно нажатие на дату.
- для выбора даты в месяце, отличном от текущего, придется листать месяцы, пока не доберешься до нужного.
А стрелочки в стандартном календаре при этом перелистывании очень мелкие и неудобные, особенно если их сравнить с размером кнопок на основной форме). У меня - нажатие кнопки кнопки месяца и одиночный щелчок по дате.
В общем, кого устраивает стандартный - пользуйтесь, никто же не запрещает. Лично меня стандартные выборы периода что в 7, что в 8 - достали настолько, что сделал другое, намного удобнее, хоть на первый взгляд и непривычнее. Причем опросил пользователей - предоставил им выбор старого и нового. Подавляющее большинство выбрали новый. Остальные сказали, что им вообще пофиг)
28. Аркадий Кучер (Abadonna) 19.09.13 07:45
(27) chuff, я ж написал четко "дело вкуса".
Для буха/руководителя вполне хватает кнопок "месяц такой-то", "полугодие", "год".
А остальные и так введут, руки не отвалятся. Лично мне вообще нравится вариант из /21/.
И никаких доп. форм вообще!
Но, повторюсь, - дело вкуса.
выбрать одно- двух- трех- недельный интервал, постоянно используемый в отчетах.

В жизни мне не попадались в отчетах одно- двух- трех- недельные интервалы

P.S. А с тех, кто до сих пор на 7-ке сидит, я вообще в два раза больше беру, ибо нех ;)
29. Сергей Шубин (Gray-SV-02) 19.09.13 07:54
ну не знаю... стандартный в 8ке ничего так себе... дело привычки, а привыкнуть можно к любому интерфейсу...
30. Сергей Прокофьев (chuff) 19.09.13 07:56
(28) Abadonna, в том-то и дело, что не всегда хватает "месяц такой-то", "полугодие", "год".
Думаю, от профиля предприятия это тоже зависит, да и от распределения обязанностей тоже.
Но ведь дело не в этом. Что пользователям надо, то и хорошо )
А с тех, кто до сих пор на 7-ке сидит, я вообще в два раза больше беру, ибо нех ;)

Могу и согласиться, и поспорить - но это будет уже оффтоп ))
А вот насчет "дело вкуса" - спорить не буду совсем ;)
31. Сергей Прокофьев (chuff) 19.09.13 08:13
(28)
В жизни мне не попадались в отчетах одно- двух- трех- недельные интервалы

Я же говорю - от профиля предприятия всё зависит. А ещё от изощренности руководителей по части выборки данных.
32. Адепт Адептов (Adeptus) 19.09.13 09:12
(22) chuff, Вот малаца вижу живет мое дело и на 7.7 уже перенесли. Круто короче.
33. Адепт Адептов (Adeptus) 19.09.13 09:13
(26) Abadonna, )))Ну тут до эталона еще далековато. Мягко говоря
34. Епрст (Ёпрст) 19.09.13 09:17
(32) скорее наоборот, в снеговик перетащена идея с клюшек, на 7.7 еще до тебя задолго появилосась куча поделок с выбором периода, если че.
36. Епрст (Ёпрст) 19.09.13 09:22
ну и т.д..
И с кнопочками выбора квартала/декады.. тоже поделок вагон.
37. Адепт Адептов (Adeptus) 19.09.13 09:25
О да в том то все и дело. Было много до меня но создал лучшее. Причем не анализируя то что было до меня.
38. Епрст (Ёпрст) 19.09.13 09:28
39. Аркадий Кучер (Abadonna) 19.09.13 09:31
(37) Adeptus,
Было много до меня но создал лучшее

В какой-то мере мне нравятся особо наглые люди :)))
40. Адепт Адептов (Adeptus) 19.09.13 09:37
(39) Abadonna, Чистый объективизм! Стал бы я делать что то если бы смог просто скачать что то лечшее. Конечно нет. Не было ничего достойного по этому и сделал
41. Аркадий Кучер (Abadonna) 19.09.13 09:47
42. Адепт Адептов (Adeptus) 19.09.13 09:50
(16)(38)(41) Abadonna, Да на счет открытия формы по центру согласен.
43. Александр Гнитка (smitti911) 19.09.13 22:54
(22)chuff,
А можно ссылочку на Ваш выбор периода, мне понравилось )
44. Алексей Семешин (Sirus Virus) 20.09.13 05:15
Каждый пользуется тем, что ему нравится :) и мерится у кого "больше" тут не стоит.

Автор молодец, но по мне интерфейс не совсем эргономичный, у меня лично все в глазах рябит.
Рекомендую автору поработать над простотой :)

Например:
1) убрать номера месяцев и количество дней напротив кнопок месяцев - эта информация избыточна, т.к. человек ткнув на месяц и в поле календаря увидит максимальную дату в месяце :)
2) сделать кнопочки, которые позволят полистать года.
3) Убрать поле для ввода даты и времени, вместо них оставить текстовое поле и 1 кнопку в стиле "Ввести период" (можно с выпадающим меню: текущая дата, текущий месяц, точная дата и время и т.п.). В текстовое поле выводить информацию о периоде или о точной дате и времени если указать необходимо дату именно в таком формате.


Ну и т.д. и т.п.

45. DZENN (Dzenn) 20.09.13 14:41
Какой смысл вместо двух-шести нажатий на цифровую клавишу тыкать мышкой по этой гммммм..... поделке? Если это и нужно, то ну ооооочень редко.
46. Алексей Сафонов (newold2) 20.09.13 15:25
С благодарностью воспринял замечания (особенно конструктивные) по дизайну. Выложил новый вариант, в котором предусмотрена возможность выбора стиля отображения: "классический" или "дополнительный". Выбирать можно через реквизит Формы "СтильФормы" или кнопками на служебной панели.
47. Алексей Сафонов (newold2) 20.09.13 15:36
(44) Sirus Virus, Сделал возможность выбора стиля отображения. Классический - без лишней информации
и пестроты - многое из того что и Вы сказали, и другие. А кнопок листания лет сдесь не надо. Одна из фишек - путем выбора года из линейки лет можно "листать" годы пачками, от 1 до 3.
48. Алексей Семешин (Sirus Virus) 20.09.13 15:44
(45) DZENN, У каждого свои фетиши :)
Например у меня были клиенты которые любили разные менюшки и все кнопочками кнопочками.
49. Сергей Прокофьев (chuff) 20.09.13 18:24
(43) smitti911, я не выкладывал здесь - не считал, что кому-то понадобится, для себя делал.
Но если хочешь, могу отправить. Давай адрес
50. Дмитрий Кеба (Fenicss) 21.09.13 09:15
Идея хорошая только в конечном счете все это получилось грамозко и соответственно использовать его будет где то сложно!
denver069; +1 Ответить
51. Maxim Kolkin (the1) 24.09.13 10:42
Вот если бы кто сделал выбиралку дат в стиле Вин7, это было бы дааааааа!
52. Владимир Кузнецов (mr.Kot) 24.09.13 11:45
Соглашусь со многими, немного громоздко получилось. Такое будет отпугивать пользователя.
53. Кириллов Денис (denver069) 25.09.13 06:59
По моему в работе с датой больше неудобств возникает при вводе времени непосредственно в поле формы.
Т.к. нет видимого разделителя вроде "-" или "Т" между датой и временем, а "рюшечки" вроде такой формы это уже баловство для женщин обожающих цветочки в splash-заставке.
54. Алексей Сафонов (newold2) 30.09.13 10:13
(53) denver069, Женщины... Попробуйте использовать Маску при вводе.
55. Алексей Сафонов (newold2) 30.09.13 10:20
Чтобы не было разночтений, на днях опубликую "Конструтор" диалогов выбора Даты-Времени. Желающие тогда могут дерзать.
56. Maxim Kolkin (the1) 09.10.13 08:28
Или вот интересный вариант выбора периода, на JS. Можно прикрутить в поле ХТМЛ документа

http://chartjs.devexpress.com/Demos/VizGallery/#chart/rangeselectorsbehavioruserangeselectionforcalculating
57. kiruha Дронов (kiruha) 09.10.13 13:15
Мне нравится - для отчетов с месяцами не мучиться
59. Lena Lesnik (lelusha) 09.02.14 17:58
Мне тоже нравится, для семерки есть что-то подобное?