Если Вы не в курсе, о чём речь, я сделал анонс этой идеи здесь и более позднее осмысление содержится тут. В дальнейшем я буду держать Вас в курсе моего прогресса в реализации этих двух идей на этих же двух инстансах.
Что я смог решить:
- Что делать. Я, разумеется, ещё не знаю, какой будет программа в итоге, но уже знаю, что начать надо с реализации ведения бухгалтерского учёта. И я уже определился, по какому пути это всё буду делать.
- В идеале надо ООП, но предварительно буду делать без этого. Ночью перед сном я чуть не решил, что начать делать надо на C++, а не на Си. Я просто начал думать, что уже при реализации счетов бух учёта (например, 01 «Основные средства», 10 «Материалы», 50 «Касса» и т.д.), субсчетов (например, 10-1, 19-3, 60-1-3, их можно записывать через . и /), неплохо бы применить объектно-ориентированное программирование… Но потом решил, что Си лучше (хотя я на нём ещё ничего не писал, ну кроме перевода Цельсия и Фаренгейта с выровненным выводом в виде таблицы).
- Методы списания. По ФИФО (First In — First Out), по методу средней себестоимости и по методу себестоимости каждой единицы (говорят, этого нет в бухгалтерских программах, но мне показалось, что реализовать поддержку этого не очень сложно, сложно будет тому, кто будет списывать по этому методу, работая с программой) я добавлю возможности списания. Метод LIFO (Last In — First Out) тоже могу добавить, но в России его с 2007 не используют, так что надо будет сделать пометку какую-то или не знаю… Лучше просто не добавлять, конечно, хотя технически это просто.
- С кодировками специально мучиться не буду. Как напишется, так напишется. Это не принципиальный вопрос на этом этапе.
Как только появится время, я, наверное, реализую двойную запись, счета, субсчета. Подумаю, каким образом реализовать план счетов, чтобы его можно было редактировать. Пока что склоняюсь к файлу со счетами и субсчетами.
ТЕКУЩИЙ СТАТУС Если что, я даже не создал файл с кодом, так что на данном этапе я легко могу уйти на любой другой язык программирования. Главные требования — скорость и легковесность (иначе бы я не реализовывал это в терминале)… А это в принципе даже на python возможно, поэтому я решил, что моя программа должна поддерживаться любым железом и любыми ОС и поэтому выбрал Си…
Даже если Вам это не интересно, я всё равно продолжу держать в курсе, поскольку для самого себя я очень даже заинтересован в этой программе. А если я буду делать это всё в тишине и никому не рассказывая… Оно может так и не стать свободным ПО. И поэтому я решил, что лучше публиковать новости о моём прогрессе :))
Хорошего дня, спасибо за внимание ☺️