Помощь

Пусто — это не то же самое, что пропало

Почти каждое сообщение об исчезнувших записях оказывается тем, что приложение ищет их не там: другой адрес почты, вход без аккаунта или загрузка, оборвавшаяся на половине. Различить это можно за две секунды в боковом меню.

Прежде чем делать что-то необратимое

Сначала обновите приложение. Часть неисправностей с этой страницы починена в обновлениях 5.2.1 и 5.3.0, и на старой сборке они не исчезнут, что бы вы ещё ни пробовали. Ваша версия — последняя строка в Настройках, в разделе Общие настройки.

А до тех пор ничего не трогайте. Два действия, которые раньше советовали смело, сегодня могут стоить вам записей:

  • Не переустанавливайте приложение. Расходы, добавленные без сети, всё записанное до входа в аккаунт, а также месячные лимиты и шаблоны без MiExpenses Premium лежат на телефоне и больше нигде. Переустановка их уносит.
  • Не выходите из аккаунта. Мягче, но очередь записей, которые ещё не дошли до сервера, при выходе пропадает.

Если хотите сначала иметь копию на руках: в боковом меню ДанныеСохранить как CSV, по одному транспорту за раз. Этот файл потом импортируется обратно в MiExpenses, так что сделать его стоит до всего остального.

Пять состояний, которые с главного экрана выглядят одинаково

Приложение, в котором ничего нет, во всех пяти случаях выглядит одинаково, а чинится по-разному. Откройте боковое меню и прочитайте строку под названием продукта — она разбирает четыре из пяти.

Пусто, и вы точно входили

В боковом меню есть адрес, но не тот, которым вы пользовались годами. Вы в другом аккаунте, и он действительно пуст. Прежние записи при этом целы.

Пусто, и войти вас никто не просил

Вы нажали Пока без аккаунта, и в боковом меню написано Работаем без аккаунта. Такие записи живут только на этом телефоне. При входе они переезжают в аккаунт сами — но лишь если он пустой. Если в нём уже есть машины, записи остаются на месте, и приложение об этом говорит; перенести их тогда можно вручную: в боковом меню ДанныеПеренести в аккаунт, указав машину, к которой они относятся.

Машины, которых у вас никогда не было

Та же строка в боковом меню, а машины чужие: вы нажали Осмотреться, и это выдуманный набор, который приложение показывает для знакомства. Убрать его: в боковом меню ДанныеУбрать демо, ваших записей это не трогает.

Адрес верный, пусто, приложение не обновлялось год

Старые сборки бросали всю загрузку целиком, когда сервер присылал им запись незнакомого вида, — и аккаунт приезжал пустым при верном адресе. Обновитесь и перезагрузите данные.

Часть записей вернулась, а часть нет

Загрузка оборвалась на половине, и обычно приложение об этом говорит: Синхронизация прервана — слабая сеть. Попробуйте обновить снова. Обычное обновление её не дотянет — только полная перезагрузка просит у сервера всё заново.

Диагноз ставит адрес

Записи привязаны к адресу почты — не к телефону и не к тому, какую кнопку входа вы нажали. Версия 5.1 перешла на новую схему входа, поэтому каждую старую установку один раз попросили войти заново. Это ожидаемо; путаница с аккаунтами начинается после.

  1. Сначала обновитесь, потом делайте выводы

    На сборке старше 5.3.0 аккаунт может приехать пустым даже при верном адресе. Пока приложение не обновлено, разбираться дальше бессмысленно.

  2. Откройте боковое меню и прочитайте одну строку

    Под названием продукта стоит либо адрес, под которым вы вошли, либо строка Работаем без аккаунта. Эта строка разделяет четыре состояния из пяти.

  3. Вернитесь на экран входа

    Это одна и та же строка в Настройках, в разделе Общие настройки. Когда вы вошли под чужим адресом, она называется Выйти; когда вы работаете без аккаунта — Войти в аккаунт.

  4. Войдите под тем адресом, которым пользовались всегда

    Важен адрес, а не способ. Google, пароль и код из письма ведут в один и тот же аккаунт, если адрес тот же.

  5. Проверьте написание буква в букву

    Регистр и лишние пробелы значения не имеют. Точки и плюс-теги — имеют: b.o.b@gmail.com и bob+car@gmail.com это другие аккаунты, а не bob@gmail.com.

  6. Не помните, какой это был адрес?

    Поищите письма от MiExpenses — приглашение к общему доступу, сброс пароля — или, если вы покупали MiExpenses Premium, чек Google Play.

  7. Дайте первой синхронизации закончиться

    Записи приходят страницами, и приложение показывает ход загрузки. Аккаунт, наполовину пустой через две секунды после входа, обычно просто ещё качается.

Две перезагрузки — это разные вещи

Кнопка обновления на главном экране забирает только то, что изменилось с последней удачной загрузки. НастройкиОбщие настройкиПерезагрузить все данные просит у сервера всё с самого начала, и только она вытягивает синхронизацию, оборвавшуюся на половине.

Ни та ни другая ничего не удаляют. Записи, ждущие на телефоне, остаются в очереди — поэтому перезагрузку всегда безопасно попробовать до того, как писать кому-либо. Но сеть ей нужна: без неё приложение отвечает Недоступно в режиме без сети, и ничего не происходит.

Что ещё ломается

По порядку от частого к редкому, а не по сложности починки.

Пишет, что нет связи, а телефон явно в сети

До 5.2.0 включительно приложение спрашивало не о том, есть ли у вас сеть, а о том, проверил ли Android эту сеть, достучавшись до тестового адреса. Провайдеры, DNS-фильтры, VPN и корпоративные шлюзы этот тест блокируют, а сразу после подключения к Wi-Fi ответа ещё просто не существует. На таких телефонах приложение отказывалось даже пробовать. В 5.2.1 проверку убрали, так что в большинстве случаев всё лечится обновлением.

Одна причина обновление переживает. До сервера приложение добирается одним из двух маршрутов и переключается между ними само, когда маршрут недостижим совсем. Неудобен случай, когда маршрут отвечает, но отвечает плохо: там приложение переключает только то, что читает, — повторить сохранение по другому маршруту значило бы записать его дважды. Чтение тогда выглядит исправным, а сохранение продолжает падать.

У этого случая есть своя диагностика — в Настройках, раздел Дополнительно. Активный маршрут называет тот, что используется сейчас; Проверить подключение говорит, отвечает ли он; Режим подключения переключает его вручную между Авто, Хельсинки и Москвой, чтобы попробовать второй; а после переезда между сетями или странами Сбросить автоопределение заставляет приложение забыть маршрут, который работал раньше.

Расход не сохраняется

Форма расхода раньше сначала решала, а потом пробовала: спрашивала, есть ли сеть, и писала на телефон, только когда ответ был «нет». Когда сети не было вовсе, это работало. Терялся случай посередине — сеть есть, а сервера нет: запись уходила в шлюз, который её всё равно не принял бы. С 5.3.0 порядок обратный: форма сначала отправляет на сервер и пишет на телефон при любом отказе, — и новый расход больше не отвергается вовсе.

Правка уже сохранённой записи — другое правило, и оно не менялось: изменять и удалять можно только со связью, создавать — без неё. Очередь уходит, когда со связью открывается главный экран, поэтому вернитесь на него, когда появится сеть, а не закрывайте приложение прямо из формы.

Приложение закрывается само, обычно при добавлении расхода

Форма расхода сохраняет черновик каждый раз, когда вы уходите с экрана, и до 5.2.1 этот черновик не проверял, заполнены ли поля. Выбрать вид расхода и уйти с экрана, не дойдя до одометра, означало закрыть приложение. Обновитесь; пока не обновились — заполняйте одометр до того, как уйти с формы.

После обновления пропали напоминания, и переустановка не помогла

Сначала проверьте аккаунт по разделу выше — список, который выглядит пустым, гораздо чаще оказывается чужим аккаунтом, чем потерянной записью. Потом загляните на вторую вкладку списка напоминаний, где лежат отложенные и выполненные: отмеченные выполненными, разовые с прошедшей датой или пробегом и отложенные уходят из активного списка по замыслу.

Есть и механизм, который действительно удаляет. С выпуска 5.1.0 приложение исполняет отозванный общий доступ: при первой синхронизации после обновления машина, которой с вами делились и делиться перестали, удаляется с телефона вместе со своими напоминаниями и расходами. Переустановка их не вернёт — сервер больше не пришлёт их снова. Если случилось именно это, напишите нам: нужна серверная запись по вашему аккаунту.

Месячные лимиты и шаблоны не вернулись

Машины, расходы, категории, напоминания и общий доступ живут на сервере и возвращаются на любом телефоне. Месячные лимиты и шаблоны расходов — часть MiExpenses Premium, и сервер хранит их только для аккаунта, у которого он есть.

Отсюда одно состояние, которое читается ровно как потеря данных. Там, где покупки Google Play не работают, приложение всё равно открывает лимиты и шаблоны — их можно завести, ими можно пользоваться, лимит будет считать, — а сервер при этом продолжает отказываться их хранить. Телефон они не покидают: переустановка их стирает, второй телефон их не показывает, повторный вход их не возвращает.

В выгрузку CSV они попадают в любом случае — это и есть копия, которую стоит сделать перед сменой телефона. На аккаунте с MiExpenses Premium они выгружаются сами и приезжают на следующее устройство.

Вместо расхода топлива прочерк

Цифра считается между двумя заправками с полным баком на одном топливе: расстояние между их показаниями одометра против всего, что залито в бак после более ранней из них. Десять неполных заправок не дают цифры вовсе, и приложение печатает прочерк, а не вводящий в заблуждение ноль.

Значит, проверьте, что хотя бы у двух заправок стоит отметка Полный бак и записан одометр. Если вы редко заливаете под горловину, включите Расход топлива в Настройках, раздел Настройки интерфейса: это пускает в расчёт неполные заправки, и цифры тогда идут со знаком ~. Машина на двух видах топлива держит отдельную цифру для каждого, а зарядка электромобиля всегда считается полной. И одна поправка к совету, который дают годами: объём бака ничего не даёт цифре между двумя полными заправками. Он нужен только для оценки по неполным — и там нужен обязательно: если неполные заправки включены, а цифры всё равно нет, дело в незаполненном объёме бака.

Не получается зарегистрироваться

Возьмите Войти по коду из письма — пароль придумывать не придётся. Если код не приходит, проверьте папку со спамом и написание адреса; когда коды недоступны, приложение так и говорит и предлагает Google или пароль. А если вы просто хотите сначала попробовать приложение, Пока без аккаунта пропускает форму целиком, и войти можно позже.

Если вход через Google отклонён строкой о том, что адрес уже связан с другим способом входа, — этот адрес зарегистрирован с паролем. Адрес тот же, дверь другая: возьмите пароль или код из письма.

Другое сообщение, Регистрация не завершена на главном экране, не значит, что аккаунт сломан. Оно значит, что вход не дошёл до конца, потому что не удалось достучаться до сервера, — читайте его как неисправность со связью выше.

Расход задним числом не принимается из-за одометра

Приложение держит даты и показания одометра согласованными: более поздняя дата не может нести меньший пробег, чем более ранняя. Когда историю за несколько месяцев вводят от новых записей к старым, эта проверка срабатывает постоянно.

Диалог не просто возражает: в нём названо показание, которое подходит к выбранной дате, и предложено его подставить. Согласиться обычно правильно — но подставляется поле, а не сохраняется запись, так что после этого сохраните её ещё раз. А если вводить историю от старых записей к новым, проверка не сработает ни разу.

Уведомления о напоминаниях не приходят

Напоминания проверяет на телефоне фоновая задача примерно раз в шесть часов, и энергосбережение Android вправе запустить её позже. Сверх того уведомления о напоминаниях держатся в границах 09:00-22:00 по местному времени, не чаще одного раза в восемь часов, и ни одно не показывается, пока приложение открыто на экране.

Проверить стоит две настройки: уведомления для MiExpenses должны быть разрешены в настройках Android — приложение спрашивает об этом один раз, и этот вопрос при первом запуске легко закрыть не глядя, — и на телефонах Xiaomi, Huawei, Samsung и Oppo приложение нужно вывести из-под энергосбережения, это самая частая одиночная причина опоздания на часы. И ждите задержки в часах, а не в минутах: это напоминание о плановом обслуживании, а не сообщение.

Если ничего не помогло — пишите, но по верному адресу

Оба ящика читает один человек, так что письмо не в тот из них не потеряется. Взаимозаменяемыми они от этого не становятся: один из двух назван в политике конфиденциальности как адрес для обращений по вашим данным.

  • Что-то сломалось — адрес верный, приложение обновлено, синхронизация закончилась, а пусто: support@mve.suxlv2.space. Напишите версию и то, что показывает боковое меню.
  • Что-то про ваши данные — копия, исправление, удаление: contacts@mve.suxlv2.space, с того адреса, под которым входите.

Что положить в сообщение, чтобы проблему воспроизвели без второго круга вопросов, — на странице поддержки.

Ничего не подошло?

На странице поддержки — оба адреса, четыре строки, из которых получается пригодное сообщение об ошибке, и как забрать свои данные или попросить их удалить.