feat: вкладка «Субъект» — кнопка «Заполнить из данных организации»
Если объект КИИ находится в той же организации — одним кликом копирует наименование, адрес, ИНН, КПП из вкладки «Организация» в поля субъекта.
This commit is contained in:
@@ -857,6 +857,9 @@ class DokoGenApp:
|
|||||||
entry = ttk.Entry(subj_frame, width=70)
|
entry = ttk.Entry(subj_frame, width=70)
|
||||||
entry.grid(row=i, column=1, padx=8, sticky=tk.EW, pady=1)
|
entry.grid(row=i, column=1, padx=8, sticky=tk.EW, pady=1)
|
||||||
setattr(self, attr, entry)
|
setattr(self, attr, entry)
|
||||||
|
ttk.Button(subj_frame, text="📋 Заполнить из данных организации",
|
||||||
|
command=self._fill_subject_from_company).grid(
|
||||||
|
row=len(subj_fields), column=0, columnspan=2, sticky=tk.W, pady=(8, 0))
|
||||||
subj_frame.columnconfigure(1, weight=1)
|
subj_frame.columnconfigure(1, weight=1)
|
||||||
|
|
||||||
# ===== Вкладка «Сеть» =====
|
# ===== Вкладка «Сеть» =====
|
||||||
@@ -1591,6 +1594,34 @@ class DokoGenApp:
|
|||||||
if user:
|
if user:
|
||||||
self.users_listbox.insert(tk.END, user)
|
self.users_listbox.insert(tk.END, user)
|
||||||
|
|
||||||
|
def _fill_subject_from_company(self):
|
||||||
|
"""Заполнить поля субъекта данными организации (если объект в той же организации)."""
|
||||||
|
if self._current_is_idx is None:
|
||||||
|
messagebox.showinfo("Субъект", "Сначала выберите объект КИИ в списке слева")
|
||||||
|
return
|
||||||
|
c = self.model
|
||||||
|
if not (c.full_name or c.inn):
|
||||||
|
messagebox.showinfo("Субъект",
|
||||||
|
"Вкладка «Организация» пуста.\nСначала заполните данные организации "
|
||||||
|
"(или импортируйте опросник).")
|
||||||
|
return
|
||||||
|
|
||||||
|
def _set_entry(attr, value):
|
||||||
|
w = getattr(self, attr, None)
|
||||||
|
if w is not None:
|
||||||
|
w.delete(0, tk.END)
|
||||||
|
w.insert(0, value or '')
|
||||||
|
|
||||||
|
_set_entry('is_subject_name_entry', c.full_name or c.short_name)
|
||||||
|
_set_entry('is_subject_address_entry', c.address)
|
||||||
|
_set_entry('is_subject_inn_entry', c.inn)
|
||||||
|
_set_entry('is_subject_kpp_entry', c.kpp)
|
||||||
|
# Элемент (компонент) объекта — оставляем как есть, заполняется вручную
|
||||||
|
self.log("📋 Субъект заполнен данными организации")
|
||||||
|
messagebox.showinfo("Субъект",
|
||||||
|
"Поля «Наименование», «Адрес», «ИНН», «КПП» заполнены из вкладки «Организация».\n"
|
||||||
|
"«Элемент (компонент) объекта» заполните вручную.")
|
||||||
|
|
||||||
def _select_users_from_employees(self):
|
def _select_users_from_employees(self):
|
||||||
"""Выбор пользователей ИС из списка сотрудников организации (вкладка «Пользователи»)."""
|
"""Выбор пользователей ИС из списка сотрудников организации (вкладка «Пользователи»)."""
|
||||||
names = []
|
names = []
|
||||||
|
|||||||
Reference in New Issue
Block a user