|
В таком случае, возможно, стоит использовать усложненный алгоритм "помощи забывчивым пользователям"? :)
Например, анализировать: если выбранный пользователем период не содержит в себе как минимум 2 (или n) периода усреднения, то изменять его на ближайший адекватный период. (для усреднения по дням - текущий месяц, для усреднения по месяцам - последние 6 месяцев, для усреднения по неделям - текущий месяц). При таком алгоритме, если выбор пользователя вполне адекватный (например, выбран: период "прошлый месяц" усреднить "по дням", или "текущий год" "по месяцам", или "прошлый год" по месяцам), то непредвиденных пользователем изменений не произойдет.
На самом деле на восприятие данной функции сильно действует расположение поля "усреднить" в окне отчетов. При формировании отчета пользователь (в данном случае, я :)) сначала выбирает период, а потом, заполнив еще несколько полей, выбирает значение поля "усреднить". И сразу нажимает кнопку "Показать отчет" (не успев заметить, что значение поля "Период" изменилось автоматически). После этого все параметры отчета "сворачиваются", а пользователь видит картину, не соответствующую его запросу, который он вводил "думая" :)
Теоретически можно было бы поместить поле "усреднить" перед полем "период", так как "усреднить" относится именно к периоду. В таком случае автоматическое изменение поля "период" сразу было бы заметно пользователю, и пользователю не надо было бы 2 раза менять значение поля (перед выбором значения "усреднить", и после, если вдруг "последние 6 месяцев" не подходят). Но, насколько я понимаю, Вы расположили его в конце потому, что это функция играет не главную роль в отчете, а второстепенную... Поэтому усложненный алгоритм был бы некоторым компромиссом:)
Не воспринимайте как критику, это замечание из серии "дотошности", если у Вас вдруг будет время сделать "красиво" :)
|