diff --git a/README.md b/README.md index 49ffdad..fe9bc4f 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Este proyecto está en continuo desarrollo, contratar un esquema de soporte, nos ayuda a continuar su desarrollo. Ponte en contacto con nosotros para -contratar. +contratar: administracion@empresalibre.net ### Requerimientos: @@ -16,6 +16,9 @@ contratar. * Servidor web, recomendado Nginx * uwsgi * python3 +* xsltproc +* openssl +* xmlsec Debería de funcionar con cualquier combinación servidor-wsgi que soporte aplicaciones Python. diff --git a/source/app/models/main.py b/source/app/models/main.py index cb8e79f..192ff2c 100644 --- a/source/app/models/main.py +++ b/source/app/models/main.py @@ -666,8 +666,10 @@ class Socios(BaseModel): es_proveedor = BooleanField(default=False) cuenta_cliente = TextField(default='') cuenta_proveedor = TextField(default='') - saldo_cliente = DecimalField(default=0.0, decimal_places=6, auto_round=True) - saldo_proveedor = DecimalField(default=0.0, decimal_places=6, auto_round=True) + saldo_cliente = DecimalField(default=0.0, max_digits=20, decimal_places=6, + auto_round=True) + saldo_proveedor = DecimalField(default=0.0, max_digits=20, decimal_places=6, + auto_round=True) web = TextField(default='') correo_facturas = TextField(default='') forma_pago = ForeignKeyField(SATFormaPago, null=True) @@ -801,12 +803,17 @@ class Productos(BaseModel): clave_sat = TextField(default='') descripcion = TextField(index=True) unidad = ForeignKeyField(SATUnidades) - valor_unitario = DecimalField(default=0.0, decimal_places=6, auto_round=True) - ultimo_costo = DecimalField(default=0.0, decimal_places=6, auto_round=True) - descuento = DecimalField(default=0.0, decimal_places=6, auto_round=True) + valor_unitario = DecimalField(default=0.0, max_digits=18, decimal_places=6, + auto_round=True) + ultimo_costo = DecimalField(default=0.0, max_digits=18, decimal_places=6, + auto_round=True) + descuento = DecimalField(default=0.0, max_digits=18, decimal_places=6, + auto_round=True) inventario = BooleanField(default=False) - existencia = DoubleField(default=0.0) - minimo = DoubleField(default=0.0) + existencia = DecimalField(default=0.0, max_digits=18, decimal_places=2, + auto_round=True) + minimo = DecimalField(default=0.0, max_digits=18, decimal_places=2, + auto_round=True) codigo_barras = TextField(default='') cuenta_predial = TextField(default='') es_activo = BooleanField(default=True) @@ -986,21 +993,25 @@ class Facturas(BaseModel): fecha_timbrado = DateTimeField(null=True) forma_pago = TextField(default='') condiciones_pago = TextField(default='') - subtotal = DecimalField(default=0.0, decimal_places=6, auto_round=True) - descuento = DecimalField(default=0.0, decimal_places=6, auto_round=True) + subtotal = DecimalField(default=0.0, max_digits=20, decimal_places=6, + auto_round=True) + descuento = DecimalField(default=0.0, max_digits=20, decimal_places=6, + auto_round=True) moneda = TextField(default='MXN') tipo_cambio = DecimalField(default=1.0, decimal_places=6, auto_round=True) - total = DecimalField(default=0.0, decimal_places=6, auto_round=True) - total_mn = DecimalField(default=0.0, decimal_places=6, auto_round=True) + total = DecimalField(default=0.0, max_digits=20, decimal_places=6, + auto_round=True) + total_mn = DecimalField(default=0.0, max_digits=20, decimal_places=6, + auto_round=True) tipo_comprobante = TextField(default='I') metodo_pago = TextField(default='PUE') lugar_expedicion = TextField(default='') confirmacion = TextField(default='') uso_cfdi = TextField(default='') total_retenciones = DecimalField( - decimal_places=6, auto_round=True, null=True) + max_digits=20, decimal_places=6, auto_round=True, null=True) total_trasladados = DecimalField( - decimal_places=6, auto_round=True, null=True) + max_digits=20, decimal_places=6, auto_round=True, null=True) xml = TextField(default='') uuid = UUIDField(null=True) estatus = TextField(default='Guardada') @@ -1546,11 +1557,16 @@ class FacturasRelacionadas(BaseModel): class FacturasDetalle(BaseModel): factura = ForeignKeyField(Facturas) producto = ForeignKeyField(Productos, null=True) - cantidad = DecimalField(default=0.0, decimal_places=6, auto_round=True) - valor_unitario = DecimalField(default=0.0, decimal_places=6, auto_round=True) - descuento = DecimalField(default=0.0, decimal_places=6, auto_round=True) - precio_final = DecimalField(default=0.0, decimal_places=6, auto_round=True) - importe = DecimalField(default=0.0, decimal_places=6, auto_round=True) + cantidad = DecimalField(default=0.0, max_digits=18, decimal_places=6, + auto_round=True) + valor_unitario = DecimalField(default=0.0, max_digits=18, decimal_places=6, + auto_round=True) + descuento = DecimalField(default=0.0, max_digits=18, decimal_places=6, + auto_round=True) + precio_final = DecimalField(default=0.0, max_digits=18, decimal_places=6, + auto_round=True) + importe = DecimalField(default=0.0, max_digits=20, decimal_places=6, + auto_round=True) descripcion = TextField(default='') unidad = TextField(default='') clave = TextField(default='') @@ -1572,8 +1588,10 @@ class FacturasDetalle(BaseModel): class FacturasImpuestos(BaseModel): factura = ForeignKeyField(Facturas) impuesto = ForeignKeyField(SATImpuestos) - base = DecimalField(default=0.0, decimal_places=6, auto_round=True) - importe = DecimalField(default=0.0, decimal_places=6, auto_round=True) + base = DecimalField(default=0.0, max_digits=20, decimal_places=6, + auto_round=True) + importe = DecimalField(default=0.0, max_digits=18, decimal_places=6, + auto_round=True) class Meta: order_by = ('factura',)