9 Opciones para administradores
Luis García-Pimentel Ruiz edited this page 2018-01-03 03:39:07 +00:00

** 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 y admin
    • 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