logo
logo
RE: RE: Сортировка по чекбоксу "выполнено" [Artem Fedorov 26/01/2002 18:12]
Поддерживаю Сергея
Давайте глубже изучим эту проблему.  Сделаем так, чтобы были и овцы целы, и волки сыты. Я уверен, что в данном случае это возможно. Итак.
Присмотримся к галочкам выполнено. Они в операциях стоят отдельным столбиком, слева ото всех, ничем не отличаясь от других полей, таких как Дата, Сумма, Остаток и т.д. Это поле (на самом деле поля нет, но выглядит именно так и для наглядности я буду в дальнейшем называть его так) служит индикатором состояния записи + активное (можно выбирать/убирать операции прямо в нем). Оно всегда следует строгому порядку -- сначала не выделенные, потом выделенные. Чем это отличается от такого же порядка, например  , в Датах (или другого _отсортированого_ поля)? Ничем. Упорядоченный набор значений. Наблюдение первое: называя это не группировкой, а сортировкой (дополнительной + неотключаемой) мы сразу становимся ближе к реальному положению вещей. Когда мы задаемся вопросом, нужна ли группировка, то сложно ответить на этот вопрос -- одним да, другим нет. А когда мы задаемся вопросом, нужна ли _сортировка_, вопрос кажется странен -- сортировка обыденное явление. Правда, только там, где она не мешает. А где она мешает, предусмотрена возможность ее отключить. И не с помощью залезаний в меню и диалоги, а просто дополнительным щелчком по заголовку. Все. Стрелочка пропадает и сортировки нет. Набившая оскомину проблема решена простым и элегантным способом.
PS Просто подходите к группировке, как к сортировке по выполнению -- все сразу станет проще. Я, лично, могу не догадываться, как лучше реализовть в программе включение/отключение группировок, их визуализацию и т.д., а когда надо решить такую проблему с сортировкой, на ум сразу приходят простые и эффективные решения, виденные много раз в популярных продуктах
 
Dervish: Итак, для чего вообще городился огород с группировкой?
 
Цель была одна: пользователь должен был видеть свои предстоящие платежи (извините за двусмысленность) в одном месте, единым блоком. Теперь видно, что решение было выбрано не самое лучшее. Пока, как мне кажется лучший вариант решения этой задачи таков:
1. Группировка убирается совсем. Пусть операции располагаются в списке соответственно их датам.
2. При отметке операции как выполненной, её дата не изменяется (для того, чтобы операция не прыгала в списке из-за даты).
3. На странице операций добавляется переключатель: "Показать только плановые операции".
 
Думаю, что эти изменения полностью снимут остроту проблемы.