@motcart

Стоит ли писать программу учета на Python + Qt?

Владею небольшой точкой (полиграфические услуги, продажа сопутствующего товара). 8 лет вели учет в экселе. Скоро покупать он-лайн кассу. Заодно решили заменить эксель на что-то более подходящее, чтобы можно было сразу чеки пробивать с нужным товаром, услугой и вести учет.

Под наши пожелания ничего полностью подходящего не нашли. Рассмотрели штук 10-12 всяких приложений, кроме 1С. Его вообще не рассматривали, все против его использования. К тому же у нас все ПК на линуксах.

В прошлом году начал изучать питон, а совсем недавно открыл для себя кьют. Подумал, возможно стоит написать приложение для учета именно с применением этих двух технологий? Можно было бы учесть все свои хотелки. Даже если напишу ничего работоспособного, будет какой-то опыт в процессе изучения.

Из плюсов для меня - и питон, и кьют кроссплатформенные, можно написать и скомпилировать под нужные ОС. Из минусов - пока мало знаний, не все аспекты изучены.

Вопрос к сообществу. Стоит ли вообще применять такую связку для чего либо серьезного? Плюсы, минусы, подводные камни?
  • Вопрос задан
  • 5268 просмотров
Пригласить эксперта
Ответы на вопрос 8
MatthewAllDev
@MatthewAllDev
Программист, начинающий сисадмин, гик.
Может быть я ошибаюсь конечно, но реально не проще взять 1С? В вашем случае не шибко дорого будет.
Дистрибутивы под linux есть (как клиент, так и сервер при необходимости), можно подобрать конфигурацию под себя, легко масштабируется, распространенная (программистов под 1с достаточно много, как и материала в сети), легкий для понимания встроенный процедурный язык, универсальная.

Тоже был против внедрения 1С в компании, правда у нас масштаб крупнее (ИМ) - бухгалтер настояла. Теперь работаю и радуюсь. Нет необходимости придумывать свой велосипед, а все доработки в основном исключительно косметические - для быстрого доступа к функционалу. Ошибок в коде минимум. А со своим велосипедом можно мучаться бесконечно.

UPD: Также не забывайте про безопасность, в которой вы можете накосячить, нормативно-правовую базу, которая в стране у нас меняется с первой космической скоростью и новые протоколы онлайн касс (а 1С под все это затачивается с обновлениями) и так далее.

UPD: Ах да, не забывайте, что Python не шибко быстрый из-за того, что интерпретируемый.
Ответ написан
@motcart Автор вопроса
Прочитал все ваши ответы. Вопрос был стоит ли писать ПО в связке питона с кьютом, хотел услышать плюсы или минусы, но ответы больше ушли в сторону почему бы не использовать 1С. В любом случае спасибо каждому за советы.

1С мы еще рассмотрим в ближайшее время более подробно. Его "мощности" нам действительно много, как писали будем использовать лишь 1% возможностей. Сейчас у нас всего 4 таблицы в экселе.

Насчет скорости питона в сравнении с языком С - там ведь разница не будет идти на минуты и даже секунды? Скорее милли- и микросекунды. А с учетом наших требований по функционалу, мы этого и не заметим. После работы в экселе.

Поддеркжа нормативно-правовой базы нам пока не нужно. Касса может вообще работать отдельно от ПО. Но как бонус хорошо было бы пробивать чек в ПО и сразу печатать его.

Масштабирование нам не нужно в ближайшие 5 лет точно (план по захвату мира еще не дописали).

В комментариях писали, что из-за отстуствия опыта не смогу дописать. Да, этого я больше всего боюсь. В любом случае, я думаю, надо начать писать. Хуже не станет. Как запасной вариант могу параллельно писать и веб-версию. Есть опыт написания сайтов (штук 10 было, но давно не практиковался). В этом случае сервер будет локальный, и проблем с подключением кассы к нему быть не должно. При наличии драйвера кассы для линукса, сделать вывод из PHP на кассу, думаю, возможно сделать.
Ответ написан
Adamos
@Adamos
Почему сразу не написать веб-приложение?
База данных для учета все равно понадобится.
Поднять локальный веб-сервер на линуксах - плевое дело.
Допиливать и отлаживать куда удобнее, чем десктопное приложение.
А писать можно на том же Питоне, если угодно.
Если вдруг взлетит - смасштабировать на вторую точку будет куда легче.
Если появится желание - можно будет выгрузить в интернет и пользоваться удаленно.
Да много плюшек всплывает, если просто сменить парадигму.
Ответ написан
Sanes
@Sanes
Нормально всё с 1С. Не придумывайте проблему на ровном месте.
Ответ написан
Комментировать
@Andrey_Dolg
Ну поехали.
На чем писать большого значения не имеет.
В случае с 1С писать не надо но, придется немного потратится однако при любых проблемах вы легко найдете спеца способного их решить.
В случае локального веб-приложения опять же язык Python/PHP не особо важен, для python есть нюанс, что лучше использовать Flask а не Django.
В случае десктоп приложения Qt катируется и не уступает в возможностях вебу, однако писать придётся больше. Из моментов разработки на Qt(PyQt/Qt for python) сборка под винду имеет особенности тыц. UI собирайте в Qt designer код так будет более чистым. Так же рынок Qt приложений довольно мал, если будете пробовать что-либо разрабатывать дальше то задач довольно мало.
Как пример посредственного Qt приложения.

5c937c225f42a553874387.png
5c937c2f504ea735195679.png
5c937c3fb40bb028273376.png
В случае если нужны графики и красивые дашборды, то однозначно веб-приложение + необходимые js библиотеки, сделать веб-приложение локальным exe файлом, не так уж и трудно.
Ответ написан
Lazarus (Free Pascal) - умеет бэкенд как Qt, так и GTK. Кросс-платформенный.
Ответ написан
FeNUMe
@FeNUMe
Если все же надумаете писать свое приложение не забудьте почитать лицензию PyQT, для коммерческого софта в случае распространения придется покупать лицензию. Как вариант использовать PySide, но насколько помню они немного отстают в плане поддержки свежего QT.
Ответ написан
Комментировать
Использую 1С в связке с python. Для каждого свои задачи. python работает с веб сервисами, разными базами, почтой, а 1С занимается учетом. Все связанно через простой веб сервис на python.
Что то удобно делать на python, а что то на 1С. Тем более на python прекрасно получаются COM объекты.
Всему свое место. Linux в качестве основной ОС уже пятый год, но на терминалах по прежнему лучше windows ничего не придумали. Хотя был успешный опыт эксплуатации 1С в docker на postgres.
Есть пример реализованной учетки на python https://www.tryton.org/ расширения за счет добавления модулей.
Множество велосипедов уже реализованы и успешно протестированы.
Один из моих примеров COMpy vs 1C https://infostart.ru/public/190166/

Вот чего действительно не хватает, так это простой библиотеки позволяющей смоделировать простой учет на python. Нужно для небольших участков, где не надо городить законодательство. Простой учет остатков, цен, заказов... без интерфейсного исполнения вполне достаточно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы