Skip to main content

ERP replacement for Eneboo written in Python

Project description

.. image:: https://gitlab.com/aulla/pineboo/badges/master/pipeline.svg :target: https://gitlab.com/aulla/pineboo/commits/master :alt: pipeline status

.. image:: https://gitlab.com/aulla/pineboo/badges/master/coverage.svg :target: https://gitlab.com/aulla/pineboo/commits/master :alt: coverage report

Pineboo - Manual de supervivencia

Se ha redactado este manual para las dudas más comunes sobre este proyecto de investigación, y ayudar a que cualquiera pueda poner en marcha y realizar las pruebas que desee con el mismo.

¿Qué demonios es Pineboo?

Pineboo es un proyecto de investigación, donde no se pretende obtener un producto final, sino sentar una base y crear las tecnologías necesarias para el día de mañana crear realmente el/los producto(s) que se deseen.

Lo que se desea es contestar a la frase: "Qué necesitamos para poder ejecutar un proyecto de módulos de Eneboo sin Eneboo?"

Para ello, se crea un micro-proyecto (o mejor dicho, pico-proyecto) que solo cubre lo mínimo necesario para cumplir esa frase, y estrictamente esa frase.

Es posible que exista más de una versión de Pineboo, cada una con distintas aproximaciones y tecnologías. Actualmente, en el momento de escribir esta documentación, solo existe una.

El nombre de Pineboo viene de Pico-eneboo, y hace referencia que es un proyecto de investigación

Aproximaciones existentes

Solo existe una única aproximación a la ejecución de proyectos de Eneboo:

  • Python3.x + PyQt6
  • Permite ejecutarlo en PostgreSQL, SQLite ,MySQL y MSSQL.
  • Motor realizado integramente en Python
  • Conversión al vuelo de QSA a PY con parseador FLScriptParser2
  • Conversión al vuelo de formularios Qt3 a Qt4 creando un UiLoader manualmente
  • Conversión al vuelo de fichero .mtd a modelos sqlAlchemy
  • Conversión al vuelo de fichros .kut a pdf

Dependencias

  • Python >= 3.8
  • PyQt6 >= 6.0.3
  • PsycoPG2

Alcance actual de Pineboo

Pineboo es capaz de conectarse a cualquier base de datos de Eneboo y realizar las siguientes tareas:

  • Funcionamientos habituales de las acciones
  • Trabajos normales de cursor (afterCommit, beforeCommit, ...)
  • Transacciones plenamente operativas sobre postgres
  • Impresión con jasperPluging configurado

Al iniciar una acción, el formulario es convertido al vuelo a Qt4 (con errores) y el script QS es convertido a Python y ejecutado (con muchos más errores). Se lanza el init() automáticamente.

Las referencias entre módulos (flfacturac.iface.XYZ) funcionan con carga de módulo retrasada.

La API de QSA y Eneboo está practicamente terminada. En la API aún existente son funciones y clases "fake", que desde el script, parece que funcionen pero no realizan ningún trabajo. Esto permite ejecutar los scripts, pero no opera correctamente.

¿Si cargo Pineboo en mi base de datos de producción, puedo perder datos?

Sí, pueden perderse datos. Los experimentos con gaseosa.

Dado que es un motor experimental, puede que no realice el trabajo que se le mande, sino otro inesperado. Un script podría de forma inadvertida borrar registros por fallos en la API implementada. Y aquí nadie se hace responsable de esto.

Lo mejor es usarlo en bases de datos de desarrollo para evitar problemas.

Cómo poner en marcha Pineboo

  1. Instalar desde apt-get.

sudo apt-get install python3-pip git libmysqlclient-dev

  1. Actualizar pip.

sudo -H pip3 install --upgrade pip

  1. Descargamos pineboo

sudo -H pip3 install pineboo

Al llamar al programa Pineboo éste crea el subdirectorio "/profiles".

Desde ese formulario se configura el acceso a la empresa elegida

Con esto, pineboo debería iniciarse así::

pineboo

Cosas que se pueden probar en Pineboo

La opción --help ofrece un listado de opciones, algunas pueden ser interesantes.

Los formularios con convertidos al vuelo, y aún requiere este proceso de muchos retoques. Las características más usadas funcionan, pero muchas de las cosas que se pueden hacer en un formulario de Eneboo aún no son intepretadas correctamente.

Para ejecutar los scripts se usan tres capas de compatibilidad: flcontrols, qsaglobals y qsatypes.

Los ficheros son convertidos a python y guardados junto al fichero QS de cache. Por ejemplo, las conversiones de masterarticulos.qs se pueden ver en la ruta tempdata/cache/nombre_bd/flfactalma/file.qs/masterarticulos/.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pineboo-0.99.89.2.1.tar.gz (6.9 MB view details)

Uploaded Source

Built Distribution

pineboo-0.99.89.2.1-py3-none-any.whl (7.1 MB view details)

Uploaded Python 3

File details

Details for the file pineboo-0.99.89.2.1.tar.gz.

File metadata

  • Download URL: pineboo-0.99.89.2.1.tar.gz
  • Upload date:
  • Size: 6.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.10.0 requests/2.32.3 setuptools/74.1.1 requests-toolbelt/1.0.0 tqdm/4.66.5 CPython/3.12.3

File hashes

Hashes for pineboo-0.99.89.2.1.tar.gz
Algorithm Hash digest
SHA256 854476342712c0f53586cd099b8bd3a5d08f67a2b1589ac13bfe093cff472fd9
MD5 f1873a20953b2fa86632b7d29a6e3186
BLAKE2b-256 e6fd3564fc8409a5567b2e2a98929e667b69cabd0ba80a67576c28012e34c2bc

See more details on using hashes here.

File details

Details for the file pineboo-0.99.89.2.1-py3-none-any.whl.

File metadata

  • Download URL: pineboo-0.99.89.2.1-py3-none-any.whl
  • Upload date:
  • Size: 7.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.10.0 requests/2.32.3 setuptools/74.1.1 requests-toolbelt/1.0.0 tqdm/4.66.5 CPython/3.12.3

File hashes

Hashes for pineboo-0.99.89.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fdcb119b692fa6eabb5d75c5d98a17bdaed7e3b2dc91c7d416e4fd47a5a90a82
MD5 78b56f83377beb3f1477e8ec538a14ce
BLAKE2b-256 567e912facfc309540ecf4c2aa062e5c8e425c5a5366f072de0e4a2d6f271309

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page