Answer the question
In order to leave comments, you need to log in
Should I write an accounting program in Python + Qt?
I own a small point (printing services, sale of related products). 8 years of accounting in Excel. Buy online soon. At the same time, we decided to replace Excel with something more suitable, so that we could immediately punch checks with the right product, service and keep records.
We didn't find anything to suit our needs. Considered pieces of 10-12 all sorts of applications, except for 1C. It was not considered at all, everyone is against its use. In addition, all of our PCs are running Linux.
Last year I started studying python, and recently I discovered kitty. I thought it might be worth writing an accounting application using these two technologies? It would be possible to take into account all your Wishlist. Even if I write nothing workable, there will be some experience in the learning process.
Of the pluses for me - both python and cute are cross-platform, you can write and compile for the desired OS. Of the minuses - there is still little knowledge, not all aspects have been studied.
Question to the community. Is it worth it to use such a bunch for anything serious? Pros, cons, pitfalls?
Answer the question
In order to leave comments, you need to log in
Maybe I'm wrong of course, but is it really not easier to take 1C? In your case, it won't be too expensive.
There are distributions for linux (both client and server if necessary), you can choose the configuration for yourself, it is easily scalable, widespread (there are a lot of programmers for 1s, as well as material on the network), an easy-to-understand built-in procedural language, universal.
He was also against the introduction of 1C in the company, although we have a larger scale (IM) - the accountant insisted. Now I work and enjoy. There is no need to invent your own bike, and all the improvements are mostly purely cosmetic - for quick access to the functionality. Errors in the code at least. And with your bike you can suffer endlessly.
UPD: Also, do not forget about security, in which you can mess up, the regulatory framework, which in our country is changing at the first space speed and new protocols for online cash registers (and 1C is being sharpened for all this with updates) and so on.
UPD: Oh yeah, don't forget that Python is not very fast due to the fact that it is interpreted.
I have read all your answers. The question was whether it is worth writing software in conjunction with a python with a kit, I wanted to hear the pros or cons, but the answers went more aside why not use 1C. In any case, thanks everyone for the advice.
1C we will consider in the near future in more detail. We really have a lot of its "capacity", as they wrote, we will use only 1% of the possibilities. Now we have only 4 tables in Excel.
As for the speed of python in comparison with the language C - there, after all, the difference will not go for minutes or even seconds? More like milli- and microseconds. And taking into account our requirements for functionality, we will not notice this. After working in Excel.
We do not yet need support for the regulatory framework. The cash desk can generally work separately from the software. But as a bonus, it would be nice to punch a check in the software and immediately print it.
We do not need scaling in the next 5 years for sure (the plan to capture the world has not yet been completed).
In the comments they wrote that due to the lack of experience I could not finish it. Yes, this is what I fear the most. In any case, I think we should start writing. It won't get worse. As a fallback, I can write a web version in parallel. I have experience in writing websites (there were 10 pieces, but I haven’t practiced for a long time). In this case, the server will be local, and there should be no problems connecting the cash register to it. If there is a cash register driver for Linux, I think it is possible to make a withdrawal from PHP to the cash register.
Python is good for scripting, but it's stupid to write serious things on it.
If you want, try https://github.com/dayllenger/atoll/ + dlang.org
The output is a portable binary.
Well, or write a web application.
Why not write a web application right away?
You will still need a database for accounting.
Raising a local web server on Linux is a trifling matter.
Finishing and debugging is much more convenient than a desktop application.
And you can write in the same Python, if you like.
If it suddenly takes off, it will be much easier to scale to the second point.
If you wish, you can upload it to the Internet and use it remotely.
Yes, a lot of goodies pop up if you just change the paradigm.
Let's go.
What you write on doesn't really matter.
In the case of 1C, you don’t need to write, but you will have to spend a little, however, for any problems, you can easily find a specialist who can solve them.
In the case of a local web application, again, the Python / PHP language is not particularly important, for python there is a nuance that it is better to use Flask and not Django.
In the case of a desktop application, Qt rolls and is not inferior in capabilities to the web, but you will have to write more. From the moments of development on Qt (PyQt / Qt for python), the assembly for Windows has the features of tyts . UI build in Qt designer code so it will be cleaner. Also, the market for Qt applications is quite small, if you try to develop something further, then there are quite a few tasks.
As an example of a mediocre Qt application.
If you need graphics and beautiful dashboards, then definitely a web application + the necessary js libraries, making a web application a local exe file is not so difficult.
And what do you need: an application or an application development process?
Something tells you that the app.
Lazarus (Free Pascal) - can backend both Qt and GTK. Cross platform.
If you still decide to write your application, do not forget to read the PyQT license, for commercial software, if distributed, you will have to buy a license. As an option, use PySide, but as far as I remember, they are a little behind in terms of fresh QT support.
I use 1C in conjunction with python. Each has its own tasks. python works with web services, various databases, mail, and 1C takes care of accounting. Everything is connected through a simple python web service.
It is convenient to do something in python, and something in 1C. Especially on python COM objects perfectly turn out.
Everything has its place. Linux as the main OS for the fifth year, but on the terminals, nothing is still better than windows. Although there was a successful experience in operating 1C in docker on postgres.
There is an example of an implemented account in python https://www.tryton.org/ extensions by adding modules.
Many bicycles have already been implemented and successfully tested.
One of my COMpy vs 1C examples https://infostart.ru/public/190166/
What is really missing is a simple library that allows you to simulate simple accounting in python. It is necessary for small areas where there is no need to fence legislation. A simple accounting of balances, prices, orders ... without an interface implementation is quite enough.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question