logo
logo

Форум База в SQLite

создать новую тему раскрыть все
База в SQLite Юра 30/07/2015 19:36 #написать ответ
Большая благодарность автору, что перевел формат хранения данных в SQLite.
 
Я немного поисследовал структуру базы и у меня возник один вопрос:
В таблице TransactionGroups есть колонка Position. Что это за колонка и что означают значения в ней?
 
P.S.
Вообще, как я понимаю сама таблица TransactionGroups - это задел на будущее для поддержки сплитов.
Да, таблицу для хранения... Dervish 30/07/2015 19:50 #написать ответ
...операций пришлось разделить на две, создав TransactionGroups именно для хранения сплитов.
 
Смотрите: операции должны строгий хронологический порядок для того, чтобы остаток после выполнения операции имел верное значение. Да и просто пользователи хотят, чтобы операции не путались. Это означает, что должен существовать механизм для установления порядка операций, которые формально записаны на одно и то же время (поле HolderDateTime в формате unixtime). Поле Positions служит именно для установления такого порядка. Другими словами, по двум столбцам, HolderDateTime и Positions можно создать уникальный ключ.
Ага, теперь ясно. Юра 30/07/2015 20:29 #написать ответ
Спасибо за отличную программу!
Пользуюсь ею уже 10 лет.
Кстати, по поводу хронологии Meinfin 30/07/2015 23:21 #написать ответ
в базе же наверняка хранится время внесения записи? Мне иногда очень не хватает этой информации, особенно когда учет ведется несколькими людьми. Было бы здорово, если бы можно было отображать эту информацию в списке операций.
Хронология в файле данных есть. Dervish 30/07/2015 23:45 #написать ответ
Колонка Changed в любой табличке. Хранится в формате unixtime.
 
Показывать в списке операций? Да он и так перегружен, честно говоря.
Да у вас же есть возможность включать/выключать Юра 31/07/2015 08:37 #написать ответ
колонки для отображения в списке операций. Пусть кто хочет, включает отображение нужных ему колонок.
Вот именно - есть! Meinfin 31/07/2015 11:39 #написать ответ
Dervish, почему Вы так против введения дополнительных настроек? Тем более  тех, которые не требуют изменения логики и никак не влияют на стабильность и юзабилити. Чтобы не перегрузить интерфейс можно сделать единственный чекбокс "дополнительные настройки" за которым спрятать все что посчитаете лишним. Даже у сверх минималистского гуглохрома есть такая кнопка!
Настройки плохи самим фактом своего существования. Dervish 02/08/2015 12:34 #написать ответ
Вне зависимости от того, влияют они на стабильность или нет. Когда открываешь диалог настроек и видишь их обилие, в котором невозможно разобраться, это кого хочешь испугает.
Не могу с вами согласится Meinfin 04/08/2015 16:24 #написать ответ
я еще раз хочу акцентировать внимание на том, что большинство настроек можно сделать скрытыми. Как в каком-нибудь браузере, когда через меню доступно полдюжины параметров, но если вдруг какой-то ресурс использует неподдерживаемую версию TLS, то можно набрать в адресной строке about:config и включить то, что нужно, если ты в этом разбираешься.
Отказываясь от настроек, вы говорите пользователям "вы ничего не понимаете, я лучше знаю как вам удобнее!"
Одно дело когда функционала не было и ты изначально привыкаешь работать с тем что есть. Но когда (к примеру, сохраняемое поле "Примечание") привычное поведение меняется и ты никак не можешь сохранить привычный порядок - это вдвойне обидней.
Тем не менее, ваша программа одна из самых удобных, спасибо.
Аргумент про about:config принимается. Dervish 05/08/2015 13:21 #написать ответ
Но все дело в том, что у браузера есть обычный диалог настроек и есть "глубоко законспирированный" about:config. Которым, к слову, лично я никогда не пользовался поскольку просто не возникало необходимости.
 
Самое главное, чем мне не нравятся настройки, это то, что их слишком много. И количество их имеет тенденцию к увеличению. И сейчас есть несколько просьб добавить настроечку. В итоге можно получить диалог настроек похожий на about:config. Хорошо лиэто? В таком диалоге пользователи будут просто путаться.
 
Я не против настроек. Я против джунглей из установок, в которых легко заблудиться.