И за время тестирование уже возникла ни одна смешная ситуация, когда я думал что находил ошибку, после долгих поисков от куда ноги растут, выяснялось что все гораздо проще
1. Вижу на своем счету сумму скажем в 15 тыс тнг. У меня есть планируемые платежи (расходы), за стоянку (6000) и отдать долг (12000). Включаю в расчет эти самые планируемые платежи. И вижу что сумма на счету изменилась всего-то в пару тысячь. А? Как такое может быть? Механизм расчета идеально простой и просто не может ошибочно что-то посчитать. Арифметически не возможно! =) Но все равно лезу в код, лезу в базу, пытаюсь найти баг, делаем с Супругой пересчеты в экселе, под этим делом очень активно спорим размахивая руками, я не знаю в чем дело... Моя программа обвинена в глючности и не работоспособности. Я в отчаянии.. Целый день и целую ночь пытаюсь понять в чем же дело! О_о
В итоге, все оказалось куда проче чем я думал ! Я совсем забыл про то что зарплата моей супруги, тоже является планируемой. И так как это первая зарплата, она составляет 17 тыс. Но не в том суть..
Включаю я в расчет планируемые документы. Да к расходам прибавляется 6+12 = 18 тыс. Но и к приходам тоже прибавляется 17 тыс. И в итоге состояние счета изменяется буквально на тысячу с копейками, и создается впечатление что что-то считается не правильно.. А на самом деле просто затупил я =)
После этого случая добавил в список документов поле показывающее планируемый документ или нет. Что бы при открытии списка документов, сразу были видны и планируемые среди общей кучи.
2. Заметил я разницу в суммах. Та сумма которая выводится в отчете по счету и та которая в главном окне модуля финансов, несколько отличаются. Примерно на 750 тнг... Я опять же замучился искать подвох. Ясное дело что дело в разности выборок. Но запросы и там и тут одинаковы. Фильтры идентичны. В чем дело? А??? Куда девались мои 750 тенге ? Как так? Записей уже в базе не мало, пробую хитрыми запросами вытащить разницу.. Никак..
В общем как только я не пытался выяснить в чем ошибка... Потом уже стал выполнять запросы и фильтры в специальном модуле где просто SQL запросы и табличка. И так и сяк.. Вижу что разница в 2 записи. Почему? Запросы ведь идентичны! Ну как так? Охх...
В общем все оказалось идеально просто. Сперва я добавил пару полей из одного запроса в другой, и добился идентичных результатов. Потом понял почему так.. Я по глупости использовал в запросах UNION вместо UNION ALL.
UNION выбрасывал из выборки одинаковые записи. Когда я добавил в запрос поле ID, эти строки стали разными и перестали выбрасываться из выборки.. А фактически рецепт таков : Переделать запросы на UNION ALL =) Всего лишь навсего)
А в целом, тестирование идет полным ходом, программа очень применима к жизни) После совершения любой покупки иду в программу и записываю расходы. Если кто-то из нас делает какой-то расход, запоминаем его и дома в любом случае заносим в базу. Я программу ношу на флешке и если что-то покупаю перекусить, прям на работе заношу свои расходы в базу) И таким образом у нас отрисован наш баланс, сколько потрачено и сколько есть фактически, и с учетом планируемых расходов и доходов. Это помогает нам понимать и видеть всю картину и не совершать лишних трат, ведь ясное дело что это не экономическая игра и взять судду или считерить - не выйдет
Ещё реализую несколько задачек по юзабилити, затем подправлю мануал, в тех местах где изменения в программе коснулись описания, и буду выкладывать в общее пользование.
а то это ж какую силу воли надо иметь, чтобы не лениться каждый расход вносить