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(