понедельник, 1 мая 2017 г.

Обновление Money Tracker 1.21

Для меня это очень важный релиз Money Tracker, потому что в нем наконец-то реализована настоящая синхронизация данных между устройствами. К сожалению, пока синхронизируются только проводки (доходы, расходы, переносы средств между счетами), а счет (счета), контрагентов, валюты и категории нужно обязательно привести в соответствие. Это очень важно! Причем не просто названия, а и внутренние идентификаторы тоже. Сложность в том, что без ручной правки JSON-файлов или без перетаскивания файлов из папки в папку этого пока что не сделать. Есть, чем заняться при подготовке следующего обновления.
Самый интересный момент в синхронизации - синхронизация проводок, относящихся к переносу со счета на счет. Эти проводки - парные (одна является расходом для одного счета, другая - доходом для другого), обе ссылаются друг на друга. Поскольку при синхронизации изменяются идентификаторы соответствующих строк в таблице, ссылки друг на друга становятся недействительными, и их приходится заменять в конце процесса синхронизации.
Еще один скользкий момент, для синхронизации нужно выбрать идентификатор устройства, если оно уже участвовало в синхронизации, либо ввести вручную. Но если ввести идентификатор "от балды", то в процессе синхронизации сервер "виснет", поскольку такая ситуация в нем не обрабатывается. Надо подправить и код сервера, благо у меня он выложен на GitHub.
Проводки, загруженные с другого устройства, отображаются светло-серым в списке проводок.