создать новую тему раскрыть все
 
... после коррекции операции она переставляется вверх текущей даты, ну надоело уже ставить её на место.
 
Я понимаю, что не имею право предъявлять претензии, но просто невыносимо уже. Время использовать не хочу, и так много всякой информации вводить приходится...
свернуть/развернуть ветвь ну, [пацак],[ 17/03/2008 09:47] # написать ответ
 
если "не хочешь чтобы пахло, отойди"
М.М. Жванецкий
 
немного с другими "вещами" в программе. Когда ты каждый раз спотыкаешся на одном и том же - это действительно бесит Well
 
Очень нравится, но невозможно по 40 раз перделывать сортировку операций внутри одного дня, чуть что подправил, опять вручную преставляешь их порядок в правильный. Ну, должна она по логике вещей оставаться на том же месте, а не перескакивать как самая свежая операция этого дня.
 
Прыгать не будет, но тогда я не знаю как вы будете исправлять порядок. Потому как доработка перемещения запланирована, но она не тривиальна и я не думал ее делать в 215-й сборке.
 
Или пока оставить как есть?
свернуть/развернуть ветвь Сделайте через... [Max 24/03/2008 14:46] # написать ответ
 
... Alt+Up/Down. Отмеченная операция будет меняться с выше/ниже стоящей операцией, если у них одинаковые даты. Конечно время операций должно быть отключено в опциях.
 
Может возникнуть проблема если включены фильтры, но это решаеться. Например: перестановка будет работать только если операция с которой "надо поменяться местами" видима. Если ее не видно, выдаваете соответствующее сообщение. Или же как вариант, будет "перепрыгивать" все невидимые операции.
 
<B>Алгоритм перемещения тривиален</B>: Достаточно завести невидимое действительное поле Sequence для каждой операции, по которому операции будут сортироваться в рамках одного дня. И дальше:
- для новой операции, его значение должно быть проставлено в максимальное значение Sequence операций того же дня +1.
- при перемещении операции вверх (будущее) 3 варианта (все операции в рамках одного дня):
   * операция последняя: ничего не делаем (или, как вариант, увеличиваем дату на 1 день).
   * операция предпоследняя: проставить Sequence в Sequence последней операции +1;
   * N-ная операция дня: проставить Sequence в среднее значение между Sequence операций N+1 и N+2;
- при перемещении вниз, все наоборот только с минусом.
 
Да и к чему я это все пишу, вы же опытный человек и знаете это все не хуже меня. Просто наболела проблема с прыжками, и хотелось бы видеть готовое решение, а не часть его которая совсем ни к чему. И так ждали 215 сборки как манны небесной, а тут такая нужность уедет в 216ю Not so(
 
то есть поменял дату, записал, а потом ещё раз поменял и записал. В этом случае операция должна быть самой свежей. После огромного количества аналогичных действий намного более редкая задача может быть осуществлена несколько более сложным путём...
 
ляя в шапке операции время. И ничего не скачет.
 
Проблема, что после коррекции операции она переставляется вверх текущей даты, связана с тем, что у операций одинаковое время и программа последнюю редактируемую операцию поднимает наверх.
 
Проблема может быть решена, если при нажатии кнопки "Добавить" в диалоге "Добавить операцию" для новой операции будут не только очищаться поля "Сумма расхода" и "Примечание", но и устанавливаться текущее время. При этом желательно, чтобы  дата операции оставалась той, которая выбрана пользователем – это удобно когда вводишь чек вчерашних покупок, не нужно каждый раз менять дату.
 
...в операцию если нажать Ctrl+T в диалоге редактирования операции. Тут же обновляются поля дат и времени.
 
Тут та же проблема, что и с подстановкой времени при дублировании - нужно постоянно помнить, что при вводе каждой операции нужно нажать кнопки CTRL+T