Загрузка данных


import tkinter as tk
from tkinter import messagebox

# Информация о предприятии
COMPANY_NAME = "ООО «Администрация»"
COMPANY_ADDRESS = "г. Москва, ул. Центральная, д. 1"

# Справочник: должность -> кабинет
DIRECTORY = {
    "бухгалтер": "Бухгалтер - кабинет №101",
    "секретарь": "Секретарь - кабинет №102",
    "программист": "Программист - кабинет №103"
}

def show_company_info():
    """Показать информацию о предприятии"""
    messagebox.showinfo(
        "Информация о предприятии",
        f"Наименование: {COMPANY_NAME}\nЮридический адрес: {COMPANY_ADDRESS}"
    )

def search_direction():
    """Поиск по направлению"""
    query = entry.get().strip().lower()
    
    if not query:
        messagebox.showwarning("Ошибка ввода", "Поле ввода пустое. Введите должность.")
        return
    
    if query in DIRECTORY:
        result = DIRECTORY[query]
        label_result.config(text=result, fg="green")
    else:
        label_result.config(
            text=f"Направление «{query}» не найдено. Доступно: бухгалтер, секретарь, программист",
            fg="red"
        )

def clear_input():
    """Очистить поле ввода и результат"""
    entry.delete(0, tk.END)
    label_result.config(text="Результат появится здесь", fg="black")
    entry.focus()

# Создание главного окна
root = tk.Tk()
root.title("Справочная система администрации")
root.geometry("550x350")
root.resizable(False, False)

# Заголовок
title_label = tk.Label(
    root,
    text="Справочная система предприятия",
    font=("Arial", 16, "bold"),
    pady=10
)
title_label.pack()

# Информация о предприятии
info_frame = tk.Frame(root)
info_frame.pack(pady=5)

info_label = tk.Label(
    info_frame,
    text=f"{COMPANY_NAME} | {COMPANY_ADDRESS}",
    font=("Arial", 10),
    fg="blue"
)
info_label.pack(side=tk.LEFT)

info_button = tk.Button(
    info_frame,
    text="Подробнее",
    command=show_company_info,
    cursor="hand2"
)
info_button.pack(side=tk.LEFT, padx=10)

# Разделитель
separator = tk.Label(root, text="=" * 50, fg="gray")
separator.pack(pady=5)

# Блок поиска
search_label = tk.Label(
    root,
    text="Введите направление работы:",
    font=("Arial", 12)
)
search_label.pack()

available_label = tk.Label(
    root,
    text="Доступно: бухгалтер | секретарь | программист",
    font=("Arial", 9),
    fg="gray"
)
available_label.pack()

entry = tk.Entry(root, width=40, font=("Arial", 12))
entry.pack(pady=10)
entry.focus()

# Кнопки
button_frame = tk.Frame(root)
button_frame.pack(pady=5)

search_button = tk.Button(
    button_frame,
    text="Найти",
    command=search_direction,
    bg="#4CAF50",
    fg="white",
    padx=20,
    pady=5,
    cursor="hand2"
)
search_button.pack(side=tk.LEFT, padx=10)

clear_button = tk.Button(
    button_frame,
    text="Очистить",
    command=clear_input,
    bg="#f44336",
    fg="white",
    padx=20,
    pady=5,
    cursor="hand2"
)
clear_button.pack(side=tk.LEFT, padx=10)

# Результат
result_frame = tk.Frame(root, bd=2, relief=tk.SUNKEN, padx=10, pady=10)
result_frame.pack(pady=20, fill=tk.X, padx=20)

label_result = tk.Label(
    result_frame,
    text="Результат появится здесь",
    font=("Arial", 11),
    wraplength=450
)
label_result.pack()

# Запуск приложения
root.mainloop()