воскресенье, 27 марта 2016 г.

Обновление MoneyTracker 1.11

Доработал MoneyTracker, теперь можно фильтровать проводки по дате, функционал работает изумительно. В этой версии для фильтрации можно использовать функции:
  • Дата проводки = заданной дате.
  • Дата проводки < заданной даты.
  • Дата проводки > заданной даты.
  • Все проводки за сегодня.
  • Все проводки за вчера.
  • Все проводки за последние 30 дней.
Разумеется, все это в произвольных сочетаниях.
Пришлось спешно выпускать обновление 1.11, т. к. 1.10 оказалось с двумя ошибками, которые были выявлены при тестировании на реальном устройстве. Обе при работе с фильтром по дате.

четверг, 17 марта 2016 г.

Обновление MoneyTracker 1.9

Закончил работу над серьезным обновлением для моего финансового менеджера MoneyTracker.
Во-первых переделал часть кода по отображению данных из базы данных в соответствии с рекомендациями Google (раньше данные в списки грузились в основном потоке, теперь грузятся в отдельном). Правда, изменения затронули не все приложение, буду править по ходу развития функционала.
Во-вторых, наконец-то реализовал давнюю идею фильтрации и сортировки списка проводок. Для чего это нужно? Ну, к примеру, нужно вывести все покупки в категории "Одежда" для контрагента "Марина". Раньше для этого пришлось бы сделать выгрузку в CSV-формате на сервер, открыть файл в Microsoft Excel или LibreOffice Calc и поиграть с фильтрами. Теперь это можно сделать прямо в MoneyTracker.
Фильтр строится на принципе "обратной польской записи", или, как ее еще называют, "бесскобочной записи". Например, если мне нужно отфильтровать всю одежду, купленную Марине, мне понадобится последовательно добавить в фильтр два условия и операцию "И":
- Категория РАВНО "Одежда";
- Контрагент РАВНО "Марина";
- Операция "И".
Итак, запускаю MoneyTracker и захожу в проводки.
Теперь к трем кнопкам в предыдущей версии приложения добавлена еще одна в виде воронки, нажимаю ее. В списке фильтров присутствует стартовый фильтр с именем "Без фильтрации", он соответствует прежнему отображению списка проводок.

Жму кнопку с плюсом, чтобы добавить новый фильтр. Назову его "Марина одежда". Внимание, фильтр можно сохранить только если будет что-то в поле "Примечания" (такая вот ошибка получилась).
На вкладке "Сортировка" выбираю режим сортировки, там все просто и понятно. Если поставить сортировку по дате, то чтобы сверху шли самые свежие проводки, нужно поставить флажок "Обратный порядок". Затем перехожу к самой важной вкладке "Условия".
Здесь всего две кнопки с плюсом и минусом. Первая добавляет условие или операнд И, ИЛИ, НЕ, вторая - удаляет условие, добавленное последним. Как обычно для MoneyTracker, для редактирования условия нужно сделать долгое прикосновение к соответствующей записи в списке. Добавлю выбранные мною условия (надо помнить, что в MoneyTracker база данных чувствительная к регистру, и вводить категории и контрагентов нужно точно так, как они записаны в соответствующих справочниках).
Вроде все сделал как надо, жму "Сохранить изменения". Позже можно вернуться и внести в фильтр какие-либо изменения. Окно редактирования фильтра закроется и я возвращаюсь к списку фильтров. Созданный мной фильтр добавился в список (сортировка списка - алфавитная). Итак, долгое нажатие на фильтр в списке позволяет его удалить или отредактировать, короткое нажатие его применяет. Применяю фильтр, получаю ровно то, что задумал.
Из идей на будущее - добавить возможность фильтрации по датам и функциям от дат, отдельно выводить сумму по отфильтрованным проводкам.
В качестве упражнения - фильтр, позволяющий отобрать категорию "Еда" для контрагентов "Марина" или "Ростислав".