Audion Address Processor

v2.0.1 ·

Опись прежнего окна и сверка с новым

RU

Опись прежнего окна и сверка с новым

Прежнее окно (NiceGUI, E:\TOOLS\Audion Address Processor NiceGUI) прочитано целиком независимым читателем (11.10.2026): всё, что пользователь видел, нажимал, вводил, и всё, что окно делало само. По каждому пункту найдено, где оно закрыто в новом окне (Avalonia, Source\), либо названо, почему не перенесено. Новое окно прочитано вторым независимым читателем на дефекты. Отчёты читателей лежат вне проекта: E:\TOOLS\AUDIT\Audion Address Processor\report\2026-10-11_old_vs_new\01_old_vs_new.md и E:\TOOLS\AUDIT\Audion Address Processor\report\2026-10-11_new_window\02_new_window_defects.md.

Итог

Что считаю Число
Пунктов описи 191
Закрыто в новом окне (из них исправлено после сверки: 11) 160
Не перенесено намеренно (слова в плане E:\TOOLS\ADDRESS_PROCESSOR_AVALONIA_PLAN.md) 25
Мёртвый код прежнего окна: до него пользователь не доходил 4
Оставлено открытым 2

Что дальше сверялось не чтением, а прогоном: параметры 14 операций с прежним окном (62 случая, tests\former_window_parameters.json) и результаты восьми видов операций - прежний движок и консольная команда нового окна на одних и тех же книгах, ячейка в ячейку: 49 случаев из 49 совпали. Поведение рабочей зоны, которое проверяли тесты прежнего окна, держит стенд tests\test_window_stand.py.

Что сделано по находкам

Пункт Состояние
4 исправлено: Идентификатор приложения на панели задач тот же, что у Start.exe (Program.Main).
26 исправлено: У разделителя колонок есть подсказка.
50 исправлено: Кнопка «открыть» у назначения создаёт папку, если её нет.
61 исправлено: Пока папки чистятся, запуск закрыт (_clearing, Press), кнопка очистки не включается чужим концом прогона.
66 исправлено: Выбор пути, закрепление и сброс пишутся в журнал строкой «[окно] ...».
88 исправлено: В подсказке числового поля сказано про стрелки вверх и вниз.
95 исправлено: Причина, по которой список не прочитался, стоит в самой строке списка (PickLine.Repaint).
98 исправлено: Списки от движка перечитываются, когда окно возвращают на передний план (ReadListsAgain), - кнопка не нужна.
145 исправлено: Подсказка на строке «результат» перечисляет до пяти файлов и число остальных.
158 исправлено: Кнопки пинов региона и МО следят за значением строки (Form.FieldChanged, MainWindow.Oktmo.cs); до ответа движка закрыты.
179 исправлено: Кнопка копирования ключей закрыта, пока ключей нет.
44 Оставлено: список истории показывает записи файла; текущие input и output в нём появятся после первого выбора.
144 Оставлено: кнопки на промежуточную книгу нет; файл лежит рядом с итоговой, кнопка ПАПКА показывает его, путь остаётся в журнале.

Найденное попутно и не потерянное при переносе: значок реестра ОКТМО в шапке теперь обновляется после «ОБНОВИТЬ РОССТАТ»; списки «Название колонки GT» и «Адресный заголовок» по-прежнему смотрят в input\ проекта, а не в выбранный источник (так было и в прежнем окне).

Условные обозначения

Сокращения старых мест (все в E:\TOOLS\Audion Address Processor NiceGUI):

  • app = system_core\ui_nicegui\app.py; wb = system_core\ui_nicegui\workbench.py; win = system_core\ui_nicegui\window.py; i18n = system_core\ui_nicegui\i18n.py
  • cmd = launcher_gui.cmd; gs = config\gui_settings.yaml; manO = config\tool_manifest.yaml (старый); paths(old) = system_core\core\paths.py; service(old) = system_core\services\address_aligner_service.py

Сокращения новых мест (в E:\TOOLS\Audion Address Processor):

  • MW = Source\MainWindow.axaml.cs; MWx = Source\MainWindow.axaml; Nav, Io, Run, Okt, Sh, Chk = Source\MainWindow.Nav.cs, .Io.cs, .Run.cs, .Oktmo.cs, .Sheets.cs, .Check.cs
  • F = Source\Views\Form.cs; FL = Source\Views\Form.Lists.cs; FS = Source\Views\Form.Slots.cs; PL = Source\Views\PickLine.cs; RV = Source\Views\ReportView.cs
  • Door, Val (Values.cs), PH (PathHistory.cs), FC (FolderCleaner.cs), Jr (Journal.cs), Set (Settings.cs), Srv (Server.cs), Cr (CrashGuard.cs), Mf (Manifest.cs), RS (ReportSummary.cs), Pa (Paths.cs), OW (OneWindow.cs) = Source\Core\...; Prog = Source\Program.cs; AppCs = Source\App.axaml.cs
  • OM = system_core\core\operation_model.py; CLI = system_core\cli.py; ACmd = address_cli.cmd; ManN = config\tool_manifest.yaml (новый); WL = config\window_layout.yaml; jobs = system_core\core\jobs.py

Статусы: ЗАКРЫТО - есть в новом окне; ПЛАН - не перенесено намеренно, слова есть в плане; МЁРТВОЕ - код прежнего окна, до которого пользователь не доходил; ОТКРЫТО - потеря, оставленная сознательно.

Опись: пункт - старое место - новое место

Статусы: ЗАКРЫТО - есть в новом окне; ПЛАН - не перенесено намеренно, есть слова в плане; ПОТЕРЯНО - находка выше; МЁРТВОЕ - код старого окна, до которого пользователь не доходил.

А. Запуск, окно, настройки

№ Пункт Старое место Новое место или «нет» Статус Заметка
1 Окно 1600x900, минимум 1180x720 win:197 MWx:6 (1440x880, минимум 1160x700); MW:59 ЗАКРЫТО  
2 Заголовок окна «Audion Address Processor» win:15,197; app:636 MWx:5; MW:33,63; Run:153 (с именем идущей операции) ЗАКРЫТО  
3 Значок окна (app.ico) win:17,26,203 MWx:11; AudionAddressProcessor.csproj (ApplicationIcon) ЗАКРЫТО  
4 Имя и значок на панели задач: SetCurrentProcessExplicitAppUserModelID, Audion.Tools.<папка> win:31-43,164 нет: поиск «AppUserModel» по Source и install пуст; Windows берёт идентификатор по exe ЗАКРЫТО исправлено 11.10.2026: Идентификатор приложения на панели задач тот же, что у Start.exe (Program.Main).
5 Одно окно на папку программы, второй запуск выводит первое вперёд win:55-65,81-96; app:4528-4533 Prog:43-50; OW:34-52,59-76 ЗАКРЫТО только в сборке Release (при #if !DEBUG)
6 Остановка прежнего сервера по logs/gui_server.pid win:81-96,133,158 нет ПЛАН сервера нет
7 Ключи запуска --host, --port, --browser, --gui, --no-browser win:46-52; app:4451-4457 нет ПЛАН последняя строка таблицы плана
8 Проверка без экрана --smoke app:4466-4526 Prog:14-39; Chk:29-125 (--self-check) ЗАКРЫТО  
9 Поиск Python: runtime/pythonw.exe, runtime/python.exe, runtime/python/..., py -3.12 cmd:28-62 Pa:58-69; ACmd:24-26 (без py -3.12); без Python окно говорит, что запустить: MW:93-98, Door:110-113 ПЛАН план: «runtime/python.exe нет - говорит, что запустить»
10 Режим консоли для отладки (AUDION_GUI_CONSOLE=1), запуск без консоли (pythonw) cmd:20-26,33,44 WinExe ПЛАН launcher_gui.cmd не переносится
11 Журналы сервера gui_server_stdout.log и gui_server_stderr.log win:109-135 Jr:23-40 (logs/gui-ДАТА.log); Cr:100-116 (gui-crash-*.log) ЗАКРЫТО  
12 Окружение операции: UTF-8, цветные коды (CLICOLOR_FORCE, FORCE_COLOR) win:113-121; jobs:105-116 Door:117 (PYTHONUTF8, PYTHONIOENCODING); цвет строки по смыслу: Jr:68-87 ПЛАН ansi_terminal.py не переносится
13 Создаёт 7 папок проекта (input, output, logs, report, workspace, config, release) app:244,4177,4514; paths(old):50-52 Io:93-100 (4 папки); CLI:225 создаёт все 7 при запуске операции ЗАКРЫТО  
14 Файл истории путей создаётся, в нём input и output app:1546-1547 Io:102-108; PH:144-151 ЗАКРЫТО  
15 Старт: источник = input, назначение = output, прошлый выбор не помнится app:255-263,307 MW:110; Io:147-156 ЗАКРЫТО  
16 Начальное состояние «Ожидание» app:4178 MW:75,224-231 ЗАКРЫТО  
17 Подписи интерфейса на двух языках (LABELS ru/en) app:394-571 config/i18n.json (290 записей, Core/Lang.cs); проверка скриптом: русских строк кода без перевода нет ЗАКРЫТО  
18 Язык RU/EN переключается и запоминается app:289-304,1375-1378 MW:140-141,165-179; Set:20,37 ЗАКРЫТО  
19 Язык по умолчанию gs:3 (в копии «en») Set:33-37 (русский) ПЛАН решение владельца 11.10.2026; текст плана «язык из прежнего файла» кодом не исполняется (см. «Попутно»)
20 Тема запоминается; алиасы dark -> code_dark, light -> code_light app:309-310,641-685 MW:144-148,181-199; Set:17,52; AppCs:189-192 ЗАКРЫТО  
21 Семь тем ui_colors.yaml app:317-362,710-733 четыре темы ПЛАН  
22 Настройки emoji и allow_runtime_switching app:624-633; gs:5-6 нет ПЛАН  
23 «Дополнительно» раскрыто/свёрнуто и запоминается (advanced_open) app:3970-3979,1381-1383 F:133-148 (всегда на виду) ПЛАН  
24 Источник/назначение пишутся в gui_settings.yaml пустыми (прошлый выбор не помнится) app:270-304 не хранятся (Set:9-13) ЗАКРЫТО  
25 Ширина правой колонки запоминается (666 px, минимум 460 слева и справа) app:4265-4327 MWx:66,69,82,85; MW:60-61,466-479 ЗАКРЫТО  
26 Подсказка «Изменить ширину панелей» на разделителе app:4219 MWx:82 (разделитель без подсказки) ЗАКРЫТО исправлено 11.10.2026: У разделителя колонок есть подсказка.
27 Подсказки через 1500 мс, скрытие 100 мс app:40-62,87-100 AppCs:39-43 ЗАКРЫТО  
28 Спокойные тексты вместо «Connection lost / Trying to reconnect» app:68-84,4137-4172 нет ПЛАН нет веб-соединения
29 Пул процессов NiceGUI (tolerate_missing_process_pool) app:365-392 нет ПЛАН NiceGUI
30 Диалог выбора файла - отдельный PowerShell, закрывается вместе с окном (job object) app:917-1054 родные диалоги Avalonia: Io:180-223; F:448-475 ПЛАН строка «Закрытие» плана
31 Подсказки терминала (оболочка, история команд, предпросмотр команды ...) app:191-231 нет МЁРТВОЕ терминала команд в окне нет; используются только clear_terminal_window, expand, close
32 Словарь i18n.py (функция t) i18n:6-89 нет МЁРТВОЕ app.py его не подключает, берёт свой LABELS
33 Добавление файлов/папки в input копированием (pick_files, start_import) app:1074-1096,1174-1210,1270-1301,2018-2022 нет МЁРТВОЕ ни одна кнопка не вызывает: WorkbenchHandlers.add_file = выбор одного файла-источника (app:1993)
34 Кнопки-профили (preset_buttons, apply_preset) app:2935-2955,3458-3474 нет МЁРТВОЕ в манифесте нет поля такого вида

Б. Шапка

№ Пункт Старое место Новое место или «нет» Статус Заметка
35 Название программы app:4188 MWx:27 ЗАКРЫТО  
36 Выбор темы app:4190-4196 MWx:43-53; MW:144-148 ЗАКРЫТО  
37 Кнопка языка app:4197-4198 MWx:41-42 ЗАКРЫТО  
38 Кнопка «Отменить», видна только пока идёт операция app:4199-4201,4439 MWx:262-268 (СТОП в строке состояния); Run:82 ЗАКРЫТО  

В. Рабочая зона: источник, назначение, действия с папками

№ Пункт Старое место Новое место или «нет» Статус Заметка
39 Строка ИСТОЧНИК: путь от корня программы, список истории, закреплённые сверху wb:868-911; app:274-286 MWx:92-95; Io:235-265; Pa:138-149 ЗАКРЫТО  
40 Строка НАЗНАЧЕНИЕ с тем же wb:868-911 MWx:116-117,125-127; Io:235-265 ЗАКРЫТО  
41 История: счётчик, давность, закреплённые первыми, один путь на регистр, 100 записей wb:552-581; app:615 PH:98-130 ЗАКРЫТО  
42 Закрепить/открепить путь, подсветка активного пина wb:888-897; app:1758-1773 Io:267-283; PH:171-186 ЗАКРЫТО  
43 Пин у закреплённых строк списка истории wb:832-859 Io:243-246 ЗАКРЫТО  
44 Текущий путь всегда есть в списке истории (даже не записанный в файл) wb:817-822 Io:235-265 берёт только записи файла: после СБРОСИТЬ в списке нет текущих input/output ОТКРЫТО Оставлено: список истории показывает записи файла; текущие input и output в нём появятся после первого выбора.
45 Выбрать папку источника / назначения app:1146-1159,1962-1981 Io:180-199 ЗАКРЫТО  
46 Выбрать один файл как источник app:1098-1119,1831-1852; wb:945 Io:201-223 ЗАКРЫТО  
47 Отмена выбора файла или папки: сообщение «Выбор отменен» app:1199,1843,1973 Io:197,221 (строка состояния; в журнал не пишется) ЗАКРЫТО  
48 Открыть папку источника/назначения; файл - в проводнике с выделением app:1415-1429,1855-1864; wb:944-947 MW:271-288; Io:43-44 ЗАКРЫТО  
49 Сообщение «Источник не найден» app:1417-1418 MW:273 ЗАКРЫТО  
50 Открытие папки создаёт её, если нет paths(old):55-57; app:1429,1586,4237-4242 MW:273 (нет на диске - отказ) ЗАКРЫТО исправлено 11.10.2026: Кнопка «открыть» у назначения создаёт папку, если её нет.
51 СБРОСИТЬ: оба пути к input/output, из истории уходит всё, кроме закреплённого app:1867-1885; wb:663-682 Io:147-156; PH:198-209 ЗАКРЫТО  
52 Очистить содержимое только ИСТОЧНИКА app:1776-1828 Io:56,316-378 ЗАКРЫТО в Корзину - по плану
53 Очистить содержимое только НАЗНАЧЕНИЯ app:1776-1828 Io:57,316-378 ЗАКРЫТО  
54 Очистить оба, вопрос называет оба пути app:1902-1959 Io:58,342-347 ЗАКРЫТО  
55 Лишний вопрос для внешнего источника (файл или папка, может быть единственной копией) app:1786-1812 Io:328-341 ЗАКРЫТО  
56 Сторожа: корень диска и корень проекта не очищаются app:1476-1482 FC:22-35 (плюс папка, в которой лежит проект) ЗАКРЫТО  
57 Ссылки и junction снимаются, содержимое за ними не трогается app:1439-1453 FC:37-47 ЗАКРЫТО  
58 Файл .gitkeep не щадится app:1461-1464 FC:76-80 ЗАКРЫТО  
59 Удаление необратимое app:1451 FC:49-52 (в Корзину) ПЛАН план: «удаление - в Корзину»
60 Файл-источник удалён: запись уходит из истории, путь - по умолчанию app:1814-1817,1937-1942 Io:362-365 ЗАКРЫТО  
61 Пока идёт очистка, операцию запустить нельзя app:1905,1932-1957 Io:351-376 блокирует только кнопку ОЧИСТИТЬ; Run:94-98 проверяет лишь _runner.Running ЗАКРЫТО исправлено 11.10.2026: Пока папки чистятся, запуск закрыт (_clearing, Press), кнопка очистки не включается чужим концом прогона.
62 СПИСОК: файлы источника в журнал, по алфавиту, с номерами app:1213-1267 Io:288-309 ЗАКРЫТО  
63 СПИСОК: сообщения «нет файлов / нет папки / не папка» app:1214-1223 Io:290-296,305-306 ЗАКРЫТО  
64 СПИСОК: итог в уведомлении app:1259 Io:308 ЗАКРЫТО  
65 Выбор пути из истории запоминается (счётчик) app:1888-1899 Io:138-144,254-260 ЗАКРЫТО  
66 Выбор пути, закрепление, сброс пишутся в журнал («SOURCE -> ...», «Pinned ...», «Workspace route reset ...») app:1767,1859,1875-1881,1896,1978 Io:143,155,274 - только строка состояния на 3 с; путь печатает строка запуска (Run:140) ЗАКРЫТО исправлено 11.10.2026: Выбор пути, закрепление и сброс пишутся в журнал строкой «[окно] ...».
67 Пока идёт операция, пути и очистка заблокированы app:1779,1834,1870,1905,1965 Io:149,167,182,203,257; Run:76-85 ЗАКРЫТО  
68 Вспышка подсветки строки после действия wb:409-467 нет; результат - в строке состояния ЗАКРЫТО косметика
69 Скрытое поле source_root (путь уже держит рабочая зона) app:3287-3328 ManN:263 (route); OM:228-235 ПЛАН  

Г. Операции и навигация

№ Пункт Старое место Новое место или «нет» Статус Заметка
70 Порядок и состав списка операций app:2039-2062 WL (пять разделов); Nav:33-91 ПЛАН раздел «Новая раскладка окна»
71 Вход в группу, «Назад», автооткрытие дочернего (auto_open_child) app:2073-2140,3998-4034 нет ПЛАН разделы вместо дерева
72 Название и описание операции app:1989-2008,3982-3996,4057 Nav:114-123,127-130 ЗАКРЫТО  
73 Кнопка «Запустить» app:4022-4026 Nav:127-134 ЗАКРЫТО  
74 «Очистить пустые строки» и «Упаковать результаты» app:4212-4217; manO:1498-1528 WL (result_actions); Nav:167-169 ЗАКРЫТО  
75 «Очистить папки» (cleanup_input_output) убрана из списка app:4215-4216 Sh:147-154 (меню СЕРВИС) ЗАКРЫТО в новом окне стала доступна
76 «Проверить исходники» и «Диагностика парсера» manO:1437-1477 WL (sources); Nav:165-166 ЗАКРЫТО  
77 «Обновить ОКТМО Росстата» спрятана (gui_hidden), запускается кнопками панели ОКТМО manO:1384-1389; app:2313-2321 WL (вкладка ОБНОВИТЬ РОССТАТ) ЗАКРЫТО  
78 Блок «Параметры» и описание операции под формой app:4054,4057-4059 Nav:114-123 ЗАКРЫТО  

Д. Форма и поля

№ Пункт Старое место Новое место или «нет» Статус Заметка
79 Блоки по group с заголовками app:3802-3827,3945-3967 F:88-131 ЗАКРЫТО  
80 Заголовки блоков на двух языках app:394-571 F:88-103; i18n.json ЗАКРЫТО  
81 Подсказка поля (подпись + описание) app:2168-2173 F:225-230 ЗАКРЫТО  
82 Описание под полем (hint) всегда на виду app:3589,3687 подсказка по наведению ПЛАН раздел «Форма»: описания - в подсказках
83 Placeholder app:3617,3682 F:399 ЗАКРЫТО  
84 Умолчание поля; у select и radio без default - первый вариант app:2176-2196 OM:190-208 ЗАКРЫТО  
85 Значение живёт по id на всё окно; поле с scope: operation - отдельно app:2199-2208 Val:21-29 ЗАКРЫТО scope - по плану
86 Текстовое поле app:3679-3687 F:397-405 ЗАКРЫТО  
87 Числовое поле: значение, min/max/step app:3566-3590,2220-2247 F:411-445 ЗАКРЫТО  
88 Числовое поле: кнопки вверх/вниз app:3576-3587 F:430-435 (только клавиши стрелок) ЗАКРЫТО исправлено 11.10.2026: В подсказке числового поля сказано про стрелки вверх и вниз.
89 Флажок app:3632-3641 F:341-348 ЗАКРЫТО  
90 Группа флажков (сетка) app:3643-3677 F:377-395 ЗАКРЫТО  
91 Группа флажков со списком от движка (листы источника) app:3656-3661 FL:135-171 ЗАКРЫТО  
92 Радиокнопки app:3544-3564 F:351-374 ЗАКРЫТО  
93 Выпадающий список (из манифеста или от движка), поиск у длинных app:3480-3542 FL:87-103; PL:36-94 ЗАКРЫТО  
94 Список: поле searchable (регион, МО) manO:1344,1357; app:3494 PL:84 (поиск при списке длиннее 9) ЗАКРЫТО  
95 Список: ошибка поставщика вариантов - строкой в самом списке app:3055-3057 FL:55-60,97-99; PL:107 (только подсказка кнопки; подпись остаётся «не выбрано») ЗАКРЫТО исправлено 11.10.2026: Причина, по которой список не прочитался, стоит в самой строке списка (PickLine.Repaint).
96 Выбор xlsx-файла: поле + диалог с фильтром *.xlsx app:3592-3630,1122-1143 F:259-269,448-475 ЗАКРЫТО  
97 Выбор файла сбрасывает кэш вариантов и обновляет зависимые поля app:3608-3610 FL:68-76; CLI:283-289 ЗАКРЫТО  
98 Кнопка «Обновить список» у полей со списком от движка (и сброс выбранного значения) app:2260-2274,3504-3509,3534-3539,3556-3561,3656-3661 нет: grep «Обновить список» по Source пуст; списки перечитываются при смене источника/зависимости, в конце запуска, при пересборке карточки (FL:79; Run:292; Nav:107-113) ЗАКРЫТО исправлено 11.10.2026: Списки от движка перечитываются, когда окно возвращают на передний план (ReadListsAgain), - кнопка не нужна.
99 Условие показа depends_on app:2958-2971 OM:243-247; Val:87-91 ЗАКРЫТО  
100 Условие показа show_when app:2973-2982 OM:248-257; Val:92-97 ЗАКРЫТО  
101 Скрытые поля (gui_hidden и эвристика по словам): 8 из 82 app:2373-2374,3287-3328 ManN (gui_hidden, route); Mf:149 ПЛАН  
102 На запуск уходят только видимые поля app:3690-3700 OM:269-273,305-321 ЗАКРЫТО  
103 Поля advanced - отдельный раскрывающийся блок app:3752-3799 F:133-148 ПЛАН не сворачивать
104 Перерисовка формы при смене значения (refresh_on_change) app:2216-2217 Val:57-66; F:57-63 (RefreshShown) ЗАКРЫТО  
105 Смена региона сбрасывает муниципалитет и его кэш app:2213-2215 FL:68-76; Okt:403 ЗАКРЫТО  
106 Проверка min_selected и сообщение «Выберите хотя бы один пункт» app:3703-3716 Run:103-108; OM:330-341 ЗАКРЫТО в манифесте поле с min_selected сейчас нет
107 Режим сопоставления: быстро / с нормализацией app:3837-3905 ManN:600; F:351-374 ЗАКРЫТО  
108 В быстром режиме поля нормализации не показываются app:3908-3920 ManN:702 (draw_when) ЗАКРЫТО  
109 В быстром режиме на запуск нормализация = умолчания app:3923-3934 OM:292-302 ЗАКРЫТО  
110 При переключении на «быстро» значения нормализации сбрасываются сразу app:3866-3881 нет: приводятся к умолчаниям при запуске (OM:292-302) ЗАКРЫТО результат запуска тот же
111 Линейка адреса: образец из включённых слотов по порядку app:2985-3012,3369-3375 OM:53-69,175-184; FS:53,138-144 ЗАКРЫТО  
112 Слоты: 12 адресных и 8 технических ключей, галочки manO:422-579 FS:31-82 ЗАКРЫТО  
113 Порядок слотов: позиции 1..N, занятая уходит на ближайшую свободную app:3214-3247 OM:139-172 ЗАКРЫТО  
114 Порядок слотов задаётся числами в списках, обмен местами app:3377-3456 FS:151-242 (перетаскивание фишек) ПЛАН развилка 5 плана
115 Позиции считаются среди включённых, у выключенного «-» и серый вид app:3271-3279,3425-3452 FS:105-128 ЗАКРЫТО  
116 Короткие названия слотов RU/EN app:3101-3160 OM:70-85; Mf:119-127 ЗАКРЫТО  
117 Включение слота перерисовывает линейку app:3652-3653 FS:132-133 ЗАКРЫТО  
118 Подсказки слотов app:3163-3176 FS:153,174-175 ЗАКРЫТО  

Е. Запуск, ход, остановка, закрытие

№ Пункт Старое место Новое место или «нет» Статус Заметка
119 Вторая операция не стартует, сообщение «Другая операция уже выполняется» app:1305-1307 Run:97 ЗАКРЫТО  
120 Вопрос перед опасной операцией (название, описание, что затронет) app:1309-1327,811-838 Run:112-122 ЗАКРЫТО строки «отмена может потребовать ручной очистки» нет
121 Операция работает с выбранными источником и назначением app:1394-1399,1345 Run:100-101; Door:144-151; CLI:219-235 ЗАКРЫТО  
122 При запуске: журнал очищается, ход 2%, кнопки результата сбрасываются app:1329-1342 Run:136-145 ЗАКРЫТО  
123 Итог в строке состояния: слово, код выхода, время app:1353-1356 Run:239-285 ЗАКРЫТО  
124 Часы мм:сс, замораживаются в конце app:870-880,4372-4399 Run:199-201,241-245 ЗАКРЫТО  
125 Полоса и проценты хода app:768,4228-4230,4401 Run:190-197; MWx:260 ЗАКРЫТО  
126 Состояния и цвета: ожидание, выполняется, готово, ошибка app:841-891 MW:204-231 (пять, добавлено «остановлено») ЗАКРЫТО  
127 Ход tqdm - строки журнала service(old):863 Run:179-181; LiveLine.cs; MW:444-462 ПЛАН находка 4 плана
128 Остановка: операция сама встаёт в безопасной точке app:898-899,4199 Run:210-235; Door:184-188; CLI:231,259 ЗАКРЫТО  
129 Excel и Word после остановки поток сервера, finally отрабатывает Run:268-273; Door:282-294; office_session.py ПЛАН находка 5 плана
130 Закрытие окна во время работы win:210-211 (сервер убивается) Run:387-425 ПЛАН  
131 Исключение операции: «ERROR: ...» в журнал, статус ошибки app:1363-1370 jobs:386-388; Run:239-285 ЗАКРЫТО  
132 Уведомление result.message app:1362 Run:359-360 (при неудаче; при успехе сообщение всегда «Operation finished.», jobs:383) ЗАКРЫТО  
133 Конец «Обновить ОКТМО»: кэши вариантов сброшены, список перерисован app:1358-1360 Run:293-299; CLI:413-421 ЗАКРЫТО  

Ж. Журнал и результат

№ Пункт Старое место Новое место или «нет» Статус Заметка
134 Журнал в окне, цвет по ANSI app:755-765,4247 Jr:68-87 (цвет по смыслу строки) ПЛАН ansi_terminal.py не переносится
135 Лимит журнала 1500 строк app:614,741-745 MW:301 (5000) ЗАКРЫТО  
136 Автопрокрутка, только если читатель внизу app:4347-4356 MW:372,421-427 ЗАКРЫТО  
137 Очистить окно журнала (файлы остаются) app:748-752,4243-4244 MW:315,343-352 ЗАКРЫТО  
138 Развернуть журнал app:4245,4252-4263 MW:321,328-341 ЗАКРЫТО  
139 LOGS, REPORT, CONFIG открывают папки app:4237-4242 MW:311-313 ЗАКРЫТО  
140 Подсказки к LOGS/REPORT/CONFIG app:155-188 MWx:201-207 (слова без полного пути) ЗАКРЫТО  
141 Нижняя строка: точка и текст состояния app:4248-4250 MWx:255-269 ЗАКРЫТО  
142 Артефакты: OUTPUT открывает папку результата app:1742-1745 Run:306-321,353; MWx:174 ЗАКРЫТО  
143 Артефакты: REPORT открывает сводку отчёта app:1742 Run:325-329; RV:22-94 ЗАКРЫТО  
144 Артефакты: ПРОВЕРКА/AUDIT (staging) открывает папку app:1729-1745,476,564; service(old):1133-1145,1532-1536,1630-1635 нет: слово staging в Source только в комментарии Door.cs:66 ОТКРЫТО Оставлено: кнопки на промежуточную книгу нет; файл лежит рядом с итоговой, кнопка ПАПКА показывает его, путь остаётся в журнале.
145 Кнопка с числом («OUTPUT 3») и подсказка со списком до 5 файлов app:1589-1595,1739-1745 Run:366-371 (первый файл и «файлов: N»; список в подсказке не показывается) ЗАКРЫТО исправлено 11.10.2026: Подсказка на строке «результат» перечисляет до пяти файлов и число остальных.
146 Сводка отчёта: строки (файл, счётчики, качество, диагностика, слоты, нормализатор; не более 40) app:1598-1687 RS:15-100 ЗАКРЫТО  
147 JSON отчёта под раскрывающимся блоком (до 20000 знаков) app:1718-1720 RV:64-69 ЗАКРЫТО  
148 «Открыть» в сводке отчёта app:1709 RV:71-72 ЗАКРЫТО  
149 Ошибки чтения отчёта (нет файла, не JSON, не объект) app:1692-1703 RV:31-36; Run:323 ЗАКРЫТО  
150 Кнопки артефактов только после успеха app:1357 Run:352-356 ЗАКРЫТО  

З. ОКТМО: область, поиск, ключи, пины

№ Пункт Старое место Новое место или «нет» Статус Заметка
151 Панель ОКТМО открывается сама (auto_open_child) manO:1329; app:2073-2077,2105-2112 WL (раздел ОКТМО); Nav:140 ЗАКРЫТО  
152 Регион: список из снимка Росстата, поиск по названию manO:1337-1349; app:3480-3512 Okt:62,199-225; PL:36-94 ЗАКРЫТО  
153 Муниципалитет внутри региона; пока региона нет - «сначала выберите регион» manO:1350-1362; app:3331-3340 Okt:63; FL:68-76 ЗАКРЫТО поле видно всегда, подсказка в списке - от движка
154 Закреплённые значения идут первыми и помечены app:2638-2663 PL:66-72; Mf:251 ЗАКРЫТО  
155 Закрепить значение региона/МО app:2666-2694,2468-2470 Okt:210,216,389-408 ЗАКРЫТО  
156 Открепить app:2695-2706,2471-2473 Okt:211,217 ЗАКРЫТО  
157 «+»: добавить ключи региона/МО (для МО - формы МО и все НП внутри) app:2707-2722,2474-2480 Okt:212,215,218,392-399 ЗАКРЫТО  
158 Состояние кнопок следует за значением: пусто - серые; не закреплено - «открепить» серая; закреплено - пин подсвечен app:2216-2217,2670-2713 Okt:308-325 (RefreshScopeButtons) зовётся при построении панели и после действий; при выборе значения - нет: Form.cs:43 (RefreshPinsHook объявлен), Okt:174 (присвоен), нигде не вызывается ЗАКРЫТО исправлено 11.10.2026: Кнопки пинов региона и МО следят за значением строки (Form.FieldChanged, MainWindow.Oktmo.cs); до ответа движка закрыты.
159 «Добавляю ключи ОКТМО...» app:2475-2479 Okt:392 ЗАКРЫТО  
160 Сообщения действий (закреплено, добавлено N, всего M ...) app:2383-2459 Okt:394-399,424,432,442-449,471-477 ЗАКРЫТО  
161 Строка «OKTMO регион/муниципалитет/ключи/пины: ...» в журнал app:2487,2519,2542,2585,2619 Okt:364-368 ЗАКРЫТО  
162 После пина/открепления списки читаются заново app:2470-2473 Okt:400-405; CLI:413-421 ЗАКРЫТО  
163 Строка «Реестр ОКТМО: файл» и предупреждение, если реестра нет app:2324-2342 Okt:254-267 ЗАКРЫТО  
164 Кнопки «Скачать ОКТМО» (в предупреждении) и «ОБНОВИТЬ БАЗУ ДАННЫХ ОКТМО» (в панели) app:2337-2365 вкладка ОБНОВИТЬ РОССТАТ (WL); Okt:263 (текст отсылает к вкладке) ПЛАН раздел ОКТМО плана: две вкладки
165 «СБРОСИТЬ КЛЮЧИ ОКТМО»: очищает регион, МО, поиск и файл ключей; пины остаются app:2345-2365,2531-2551 Okt:123,451-463 ЗАКРЫТО  
166 Файл ключей: Открыть app:2846-2859,2505-2506 Okt:119,437-449 ЗАКРЫТО  
167 Файл ключей: Сохранить (ключи выбранных региона и МО) app:2507-2508 Okt:120,444 ЗАКРЫТО  
168 Файл ключей: Загрузить app:2509-2510 Okt:121,445 ЗАКРЫТО  
169 Файл ключей: Очистить app:2511-2512 Okt:122,446 ЗАКРЫТО  
170 Поиск НП: строка ввода, «Найти кандидатов», «Идёт поиск...» app:2754-2786,2569-2576 Okt:66-72,410-425 ЗАКРЫТО  
171 Выбор точной строки ОКТМО из найденных app:2788-2806 Okt:74-78 ЗАКРЫТО  
172 «Добавить найденные НП» (серая без выбора) app:2807-2821,2577-2579 Okt:79-82,340,427-435 ЗАКРЫТО  
173 Превью найденных кандидатов (только чтение) app:2823-2827 Okt:83-88,330-332 ЗАКРЫТО  
174 Сводка выбранного: МО / НП / ОКТМО app:2829-2839 Okt:333-339 ЗАКРЫТО  
175 Названия кандидатов на языке окна app:2739-2751 Mf:254; Okt:378-381 ЗАКРЫТО  
176 Поля, названные движком (field_updates), применяются app:2554-2560,2584 Okt:371-387 ЗАКРЫТО  
177 Текущие ключи: число в заголовке, путь и счёт, просмотр, заглушка «Ключи пока не загружены» app:2725-2736,2888-2909 Okt:96-136,275-294 ЗАКРЫТО  
178 Копировать ключи в буфер обмена app:2893-2902,796-808 Okt:101-107 ЗАКРЫТО  
179 Копирование пустого списка: кнопка серая, «Нечего копировать» app:2881,2900-2901,796-803 Okt:101-107 (копирует пустоту и пишет «скопированы») ЗАКРЫТО исправлено 11.10.2026: Кнопка копирования ключей закрыта, пока ключей нет.
180 Развернуть ключи в отдельное окно с копированием app:2868-2887,2903-2907 Okt:108-110,489-510 ЗАКРЫТО  
181 Пины: Открыть, Экспорт, Импорт, Очистить app:2910-2924,2598-2628 Okt:139-158,467-486 ЗАКРЫТО  
182 Сводка пинов: регионов, МО, путь app:2925-2930 Okt:156,296-305 ЗАКРЫТО  
183 Импорт и очистка пинов сбрасывают кэш вариантов app:2609-2612 Okt:479-483 ЗАКРЫТО  
184 Папка данных ОКТМО (дополнительно) влияет на списки и кэш manO:1371-1380; app:3014-3025 Okt:161-171; CLI:283-289 ЗАКРЫТО  
185 Действия панели не идут, пока работает операция app:2463,2500,2533,2565,2600 Okt:350 ЗАКРЫТО  
186 Ошибка действия панели - сообщение app:2483-2484,2515-2516,2537-2538,2581-2582,2615-2616 Okt:357-361 ЗАКРЫТО  
187 Обновление снимка Росстата: поле URL и запуск операции manO:1384-1410 WL; Nav:107-148 ЗАКРЫТО  
188 17 прямых вызовов сервиса панели app:2306-2935 CLI:62-80 (17 действий), Srv:157-165 ЗАКРЫТО  

И. Ошибки

№ Пункт Старое место Новое место или «нет» Статус Заметка
189 Необработанная ошибка окна: трассировка app (traceback в журнал) Cr:25-137 (файл gui-crash-*.log, строка в журнале) ЗАКРЫТО  
190 Ошибки файловых действий окна - в уведомление и журнал app:1770-1771,1825-1826,1861-1862,1954-1955 MW:246-261 (Say refused); Io:369-372 ЗАКРЫТО  
191 Испорченный файл настроек/истории app:289-304 (перезаписывал) SafeFile.cs:18-83 (откладывает испорченный, берёт .bak) ЗАКРЫТО лучше прежнего