создать новую тему раскрыть все
 
Здравствуйте,
с недавнего времени АС (v 3.0.267) стала падать при установке фильтра по расходу. При выборе других полей для фильтрации (в т.ч. по полю Статья, но по доходным операциям) все нормально.
Появляется стандартный диалог Windows "Программа не работает".
В eventlog падает:
Событие 1001
Text
 
Контейнер ошибки 108764038241, тип 1
Имя события: APPCRASH
Отклик: Нет данных
Идентификатор CAB: 0
 
Сигнатура проблемы:
P1: Cash.exe
P2: 3.0.267.0
P3: 582073f6
P4: Cash.exe
P5: 3.0.267.0
P6: 582073f6
P7: c0000005
P8: 000715da
P9: 
P10: 

 

и событие 1000
Text
Имя сбойного приложения: Cash.exe, версия: 3.0.267.0, метка времени: 0x582073f6
Имя сбойного модуля: Cash.exe, версия: 3.0.267.0, метка времени: 0x582073f6
Код исключения: 0xc0000005
Смещение ошибки: 0x000715da
Идентификатор сбойного процесса: 0x5700
Время запуска сбойного приложения: 0x01d291a8d3cd4c15
Путь сбойного приложения: M:\Desktop\Cash.exe
Путь сбойного модуля: M:\Desktop\Cash.exe
Идентификатор отчета: fe2f359b-ab94-4944-88e5-bcb0028dd8aa
Полное имя сбойного пакета: 
Код приложения, связанного со сбойным пакетом: 

 
Я так понимаю, проблема с какой-то расходной статьей. Как-то можно понять с какой именно?
 
методом перебора: если в представлении Статьи кликать по названию статьи, то происходит переход в представление Операции с установленным фильтром.
Далее, для всех операций с этой статьей изменил ее на вновь созданную.
При попытке удалить статью получил предупреждение:
https://yadi.sk/i/dnV_Xl2N3EnkaL
(но в списке операций ее не видно)
После удаления статьи не удается сохранить файл данных, получаю ошибку:
https://yadi.sk/i/MooVnPQE3EnmTa
 
как наиболее корректно починить базу?
 
но не могу ее найти.
Есть Таблица Categories, в ней я нашел сбойную статью. Хотел найти соответствующую ей транзакцию, но для таблицы Transactions нет столбца со статьей (Categories).
 
Посмотрите таблицу TransactionCategories. В колонке Category нужно искать сбойную статью. В соответствующей колонке Transaction будет номер соответствуйющей операции. Но вообще чтоб удалить у операции ссылку на статью, нужно удалять запись из таблицы TransactionCategories.
 
Ну или прислать файл мне, я быстро поправлю. И заодно посмотрю, что там поломалось, может быть сделаю доработку программы, чтоб такая ошибка не появлялась.
 
Спасибо большое!
Файл пока я не готов передавать, паранойяTo wink
Если пригодится, то вот что делал:
0. Сделал копию базы.
1. В АС: Для всех операций со сбойной статьей изменил статью на другую. Снял пароль для базы
2. В редакторе SQL. В таблице Categories нашел сбойную категорию, запомнил ее ID.
3. В таблице TransactionCategories, в колонке Category нашел сбойную статью. Там было несколько строк, но все с флагом Deleted. Но 2 записи ссылались на одну и ту же транзакцию, при этом имели разный флаг Deleted (см. скриншот: https://yadi.sk/i/Rmyddn4h3EtCtH ) Удаление записи только из этой таблицы проблему не решили. Запомнил № транзакции.
4. В таблице Transaction нашел нужную транзакцию. Тут вроде ничего страшного (скрин: https://yadi.sk/i/NNqo4whK3EtDa6 ). Но эту строку удалить нельзя, т.к. на нее есть ссылка из др. таблицы.
5. Удалил обе строки из п. 3, после чего удалил строку из п. 4.
6. Запустил в АС, проверил работу, вернул пароль.
 
Вроде все по инструкции, надеюсь ничего не сломал. Спасибо.
 
Сейчас как раз занимаюсь тем, что ужесточаю требования к представлению данных. Пусть лучше программа ругается на ошибку в момент возникновения ошибки, а не спустя полгода.
 
Если не секрет, каким средством смотрите файлы SQLite?
свернуть/развернуть ветвь SQLiteStudio [Meinfin 02/03/2017 16:31] # написать ответ
свернуть/развернуть ветвь Спасибо. [Dervish 02/03/2017 16:54] # написать ответ
 
Нужно будет попробовать. Я обычно пользуюсь DB Browser for SQLite.
 
И еще вопрос, единственное поле, которое показано кракозябрами, это GUID. Кстати, на приведенных Вами скриншотах это видно. Теоретически его можно переделать в текст. При этом немного возрастет время открытия и сохранения файла. Зато все данные будут читаемы в сторонних программах.
 
Как думаете, стоит перевести GUID в текстовую форму?
 
подобной доработки. А какие сторонние программы смогут работать с базой АС? В редакторах SQL разницы, я так понимаю, нет в каком виде GUID.
А вот скорость работы может быть критична. У меня в настройках указанно сохранять файл после каждого изменения и, даже сейчас, если работаешь на медленном диске, это довольно заметно.