feat(contratos): gestión de códigos de pago + asignación por contrato
- Nueva tabla SQLite codigos_pago (codigo, nombre) con seed CIAC/CR/MU - Columna cod_forma_pago en contratos (override por contrato) - Página contratos: tarjeta para agregar/eliminar códigos, select inline por fila - generar_factura_venta acepta forma_pago_override; si asignado lo usa, sino auto CIAC/CR - Rutas: /codigos-pago/create, /codigos-pago/delete, /set-forma-pago Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
551dec9c11
commit
91dbcc8135
@@ -61,6 +61,8 @@ def _migrate(conn):
|
||||
conn.execute("ALTER TABLE contratos ADD COLUMN sin_contrato INTEGER NOT NULL DEFAULT 0")
|
||||
if "excluir_ventas" not in contrato_cols:
|
||||
conn.execute("ALTER TABLE contratos ADD COLUMN excluir_ventas INTEGER NOT NULL DEFAULT 0")
|
||||
if "cod_forma_pago" not in contrato_cols:
|
||||
conn.execute("ALTER TABLE contratos ADD COLUMN cod_forma_pago TEXT NOT NULL DEFAULT ''")
|
||||
# Ampliar CHECK constraint de queries para incluir 'ventas'
|
||||
q_sql = conn.execute("SELECT sql FROM sqlite_master WHERE type='table' AND name='queries'").fetchone()
|
||||
if q_sql and "'ventas'" not in q_sql[0]:
|
||||
@@ -110,6 +112,17 @@ def _migrate(conn):
|
||||
conn.execute("PRAGMA foreign_keys = ON")
|
||||
conn.commit()
|
||||
|
||||
if "codigos_pago" not in tables:
|
||||
conn.execute("""
|
||||
CREATE TABLE codigos_pago (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
codigo TEXT UNIQUE NOT NULL,
|
||||
nombre TEXT NOT NULL DEFAULT ''
|
||||
)
|
||||
""")
|
||||
for codigo, nombre in [("CIAC", "Contado inmediato"), ("CR", "Crédito"), ("MU", "Mixto")]:
|
||||
conn.execute("INSERT OR IGNORE INTO codigos_pago (codigo, nombre) VALUES (?,?)", (codigo, nombre))
|
||||
|
||||
conn.commit()
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user