logo
logo

Форум AbilityCash 3.0.236 beta

создать новую тему раскрыть все
AbilityCash 3.0.236 beta Dervish 11/04/2015 21:00 #написать ответ
Спешу сообщить, что для скачивания доступна бета-версия 3.0.236 AbilityCash. (заменена следующей версией)
 
В этой версии пришлось переписать огромное количество кода. И хоть я старался не допускать ошибок и исправлять их сразу же, наверняка часть ошибок просочилась в эту бету. Поэтому я настоятельно прошу использовать эту сборку только для проверки и поиска ошибок.
 
Теперь об отличиях новой версии:
  • Новый формат файла. Теперь для хранения данных в файле используется SQLite. Если не установлен пароль для доступа к данным, Вы сможете просмотреть (и изменить!) Ваши данные при помощи сторонних программ, например, DBBrowser for SQLite. Если пароль установлен, все Ваши данные зашифрованы и доступ к ним из сторонних программ будет невозможен.
  • Пароль более нигде в файле данных не хранится, а используется как ключ для алгоритма шифрования AES-256, который дешифрует и шифрует заново Ваши данные. Как следствие, теперь забытый пароль означает потерю данных. Я больше не смогу восстанавливать забытые пароли.
  • Смягчено ограничение для валют на максимальные 4 десятичных цифры после запятой. Теперь можно создать валюту не более чем с 15 символами после запятой. Думаю, этого будет достаточно для желающих вести учет Bitcoin или ПИФ.
  • Немного переработано сохранение настроек страниц. Теперь программа при старте загружает те настройки, которые были актуальны на момент последнего сохранения данных (Ctrl+S). Однако, возможность сохранить "начальные" (не успел исправить на "предпочтительные") настройки остались. Они точно так же сохраняются по Alt+S, а загружаются в страничку по Alt+Home.

 
Новая версия не сможет записывать данные в формате 2.0, однако должна корректно читать Ваши нынешние данные (за исключением сохраненных настроек страниц). При этом, если Вы откроете в новой версии файл второй или первой версии, он откроется в режиме "только для чтения", программа попросит указать новое название файла для сохранения.
 
И еще, попрошу все замеченные ошибки по этой сборке публиковать прямо в этой ветке форума, не в доработках. Я хочу быстро исправить самое критичное и выпустить уже релиз, тогда можно будет пользоваться разделом доработок этого сайта.
Отличная новость! ohn 11/04/2015 21:46 #написать ответ
потестим Спасибо!
 
Сразу прошу вернуть период операций "Все операции", "Год", "Полугодие" и т.д. Или где-то включать нужно?
 
При "Сохранить как" под тем же именем происходит ошибка:
https://yadi.sk/i/M9BCx7XrfvLEC вместо предупреждения об открытости файла в другой программе.
 
При импорте из xml-файла в новую (чистую) базу (xml-файл создан из пересохраненной в новом формате старой базы) происходят ошибки:
https://yadi.sk/i/VWnEZRbJfvLdb
https://yadi.sk/i/5zSL2f9WfvLVN
https://yadi.sk/i/QtVNNUpWfvLmZ
Статьи импортировались отдельной страницей:
https://yadi.sk/i/RTYWcDNAfvMF8
Те же ошибки при импорте из xml-файла созданном во 2-й версии программы.
Спасибо. Dervish 12/04/2015 13:04 #написать ответ
Период операции я не убирал из программы, все осталось как есть. Вообще, настройки программы (не путать с настройками файла данных) берутся те же самые, что и для 2-й версии. Так что все должно было показываться у Вас. На всякий случай проверьте: диалог настроек (F9), закладка "Интерфейс", должна стоять галочка "Улучшенный выбор диапазона дат".
 
Ошибка возникающая при сохранении файла данных: код ошибки говорит именно о том, что файл открыт в другой программе. Но Вы правы, это частая ситуация, нужно сигнализировать о ней более внятным сообщением.
 
Что же касательно импорта... Тут сложнее, отлавливать это лучше на конкретных примерах, вызывающих ошибки. Дело в том, что на своих данных я проверял экспорт и импорт, все работало. Я могу, конечно, по сообщениям понять, в каком именно месте возникли эти ошибки, но контекст неясен совершенно. В общем, если получится прислать примеры xml-файликов, вызывающих ошибки, это будет просто отлично.
ошибки Daniil 12/04/2015 12:53 #написать ответ
Файл "тест" есть:
удаляю классификатор "статьи" и получаю:
(меня он не устраивает, т.к. мне нужно без разделения по операциям и для операций перевода)
 
Файл: UtilityClasses.cpp (227)
Версия: 3.0.236
Стек вызовов:
004b6308 Corrupted.
 
Файл: UtilityClasses.cpp (227)
Версия: 3.0.236
Стек вызовов:
004b632c Corrupted.
 
Файл: UtilityClasses.cpp (227)
Версия: 3.0.236
Стек вызовов:
004b549b Corrupted.
 
Файл: UtilityClasses.cpp (227)
Версия: 3.0.236
Стек вызовов:
004b6350 Corrupted.
 
--------------------
в результате все же "статьи" удалились.
--------------------
если открыть программу без файла БД, то классификаторы удаляются и добавляются без ругани, но ругань возникает при сохранении и создании файла.
----------------------
открыл программу выругалась, что нет файла "тест".
сохранил и создал файл "1.cash".
при сохранении или закрытии программы сохранение невозможно. получаю:
Возникла ошибка при сохранении данных.
Код ошибки:
0xA0150013
----------------------
создал файл "тест" стало сохраняться нормально.
-----------------------
потренировался, файлы БД созданные убил, запускаю программу без БД, лезу в настройки и они как мне показалось где-то сохранились.
Сервис/настройки/операции - в реестр теперь записываются?
 
прощай портабельность?
 

Спасибо. Dervish 12/04/2015 13:27 #написать ответ
Сразу кратко: настройки должны записываться туда, куда и записывались. С портабильностью прощаться не нужно, это баг, который будет исправлен.
 
Про файл "тест" не совсем понял, как он появился? Это новый файл? Или Вы просто взяли существующий и переименовали его?
 
если открыть программу без файла БД, то классификаторы удаляются и добавляются без ругани, но ругань возникает при сохранении и создании файла.

Из этого, как я понимаю, следует, что файл "тест" существовал до начала экспериментов?
 
открыл программу выругалась, что нет файла "тест".
А это следует понимать, что перед запуском файл "тест" был удален?
 
сохранил и создал файл "1.cash".
Что сохранил? Как создал?
 
Код ошибки:
0xA0150013
Я посмотрел по коду: очень неприятная ошибка. Нужно искать, что непросто. Вот если б какой-нибудь тестовый файлик чтоб повторить эту ошибку?
 
Похоже, часть из этих ошибок, если я верно понял, могла случиться из-за ошибок с сохранением настроек. В общем, нужно проверять.
 
Спасибо за сообщения.
пояснения Daniil 12/04/2015 14:22 #написать ответ
запустил программу в папке в которой кроме программы ничего не было. нажал сохранить, ввел имя файла - появился файл рядом с программой.
старый файл с данными от старой версии программы в эксперименте не использовал (файл в котором веду учет не трогал пока вообще). периодически удалял новые созданные файлы и создавал заново. в частности вместо "тест" создал "1", расширение программа сама подставила.
сохранял и создавал файлы через меню программы - выбирал в меню п.п. "сохранить".
если пишу что открывал без БД, значит на тот момент в папке с программой была только программа. файлы удалял ради эксперимента перед запуском программы.
вобщем: файлы создавал, удалял, создавал с другим именем, снова удалял = издевался над программой, т.е. тестировал.
 
тестовый файлик - попробую повторить. все удалил уже.
 
мыло свое здесь повторите плиз. лучше наверно в первом сообщении. что бы туда кинуть файл.
 
ошибку 0xA0150013 не могу повторить. файлы создавал, удалял, имена менял, настройки менял .... эта ошибка не вылезла.
возможно потому что программа уже что-то где-то сохранила. список последних открытых файлов помнит, даже если они удалены. если удалены ругается, что нет последнего используемого.
почистил реестр на сколько смог, пробовал повторить, но ошибка не повторилась.
:conf:
 
попробовал еще поиграться на вкладке "классификаторы" - добавлял и удалял статьи. вылезали другие ошибки и иногда, если после добавления или удаления нажать в меню "сохранить" или попробовать закрыть программу крестом справа в верхнем углу, вылезал запрос: "сохранить, не сохранять, отменить". при нажатии "сохранить" появлялась ошибка 0xA0150013. Но! передать файл с ней нельзя т.к. она в файл не пишется. ошибка остается только в программе. программа закроется если нажать не сохранять. писать ошибку в файл программа не хочет.
сколько не пробовал четкого алгоритма появления ошибки нет.
и еще - странно само появление запроса на "сохранить, не сохранять, отменить" т.к. сохраняться должно автоматически.
 
НАШЕЛ алгоритм!
-----------------------
вводим классификатор. запоминаем его. удаляем его. вводим еще раз точно такой же. сохраняем или закрываем программу.
должна выскочить ошибка.
там есть название в единственном числе и во множественном, если в какую-то графу ввести название, которое до этого уже употреблялось, то будет ошибка.
Ну, вроде бы,... Dervish 13/04/2015 23:20 #написать ответ
...победил перечисленное в этом сообщении.
 
Насчет портабилити, я проверил, вроде все работает. И потом обратил внимание, что Вы написали:
запустил программу в папке в которой кроме программы ничего не было

Напомню: чтобы программа не лезла в реестр, файл AbilityCash.ini должен находиться в папке с исполняемым файлом AbilityCash.exe. Возможно, причина именно в этом?
 
Моя почта есть внизу каждой страницы. Но пока, вроде ничего присылать не нужно, я все нашел из перечисленного. Спасибо еще раз.
ага))))) Daniil 13/04/2015 23:36 #написать ответ
Напомню: чтобы программа не лезла в реестр, файл AbilityCash.ini должен находиться в папке с исполняемым файлом AbilityCash.exe. Возможно, причина именно в этом?

так хотелось в новой версии поскорее поковыряться, что этот момент упустил. сорри)))))))))))
настройки страницы Daniil 12/04/2015 15:55 #написать ответ
Действия - сохранить настройки страницы - нет сохранения настроек если не нажать ручками "сохранить" в меню файл. В настройках программы стоит автосохранение при закрытии.
Впечатление что "сохранить настройки страницы" и "начальные настройки страницы" вообще не нужны. Настройки страницы сохраняются при нажатии сохранить в меню файл - более ничего жать не надо.
 
резервное копирование:
одна копия в день малова-то. иногда лезешь в программу по несколько раз в день. хорошо бы штук 10 копий для перестраховки. мультикопирование вроде надежнее будет.
Да, мне следовало поподробнее расписать про настройки страниц. Dervish 13/04/2015 23:32 #написать ответ
В общем да, так и задумывалось, что настройки страницы сохраняются всегда, когда пользователь нажимает "Сохранить". Если открыть файл, поиграться с фильтрами страниц и закрыть файл не сохраняя, то настройки не перепишутся. Единственное, я не проверил, работает ли это при автосохранениии, теперь обязательно это сделаю.
 
В отношении старого механизма сохранения настроек страниц... Ну пусть себе будет, он особо не мешает ведь, верно? Как-то у меня рука не поднимается вырезать его из программы.
 
Резервное копирование. Там есть оборотная сторона медали: либо диск забьется резервными копиями, либо они будут нести минимальные изменения друг относительно друга. Да и вообще, мне пока хотелось бы доделать релиз и пока не хочется отвлекаться на доработки резервного копирования. Кстати, никто не запрещает делать копии сторонними средствами.
ворчание: Daniil 13/04/2015 23:47 #написать ответ
сейчас во 2 версии: настроил вкладки и каждый раз при открытии получаешь требуемое. теперь придется жать дополнительные клавиши. неудобно.
 
диск копиями не забьется, если количество копий ограничить.
вот и хорошо что они будут минимально отличаться друг от друга. ведь в том случае если последний рабочий файл вдруг станет "битым", то "откатываться" далеко не придется и потеря данных тоже будет минимальна (!), а не целый день работы терять как сейчас.
 
сторонние средства ...... нннннууууу это понятно
Ошибка открытия сохраненного файла Alhimik 12/04/2015 16:03 #написать ответ
Открыл файл из версии 2.
Сохранил настройки, ввел несколько операций.
 
Ошибка 1. По мере ввода заметил несовпадение остатка с банковской выпиской. Найти причину расхождения не смог. При сравнении файл v2 и v3 увидел, что остаток различается уже у импортированных операций.
 
Ошибка 2. Закрыл файл, открыл заново. Все статьи бюджета потеряли название, в колонке плана стоит 0, в колонке факта пусто, лимиты остались.
 
Ошибка 3. При попытке импортировать курс валют универсальным плагином с сайт ЦБР программа стабильно падает. Импорт от финам и Максвелл работают.
Win 8.1 x64
Спасибо за сообщение. Dervish 13/04/2015 23:36 #написать ответ
Постараюсь завтра заняться перечисленными Вами ошибками.
 
Очень мне не нравится Ошибка № 1 Вашего списка. На своих данных я смотрел и сверял остатки. Почему там может не сходиться, сие для меня большая загадка. Можете внимательнее посмотреть, может заметите какие-то признаки?
Помимо исправления багов,... Rodion 13/04/2015 21:32 #написать ответ
В финальной версии будут ещё другие изменения?
Или предварительно, это окончательная версия?
А что такое "Финальная версия"? Dervish 13/04/2015 23:23 #написать ответ
Я пока не планирую останавливать работу над программой.
 
А если говорить про релиз 3.0, то пока это все, что я планировал. Впрочем, я хотел еще добавить в программу автоматическую проверку выхода новых версий.
Ясно. Сам понял, что задал тупой вопрос)) Rodion 14/04/2015 09:20 #написать ответ
Beta - есть beta
 
Хотя, жаль что не доработан вывод отчётов в печать
Ошибка при удалении операции Rodion 13/04/2015 22:15 #написать ответ
Создал операцию прихода. Через несколько секунд, при удалении, ошибка:
 

 
Та же ошибка выскакивала и потом, при удалении старых операций
Попробую угадать... Dervish 13/04/2015 23:21 #написать ответ
Если это сообщение выскакивало при сохранении файла данных, то я его только что исправил, постараюсь завтра выложить обновленную сборку, о чем напишу в этой же ветке форума.
спасибо (-) Rodion 14/04/2015 09:11 #написать ответ
А как по скорости работы SQLite? abro 14/04/2015 09:56 #написать ответ
Переехал с Homefin (там paradox). Всего лишь 40000 записей. Тормозит страшно.
Пробовал gnucash - там же тоже SQLite - такие же тормоза.
Нашел Ваш продукт - О, это то, что нужно, все операции проходят практически без задержек. И на тебе, и здесь будет SQLite.
По скорости переход на SQLite практически не заметен. Dervish 14/04/2015 11:17 #написать ответ
Особенность AbilityCash в том, что он все данные во время работы держит в памяти. Это, как Вы понимаете, работает быстро. Сохранение данные в базу инкрементное, то есть записываются только измененные данные. Скажем, добавите вы к 40000 еще две новые операции, так во время сохранения данных записываться будут только они, эти самые две добавленные операции. В такой реализации единственное, что может притормаживать, это загрузка данных при открытии: тут уже без исключения все данные следует прочитать и загрузить в память.
извините, не понял - Daniil 14/04/2015 19:37 #написать ответ
- а что Вас заставляет переходить на версию 3 с версии 2?
двойка она что работать перестала?
Вам нужна эта "SQLite"?
Собираетесь вести бухучет на бегу с сумками в руках на смарте зажатом в зубах и вводить данные языком вслепую? Вы заканчивали цирковое училище или по жизни самородок? Не тушуйтесь, здесь полфорума такие, не в смысле клоуны, а в смысле самородки.
Если нет, то зачем Вам версия 3?
Юзайте версию 2 и будет Вам удобство и нервное спокойствие на ближайшие годы.
 
з.ы.
я перейду на тройку или когда двойка работать перестанет или когда тройка станет удовлетворять моим запросам.
во второе не верю. тут принципы вмешались.
скорее первое случится.... но до этого еще имхо годы......
 
З.Ы.2
Принципиальные принципы принципиально воздействуют на прогу......
 
"Собрался слюнтяй ставить свой мелкобуржуазный минус перед нашей гордой большевистской проводкой? Да???
Боже царя храни.....!
Расстрелять два раза!!!"
 
"Вы сударь против нашего утонченного интеллигентского минуса? Против сторно?!
Да, Ваше бродь!
Палач, аккуратно отрубите ему, пожалуйста, голову! Только не делайте ему больно! Он не виноват, он просто не силен в бухучете. Аминь с-до епть!"
получил ошибку Vidocq 15/04/2015 11:40 #написать ответ
Файл: HistCtrl.cpp (191)
Версия: 3.0.236
Стек вызовов:
004e1358 032e43a0 Corrupted.
 
открыл закладку отчеты - Динамика оборотов - Весь период - С разбивкой по Месяц - Выбрал пункт в Серии данных - Получил ошибку
неплохо бы добавить возможность Vidocq 15/04/2015 11:46 #написать ответ
перемещения счетов и папок в окне Счета - клик правой кнопки - Переместить Вверх / Вниз
А то сейчас пытаясь переместить папку на строку выше (или ниже) ничего не получается - папка перемещается в другую папку и становится подпапкой
получил ещё ошибку Vidocq 15/04/2015 11:54 #написать ответ
Файл: PageRprt.cpp (2200)
Версия: 3.0.236
 
Стек вызовов:
 
Закладка Отчеты - Остатки по счетам - За весь период - В валюте Руб - По счету валюта
Ошибка выскакивает не сразу а спустя несколько секунд (15-20)  после выполнения действий
Спасибо. Нашел и исправил. (-) Dervish 15/04/2015 20:20 #написать ответ
Спасибо. Тоже исправил. (-) Dervish 15/04/2015 20:39 #написать ответ
у меня не открывается поле примечание slachizh 17/04/2015 01:50 #написать ответ
Ну то есть вообще не открывается в 236-й версии при открытии файла версии 235. Думал может скрыто они в базе и существуют, но проверил. Нету. Только это поле каждой записи и не открывается. И никаких ошибок не выдает. Вообще с этим полем что-то не то.
Опишу последовательность.
1)Открыл файл версии 235 объемом 12.8МБ в программе 236.
2)Открывался необычно долго, не меньше пары минут.
3)Открылся, все вроде есть, кроме поля примечание. Оно пустое.
4)Сохранил базу под новым именем.
5)Открыл новую базу. Поле прочее пустое.
6)В новой базе в любой операции пытаюсь заполнить поле прочее.
7)Сохраняю файл, выхожу из программы.
Открываю новый файл. Поле примечание путое.
 
Да. Объем новой базы стал 19.7МБ. И это без примечаний.
 
Далее попытался экспортировать из базы версии 235 через xml в версию 236. При импорте появилась куча ошибок и импорт не удался
 
Файл: dbEngine.cpp (596)
Версия: 3.0.236
 
Стек вызовов:
004d3b4d 778c07d6 778c07d6 778c07d6
778c07d6 778c07d6 778c07d6 778c07d6
778c07d6 778c07d6 778c07d6 778c07d6
778c07d6 778c07d6 778c07d6 778c07d6
 
Файл: UtilityClasses.cpp (227)
Версия: 3.0.236
 
Стек вызовов:
0b016708 004b979c fffdb906 Corrupted.
 
те же ошибки и при экспорте из xls-файла
 
Что-то не то!
Спасибо. Dervish 17/04/2015 14:08 #написать ответ
Ошибку с комментариями (примечаниями) нашел и исправил.
 
То что долго открывается файл 2-й версии мне кажется странноватым, но не критичным потому что я особенно не старался сделать быстрым конвертацию файла в новый формат: выполняется она всего один раз. Куда важнее, мне кажется, как будет открываться сохраненный файл 3-й версии. Было бы интересно услышать отзыв владельца большого файла данных.
 
Увеличение размера файла мне тоже не кажется критичным. Времена дискеток прошли, а для флешки несколько десятков мегабайт - не размер. Зато Вы получаете возможность доступа к Вашим данным напрямую. Если, конечно, не установлен пароль.
 
Экспорт и импорт. Думаю, я исправлю те ошибки, что Вы указали. Но ведь там еще были и замечания к исходным данным, верно?
Сергей, я не совсем понял ваш вопрос - были замечания к исходным данным? slachizh 17/04/2015 19:44 #написать ответ
Что вы имеете в виду?
При импорте вторая представленная мной ошибка выскакивала очень часто, похоже на каждой транзакции. У меня терпения не хватило, я просто закрыл программу через диспетчер задач.
Не важно,... Dervish 17/04/2015 20:25 #написать ответ
...я уже нашел эту ошибку, сейчас занимаюсь ее исправлением.
Сергей, вы бы подправленные версии тоже выкладывали, что бы их и дальше тестить можно slachizh 18/04/2015 12:49 #написать ответ
было. А то я уже как бы и не при делах.
Да, вы правы,... Dervish 18/04/2015 14:57 #написать ответ
...я задержал с выпуском новой сборки. Исправляюсь, для нее сделал отдельную ветку форума.
время открытия файла Belfegor 18/04/2015 03:22 #написать ответ
И так, файл данных 2-й версии весил 7,4 мб, файл 3-й 10,0 мб.
Около 22,5k записей конвертировалось в 3-ю версию менее чем за 30 секунд.
2-я версия открывает файл практический мгновенно (4гб оперативки, 2,2 процессор).
3-я версия открывает файл 5-10 секунд, уже есть ощутимая задержка. Для моего ноута это не критично, а вот комп по слабее будет задумываться.
Спасибо за информацию. Dervish 18/04/2015 14:58 #написать ответ
Сам я обладаю только файлами по 2-3 мегабайта, на них все открывается очень быстро и в версии 2.0 и в версии 3.0.
 
Как бы узнать, где находится тот предел размера файла, за которым уже становится дискомфортно работать с программой?
 
Впрочем, давайте перенесем это обсуждение в ветку, созданную для следующей сборки программы.