Skip to content
Closed

spam #1662

Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
118 changes: 108 additions & 10 deletions development-tools/index.rst
Original file line number Diff line number Diff line change
@@ -1,13 +1,111 @@
.. _development-tools:
import openpyxl
from openpyxl import Workbook
from openpyxl.styles import Font, Alignment, Border, Side, PatternFill

=================
Development tools
=================
# Crear libro
wb = Workbook()

.. toctree::
:maxdepth: 5
# === Estilos ===
bold = Font(bold=True)
center = Alignment(horizontal="center", vertical="center")
thin_border = Border(
left=Side(style="thin"),
right=Side(style="thin"),
top=Side(style="thin"),
bottom=Side(style="thin")
)
fill_header = PatternFill(start_color="D9E1F2", end_color="D9E1F2", fill_type="solid")

clinic/index
gdb
clang
warnings
# --- Hoja 1: Libro Diario ---
ws1 = wb.active
ws1.title = "Libro Diario"

# Encabezados
headers = ["Fecha", "Cuenta", "Débito", "Crédito"]
ws1.append(headers)

# Aplicar formato a encabezados
for col in range(1, 5):
cell = ws1.cell(row=1, column=col)
cell.font = bold
cell.alignment = center
cell.fill = fill_header
cell.border = thin_border

# Transacciones
transacciones = [
("01/10/2025", "Caja", 1500, ""),
("", "Capital Social", "", 1500),
("", "SUMAS IGUALES", 1500, 1500),

("02/10/2025", "Bancos", 800, ""),
("", "Caja", "", 800),
("", "SUMAS IGUALES", 800, 800),

("03/10/2025", "Inventario Mercancías", 1200, ""),
("", "Proveedores", "", 1200),
("", "SUMAS IGUALES", 1200, 1200),

("04/10/2025", "Proveedores", 500, ""),
("", "Bancos", "", 500),
("", "SUMAS IGUALES", 500, 500),

("05/10/2025", "Gastos de Administración", 300, ""),
("", "Caja", "", 300),
("", "SUMAS IGUALES", 300, 300),

("", "TOTALES GENERALES", 4300, 4300),
]

for fila in transacciones:
ws1.append(fila)

# Formato general
for row in ws1.iter_rows(min_row=2, max_row=ws1.max_row, min_col=1, max_col=4):
for cell in row:
cell.border = thin_border
if cell.column in (3, 4): # Débito y Crédito
cell.alignment = Alignment(horizontal="right")
else:
cell.alignment = Alignment(horizontal="left")

# Ajustar ancho de columnas
col_widths = [12, 30, 15, 15]
for i, width in enumerate(col_widths, 1):
ws1.column_dimensions[openpyxl.utils.get_column_letter(i)].width = width


# --- Hoja 2: Balance de Prueba ---
ws2 = wb.create_sheet(title="Balance de Prueba")

headers2 = ["Cuenta", "Débito", "Crédito"]
ws2.append(headers2)

for col in range(1, 4):
cell = ws2.cell(row=1, column=col)
cell.font = bold
cell.alignment = center
cell.fill = fill_header
cell.border = thin_border

balance = [
("Caja", 700, ""),
("Bancos", 300, ""),
("Inventario Mercancías", 1200, ""),
("Proveedores", "", 700),
("Gastos de Administración", 300, ""),
("Capital Social", "", 1500),
("TOTALES", 2500, 2500),
]

for fila in balance:
ws2.append(fila)

# Formato general hoja 2
for row in ws2.iter_rows(min_row=2, max_row=ws2.max_row, min_col=1, max_col=3):
for cell in row:
cell.border = thin_border
if cell.column in (2, 3):
cell.alignment = Alignment(horizontal="right")
else:
cell.alignment = Alignment(