Skip to content

Instantly share code, notes, and snippets.

@me-suzy
Created October 8, 2025 16:40
Show Gist options
  • Save me-suzy/993f6a376e90ce39d0ded208dc3e0f20 to your computer and use it in GitHub Desktop.
Save me-suzy/993f6a376e90ce39d0ded208dc3e0f20 to your computer and use it in GitHub Desktop.
t555.py
from docx import Document
from docx.shared import Inches, Pt, RGBColor
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.enum.section import WD_ORIENT
# Creare document
doc = Document()
# Setare orientare landscape
section = doc.sections[0]
section.orientation = WD_ORIENT.LANDSCAPE
section.page_width = Inches(11)
section.page_height = Inches(8.5)
# ====================== PAGINA 211 ======================
# Titlu
title = doc.add_heading('CONTABILITATE DE GESTIUNE & CONTROL DE GESTIUNE', 0)
title.alignment = WD_ALIGN_PARAGRAPH.CENTER
# Pagina 211
page_num = doc.add_paragraph('211')
page_num.alignment = WD_ALIGN_PARAGRAPH.RIGHT
# Tabelul 1 - Umplerea membranelor și alte activități
table1 = doc.add_table(rows=16, cols=4)
table1.style = 'Light Grid Accent 1'
# Date pentru tabelul 1
data_table1 = [
['', '', 'producție', 'prime'],
['Umplerea\nmembranelor', 'Funcționarea utilajului șorici', 'Mașină-ore', '844.2.6.1'],
['', 'Funcționarea automatelor', 'Mașină-ore', '844.2.6.2'],
['', 'Activitatea muncitorilor', 'Kg materii\nprime', '844.2.6.3'],
['', 'Deservirea procesului de\nproducție', 'Suma tuturor\ncosturilor pe\nsubactivități', '844.2.6.4'],
['Tratamentul\ntermic', 'Funcționarea căliilor termice', 'Ora/rampă pe\ntipuri de produse', '844.2.7.1'],
['', 'Activitatea muncitorilor', 'Nr. de rampe în\ncirculație pe\ntipuri de produse', '844.2.7.2'],
['Uscare', 'Funcționarea utilajului', 'Mașină-ore', '844.2.8.1'],
['', 'Activitatea muncitorilor', 'Kg materii\nprime', '844.2.8.2'],
['Marcarea\nproduselor', 'Funcționarea utilajului', 'Mașină-ore', '844.2.9.1'],
['', 'Activitatea muncitorilor', 'Kg materii\nprime', '844.2.9.2'],
['Controlul\ncalității', 'Activitatea salariaților', 'Nr. controale', '844.2.10.1'],
['Deservirea\nîntregului proces\nde producție', 'Activitatea salariaților', 'Suma tuturor\ncosturilor pe\nsubactivități', '844.2.11.1']
]
for i, row_data in enumerate(data_table1):
row = table1.rows[i]
for j, value in enumerate(row_data):
row.cells[j].text = value
if i == 0: # Header
if row.cells[j].paragraphs[0].runs:
row.cells[j].paragraphs[0].runs[0].font.bold = True
# Combinare celule pentru categoriile principale
# Umplerea membranelor: rows 1-4, col 0
table1.rows[1].cells[0].merge(table1.rows[4].cells[0])
# Tratamentul termic: rows 5-6, col 0
table1.rows[5].cells[0].merge(table1.rows[6].cells[0])
# Uscare: rows 7-8, col 0
table1.rows[7].cells[0].merge(table1.rows[8].cells[0])
# Marcarea produselor: rows 9-10, col 0
table1.rows[9].cells[0].merge(table1.rows[10].cells[0])
doc.add_page_break()
# ====================== TABELUL 2 - DISTRIBUIRE ======================
doc.add_heading('Inductorii de cost privind activitatea de distribuire a produselor din carne', level=2)
table2 = doc.add_table(rows=11, cols=4)
table2.style = 'Light Grid Accent 1'
# Date pentru distribuire
data_distribue = [
['Distribuire', 'Gestionarea\nactivității de\ndistribuire', 'Analiza clienților', 'Nr. clienți', '844.3.1.1'],
['', '', 'Evidența livrărilor', 'Ore destinate\nevidenței\nlivrărilor', '844.3.1.2'],
['', 'Pregătirea\nrapoartelor\nprivind livrările', 'Cercetarea cererii', 'Includere directă', '844.3.2.1'],
['', '', 'Întocmirea rapoartelor\ncurente', 'Nr, doc, ore/\nlucrate', '844.3.2.2'],
['', '', 'Publicitate', 'Includere directă', '844.3.2.3'],
['', 'Păstrarea și\nlivrarea de la\ndepozit', 'Ambalarea și predarea\nmărfurilor', 'Ore/predare', '844.3.3.1'],
['', '', 'Eliberarea documentelor', 'Nr. documente', '844.3.3.2'],
['', 'Transportarea la\npunctele de\nvânzări proprii', 'Colectarea comenzilor', 'Nr. comenzi', '844.3.4.1'],
['', '', 'Predarea mărfurilor', 'Ore/predare', '844.3.4.2'],
['', '', 'Controlul mașinilor', 'Nr. km', '844.3.4.3'],
['', '', 'Serviciile de transport', 'Nr. rețin, nr. km', '844.3.4.4'],
['', '', 'Activitatea expeditorului', 'Nr. puncte', '844.3.5.1']
]
for i, row_data in enumerate(data_distribue):
if i < len(table2.rows):
row = table2.rows[i]
for j, value in enumerate(row_data):
if j < len(row.cells):
row.cells[j].text = value
# Combinare celule pentru Distribuire
table2.rows[0].cells[0].merge(table2.rows[10].cells[0])
# Gestionarea: rows 0-1, col 1
table2.rows[0].cells[1].merge(table2.rows[1].cells[1])
# Pregătirea: rows 2-4, col 1
table2.rows[2].cells[1].merge(table2.rows[4].cells[1])
# Păstrarea: rows 5-6, col 1
table2.rows[5].cells[1].merge(table2.rows[6].cells[1])
# Transportarea: rows 7-10, col 1
table2.rows[7].cells[1].merge(table2.rows[10].cells[1])
doc.add_paragraph() # Spațiu între tabele
# ====================== TABELUL 3 - ACTIVITĂȚI AUXILIARE ======================
doc.add_heading('Inductorii de cost privind activitățile auxiliare', level=2)
table3 = doc.add_table(rows=8, cols=4)
table3.style = 'Light Grid Accent 1'
# Date pentru activități auxiliare
data_auxiliare = [
['Activități\nauxiliare', 'Producere aburi', 'Activitatea muncitorilor', 'Om-ore', '812.1.1'],
['', '', 'Funcționarea utilajului', 'Mașină-ore', '812.1.2'],
['', 'Producere\nenergie electrică', 'Activitatea muncitorilor', 'Om-ore', '812.2.1'],
['', '', 'Funcționarea utilajului', 'Date contor', '812.2.2'],
['', 'Aprovizionare\ncu apă', 'Activitatea muncitorilor', 'Om-ore', '812.3.1'],
['', '', 'Funcționarea utilajului', 'Mașină-ore', '812.3.2'],
['', 'Secția reparații', 'Activitatea muncitorilor', 'Om-ore', '812.4.1']
]
for i, row_data in enumerate(data_auxiliare):
if i < len(table3.rows):
row = table3.rows[i]
for j, value in enumerate(row_data):
if j < len(row.cells):
row.cells[j].text = value
# Combinare celule pentru Activități auxiliare
table3.rows[0].cells[0].merge(table3.rows[6].cells[0])
# Producere aburi: rows 0-1, col 1
table3.rows[0].cells[1].merge(table3.rows[1].cells[1])
# Producere energie: rows 2-3, col 1
table3.rows[2].cells[1].merge(table3.rows[3].cells[1])
# Aprovizionare cu apă: rows 4-5, col 1
table3.rows[4].cells[1].merge(table3.rows[5].cells[1])
# Salvare document
file_path = 'Tabele_Pagina_211_Completa.docx'
doc.save(file_path)
print(f"Document salvat cu succes: {file_path}")
print("Conține:")
print("- Tabel 1: Umplerea membranelor și activități de producție")
print("- Tabel 2: Inductorii de cost - Distribuire")
print("- Tabel 3: Inductorii de cost - Activități auxiliare")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment