создать новую тему раскрыть все
 
Сергей, если много классификаторов (как у меня например), то их фильтры занимают большую часть вкладки операций и при этом сами операции уже практически не помещаются во вкладку. Может быть имеет смысл в настройках программы добавить чекбоксы для тех классификаторов, которые должны отображаться. Или организовать на вкладке операций что-нибудь, типа выпадающего списка с фильтрами классификаторов
 
...возможных вариантов решения этой проблемы:
 
1. Спрятать фильтры в заголовки колонок (примерно так, как это сделано в Excel-е).
 
2. Сделать выезжающую панельку с фильтрами.
 
3. Добавить настройки классификатора для управления показом фильтров. Хотя, на самом деле, это не очень удачный вариант потому что страниц операций может быть несколько и как сделать различные установки для каждой из страниц - не понятно.
 
Что легче в реализации.  Как по мне, то выпадающая на вкладке операций панелька лучше, так как фильтрами же постоянно пользуемся
 
... на ней можно было бы выводить заданный фильтр в текстовом виде в одну строку.
Что-то типа:
"Счёт = Наличные, Статья = Продукты, Агент = Гастр..."
 
Ну вроде "вначале сортируем по статье, а потом по дате". Только кликов на заголовках колонок недостаточно. А усложнять интерфейс...
 
Кстати, если все-таки сделать многоуровневую сортировку, то можно будет операции показывать не в одну строчку.
 
Но это так... Мысли вслух...
 
Если алгоритм сортировки стабильный, то после нескольких кликов как раз и получится "многоуровневый" результат.
Правда, не совсем интуитивно, что кликать нужно в обратном порядке - сначала по дате, а потом по статье.
 
Но если это вам кажется проблемой, то можно и по-другому сделать ведь.
Например, кликаем по колонке Статья - на ней появляется срелка с указанием направления сортировки и небольшой маркер с порядковым номером - (1)
Если кликнуть по ней снова, порядок сортировки изменится на противоположный.
 
Теперь кликаем по Дата. Там тоже появляется стрелка с направлением и маркер с номером - (2). А транзакции при этом становятся отсортированными сначала по Статьям, а потом по Датам.
 
Аналогично можно расширить на третью и последующие колонки.
 
Ещё понадобится кнопка "Сброс", чтобы можно было начать сортировку с другой колонки.
 
Хотя, может, это вы и имели в виду под "усложнять интерфейс"?..
 
Если пользователь кликнул по колонке - он ожидает что будет сортировка по этой колонке. Тут для него никаких неожиданностей. Если до этого он кликал по другой колонке - то это будет второй признак сортировки. В результате те, кто об этой фишке знают - будут ее использовать. Те кто не знает - просто ничего не заметят.
свернуть/развернуть ветвь Не интуитивно [KiTE 08/07/2014 15:03] # написать ответ
 
От простого клика по колонке всегда ожидаешь простой одноуровневой сортировки по этому полю.
 
Клик по колонке - одноуровневая сортировка A-Z.
Второй клик - одноуровневая сортировка Z-A.
 
Для многоуровневой сортировки есть смысл использовать зажатый shift.
Клик по второй колонке плюс shift добавляет второй уровень сортировки A-Z.
Второй клик по второй колонке плюс shift - меняет порядок для второго уровень на Z-A.
Третий клик по второй колонке плюс shift - убирает второй уровень сортировки.
При этом если кликнуть по новой колонке без shift, сортировка опять становится одноуровневой.
 
Для наглядности многоуровневой сортировки, можно добавить отрисовку номера уровня рядом с пиктограммой сортировки.
 
Именно так сделано в гридах MS Outlook.
 
Простая одноуровневая сортировка происходит по одному полю. А как должны сортироваться записи, у которых это поле одинаковое? Тут-то ваш вариант и не знает ответа. А мой - знает. Я встречал такую реализацию. Где - уже не вспомню. Но это настолько понятно и настолько интуитивно, что до этого доходишь буквально в пару кликов, даже не прибегая к справке.
 
и большого кол-ва программ на основе подобных виджетов. То есть, способ в некоторой степени общепринятый.
 
"А как должны сортироваться записи, у которых это поле одинаковое?". Тут вообще нет вариантов, сортировка одинаковых значений отдается на откуп СУБД. Собственно, многоуровневая сортировка для того и нужна чтобы решить этот вопрос на уровне интерфейса.
 
Ваш вариант не предусматривает сброс многоуровневый сортировки.
 
или вообще не читали.
свернуть/развернуть ветвь Вы писали... [KiTE 10/07/2014 23:20] # написать ответ
 
Если пользователь кликнул по колонке... Если до этого он кликал по другой колонке - то это будет второй признак сортировки.
 
Вижу это так:
Кликаем по первой колонке - одноуровневая сортировка по ней.
По второй - 1 уровень на 2 колонке, 2 уровень на 1 колонке.
По третей - 1 уровень на 3 колонке, 2 уровень на 2 колонке, 3 уровень на 1 колонке.
И т.д.
 
Я правильно понял вашу идею?
Если правильно, то как при этом сбросить все уровни которые соберутся после нескольких шагов?
И неинтуитивность именно в том, что уровни собираются задом на перед.
 
Это должно изменить порядок сортировки. Вот только по вашему получится так что вместе с изменением порядка, уровень сортировки станет первым. Впрочем, если он останется таким же как и был, тоже проблема - как "с нуля" отсортировать по этому полю.
 
Просто перемешивание всех операций случайным образом? А в чем смысл данного действа?
Операции всегда отсортированы по какому-то признаку. Если этот признак у нескольких операций одинаков то, зачастую, они относительно друг друга сортируются как бог на душу положит. В предложенной мной организации сортировка всегда имеет систему. Если пользователю в настоящий момент важна сортировка по одной колонке, то сортировка по другим колонкам ему ничем не мешает. Если же ему понадобится сортировка по двум колонкам, то это делается в два клика (по трем - в три). И заметьте - без чтения мануала, заучивания сочетаний клавиш и  вообще без использования клавиатуры.
 
То есть, сейчас вроде как несколько кликов должны сделать многоуровневую сортировку. Но мне кажется недостатком два момента:
 
1. Сейчас при сохранении настроек страниц сохраняется признак сортировки. Но только последний клик, фактически, то, что указано на заголовках колонок. Таким образом, можно настроить "многоуровневую" сортировку, но даже если сохранить настройки страницы, то после перезапуска программы, все данные все равно будут отсортированы всего по одной колонке.
 
2. Проблема с самой главной сортировкой операций - по датам. Из-за того, что в каждой операции присутствует остаток после ее выполнения, мне пришлось сделать довольно жесткийпорядок операций. И дать возможность пользователям изменять порядок операций в рамках одной даты. Сделано это введением дополнительного поля, оно скрыто от пользователя, но именно значение этого поля задает относительный порядок операций, относящихся к одной дате. И вот как раз наличие этого поля делает невозможным "многоуровневую" сортировку вроде такой: "сортируем по датам, а для одинаковых дат - по сумме операции" потому что нажатие на заголовок колонки "Дата" сразу же расставит все операции в "правильном" порядке, когда остатки будут соответствовать операциям.
 
В остальном реализованная сортировка лично меня устраивает полностью. Действительно можно отсортировать по статьям, а для каждой статьи по сумме операции. И даже то, что кликать на заголовки в обратном порядке приходится, даже это совсем не напрягает.
 
Прошу прощения за то, что не совсем корректно сформулировал свою проблему и тем самым спровоцировал дискуссию уважаемых Loki и KiTE.
свернуть/развернуть ветвь примеры классификаторов [Краснов 08/08/2014 13:26] # написать ответ
 
slachizh, если не секрет поделитесь примерами ваших классификаторов? Well
Я использовал такие: Проекты - тут проекты: ремонты, отпуска, Семья - тут члены семьи
 
мы еще и свои бизнесы в классификаторы загнали. И я и супруга, а еще и контрагентов.