Table of Contents
** Desactualizado, este es un marcador que indica que hace falta agrgar información actualizada sobre el uso de main.py a partir de la version 1.3 del sistema **
Todas estas opciones pueden ejecutarlas tanto en la maquina virtual que tenemos disponible, como en un ambiente de desarrollo que tengan configurado. Si clonan este repositorio en su maquina local, y se cambian a la rama develop
, pueden ejecutar todas estás instrucciones en modo depuración, entrando a:
cd source/app/
y ejecutando
uwsgi main_debug.ini
ahora abran su navegador en:
http://127.0.0.1:8000/
Si ejecutan desde la maquina virtual, debe de abrir en la IP que les muestra la misma.
Todas estas opciones están dentro de la siguiente carpeta
cd source/app/models/
Mostrando las opciones:
└──> python main.py -h
Usage: main.py [OPTIONS]
Options:
-bd, --iniciar-bd Crea las tablas en la base de datos
-m, --migrar-bd Migra las tablas en la base de datos
-ns, --nuevo-superusuario Crea un nuevo super usuario
-cc, --cambiar-contraseña Cambia la contraseña a un usuario
-rfc, --rfc Agrega un nuevo RFC
-br, --borrar-rfc Elimina un RFC
-lr, --listar-rfc Listar RFCs
-i, --importar-valores
-a, --archivo TEXT
-fl, --factura-libre
-t, --test
-gap, --generar-archivo-productos
-ip, --importar-productos
-h, --help Show this message and exit.
Agregando nuevos emisores
Se pueden agregar tanto en pruebas como en producción. En pruebas sirve para probar la migración de Factura Libre, así como hacer pruebas más reales de timbrado. En producción es indispensable ponerse en contacto con nosotros para darte de alta en el sistema. NO podrás timbrar si no lo haces
- Al agregar un nuevo emisor, se realizan las siguientes acciones:
- Con los datos de conexión se prueba que haya acceso
- Si hay acceso se agrega el RFC y se guarda la configuración
- Se crean las tablas necesarias
- Se agregan dos usuarios:
superadmin
yadmin
- Se importan los valores iniciales, así como las tablas del SAT
* Agregando nuevo emisor, usando PostgreSQL (ampliamente recomendado)
Debes de tener previamente preparados el usuario, contraseña y base de datos.
sudo -u postgres -i psql
- Crear nuevo usuario
CREATE ROLE valedor WITH LOGIN ENCRYPTED PASSWORD 'blades';
- Crear nueva base de datos
CREATE DATABASE cfdi WITH OWNER valedor;
Salir de psql
- Agregamos al emisor
La cadena de conexión debe ser:
postgres|servidor|puerto|base_de_datos|usuario|contraseña
Si es local, tanto servidor
como puerto
se omiten, a menos que en tu conexión estos datos sean diferentes.
└──> python main.py -rfc
Introduce el nuevo RFC: BASM740115RW0
Introduce los datos de conexión: postgres|||cfdi|valedor|blades
[16-Nov-2017 10:26:15] INFO: API: Conectado a la BD...
[16-Nov-2017 10:26:15] INFO: API: Creando tablas...
[16-Nov-2017 10:26:53] INFO: API: Tablas creadas correctamente...
[16-Nov-2017 10:26:53] INFO: API: Usuario creado correctamente...
[16-Nov-2017 10:26:54] INFO: API: Usuario creado correctamente...
[16-Nov-2017 10:26:54] INFO: API: Valores iniciales insertados...
[16-Nov-2017 10:26:54] INFO: API: Importando datos...
[16-Nov-2017 10:26:54] INFO: API: Importando tabla: Categorias
[16-Nov-2017 10:26:54] INFO: API: Importando tabla: SATImpuestos
[16-Nov-2017 10:26:54] INFO: API: Importando tabla: SATUnidades
[16-Nov-2017 10:26:55] INFO: API: Importando tabla: SATTipoRelacion
[16-Nov-2017 10:26:55] INFO: API: Importando tabla: SATMonedas
[16-Nov-2017 10:26:55] INFO: API: Importando tabla: SATFormaPago
[16-Nov-2017 10:26:56] INFO: API: Importando tabla: SATRegimenes
[16-Nov-2017 10:26:57] INFO: API: Importando tabla: SATBancos
[16-Nov-2017 10:27:05] INFO: API: Importando tabla: SATUsoCfdi
[16-Nov-2017 10:27:06] INFO: API: Importación terminada...
[16-Nov-2017 10:27:06] INFO: API: RFC agregado correctamente...
* Agregando nuevo emisor, usando SQLite (No recomendado)
Nota como pasamos la ruta absoluta de la base de datos, por supuesto, el usuario empresa (o el que usen) debe tener acceso a la misma.
└──> python main.py -rfc
Introduce el nuevo RFC: GGC890216
Introduce los datos de conexión: sqlite|/home/mau/test/garca.db
[16-Nov-2017 10:13:23] INFO: API: Conectado a la BD...
[16-Nov-2017 10:13:23] INFO: API: Creando tablas...
[16-Nov-2017 10:13:24] INFO: API: Tablas creadas correctamente...
[16-Nov-2017 10:13:24] INFO: API: Usuario creado correctamente...
[16-Nov-2017 10:13:25] INFO: API: Usuario creado correctamente...
[16-Nov-2017 10:13:25] INFO: API: Valores iniciales insertados...
[16-Nov-2017 10:13:25] INFO: API: Importando datos...
[16-Nov-2017 10:13:25] INFO: API: Importando tabla: Categorias
[16-Nov-2017 10:13:25] INFO: API: Importando tabla: SATImpuestos
[16-Nov-2017 10:13:25] INFO: API: Importando tabla: SATUnidades
[16-Nov-2017 10:13:25] INFO: API: Importando tabla: SATTipoRelacion
[16-Nov-2017 10:13:25] INFO: API: Importando tabla: SATMonedas
[16-Nov-2017 10:13:25] INFO: API: Importando tabla: SATFormaPago
[16-Nov-2017 10:13:25] INFO: API: Importando tabla: SATRegimenes
[16-Nov-2017 10:13:25] INFO: API: Importando tabla: SATBancos
[16-Nov-2017 10:13:26] INFO: API: Importando tabla: SATUsoCfdi
[16-Nov-2017 10:13:26] INFO: API: Importación terminada...
[16-Nov-2017 10:13:26] INFO: API: RFC agregado correctamente...
* Importar Factura Libre
Hay que pasar la ruta absoluta o relativa de la base de datos SQLite de Factura Libre. Solo importa clientes y facturas.
└──> python main.py -fl -a ~/tmp/facturalibre2.sqlite
Introduce el RFC: BASM740115RW0
[16-Nov-2017 10:38:21] INFO: API: Conectado a la BD...
[16-Nov-2017 10:38:21] INFO: API: Importando datos...
[16-Nov-2017 10:38:23] INFO: API: Importando Clientes...
[16-Nov-2017 10:38:29] INFO: API: Clientes importados...
[16-Nov-2017 10:38:29] INFO: API: Importando Facturas...
[16-Nov-2017 10:40:28] INFO: API: Facturas importadas...
[16-Nov-2017 10:40:28] INFO: API: Importando Categorías...
[16-Nov-2017 10:40:28] INFO: API: Categorías importadas...
[16-Nov-2017 10:40:28] INFO: API: Importación terminada...
- Probar los últimos cambios.
Dentro de la carpeta proyectos/empresa-libre-develop
, actualiza la rama develop
git pull origin develop
Si hay nuevas tablas, debes de ejecutar dentro de los modelos.
python main.py -bd
Te solicitará el RFC. Este proceso hace todo el proceso inicial, como cuando se agrega un nuevo RFC, pero solo agrega las tablas faltantes, también sirve para empezar de cero cuando se borra una base de datos.
Al final, solo reinicia el servicio de pruebas.
sudo systemctl restart empresapruebas
- Actualizar el sistema de producción.
Dentro de la carpeta proyectos/empresa-libre
, actualiza la rama master
git pull origin master
Si hay nuevas tablas, debes de ejecutar dentro de los modelos.
python main.py -bd
Te solicitará el RFC. Este proceso hace todo el proceso inicial, como cuando se agrega un nuevo RFC, pero solo agrega las tablas faltantes, también sirve para empezar de cero cuando se borra una base de datos.
Al final, solo reinicia el servicio.
sudo systemctl restart empresalibre
### Por documentar * Importar valores de cualquier tabla en cualquier momento * Importar productos