"""Источник: synthetic-group/gen/ecp.py (#35). Выгрузка ЕЦП (спека §6.3): состав ГК, все компании — «Входит в ГСК». Формат сверен с импортом ядра (`arm-core/api/src/domain/directory_import.py`): обязательные колонки ИНН, iD ГК, Группа компаний, Организация, Тип; необязательные Базовый РФ ГК в CRM, ГСК, ГСЗ, КПП. """ from pathlib import Path import openpyxl from synthgen.group import Group from synthgen.xlsx import save_deterministic HEADER = ["ИНН", "КПП", "iD ГК", "Базовый РФ ГК в CRM", "Группа компаний", "Организация", "ГСК", "ГСЗ", "Тип"] BASE_RF = "Ростовский региональный филиал" # как в #35 def write_ecp(group: Group, path: Path) -> None: wb = openpyxl.Workbook() ws = wb.active assert ws is not None ws.title = "Выписки" ws.append(HEADER) for m in group.members: ws.append([m.inn, m.kpp, group.gk_id, BASE_RF, group.name, m.name, "Входит в ГСК", None, "ЮЛ"]) for row in ws.iter_rows(min_row=2, max_col=2): for cell in row: cell.number_format = "@" # ИНН и КПП — текстом save_deterministic(wb, path)