📜 Журнал изменений

40 изменений · последнее: 14.05.2026
Здесь регистрируются все изменения брифинга: новые страницы, исправления, расширения данных, изменения интерфейса. Источник: bitrix_dump/changelog.json. Чтобы добавить запись — отредактируй файл и запусти python3 build_changelog.py.
Май 2026 · 22 изменений
ДатаСтраницаИзменение
14.05.2026 🌐 Все страницы 🧊 AIS-сегментация подключена в pipeline брифинга
После ночного прогона DD AIS-сегментации (3358 судов: 1445 active, 706 moored, 440 stuck, 552 no_signal, 209 unknown — потрачено 3107 credits + 14030 на owner enrichment 2724 контактов): (1) segment_vessels_ais.py теперь экспортирует компактный ais_status_map.json в bitrix_dump/ — IMO → статус для использования в брифинге. (2) distribute_magicport.py читает эту карту: суда со статусом stuck/no_signal уходят в magicport_*_frozen_v2.json — не отображаются в активных списках Срочно/Карта/TV. (3) Добавлен дифференцированный --skip-frozen N: stuck/no_signal проверяются раз в 30 дней, остальные — раз в 4 дня. Это даёт ~70% экономии credits на ежемесячных обновлениях. (4) В 'Обновить брифинг.command' встроен auto-trigger: AIS-чистка запускается автоматически только если ais_status_map.json старше 4 дней — не нужно вручную решать когда запускать. Подключение: distribute_magicport.py теперь в pipeline, читает свежую карту, фильтрует зомби-судов, активные/замороженные разделены. Бюджет DD после внедрения: 12863 credits в запасе на 3 месяца авто-обновлений.
13.05.2026 verifications 🛰 Новая страница «Верификации судов»
Добавлен раздел /verifications для управления верификациями ГМССБ-оборудования (40+ UF полей контактов-судов в Bitrix). Покрыто: УКВ носимые ×3 (срок + батарея), АРБ ×2 (срок + батарея + гидростат), РЛО ×2, гирокомпас ×2 (ПЖ + ЧЭ), РДР + FFC + COC, РЛС ×2 (тип, наработка, магнетрон), РадиоСюрвей (дата + кто + где), ITU справочники, оператор спутник связи. Статусы: 🔴 Просрочено / 🟠 <30д / 🟡 <90д / 🟢 OK / ⚪ Нет данных. Фильтры, поиск, ТОП-30 заказчиков по проблемам, ссылки в карточку Bitrix. Отдельная страница /verifications-mailing — 5 шаблонов писем (батареи / гидростат / РадиоСюрвей / ITU / никогда-не-верифицировали) + CSV сегменты под Unisender. Источники: fetch_vessel_verifications.py + build_verifications.py, оба в pipeline 'Обновить брифинг.command'.
12.05.2026 🌐 Все страницы 🧊 ETA-фильтр включён в pipeline (отсеяно 756 зависших)
Раньше apply_eta_filter.py не запускался автоматически — суда с ETA в прошлом >14 дней (ZORKIY: 195 дней без движения, BALT. ISSLEDOVATEL: 96 дней и др.) висели в 'Стоят' и засоряли карту/TV/список открытых сделок. Запустил фильтр: 1414 → 658 (756 ушли в magicport_stuck.json как stuck_reason=eta_old). 'С открытыми сделками' на карте сократилось 412 → 222 (192 откр. сделки висели на ETA-просроченных судах — это сразу нужно посмотреть в воронке). Скрипт добавлен в 'Обновить брифинг.command' — будет запускаться в каждом цикле.
12.05.2026 🌐 Все страницы 🔄 Refresh данных
Bitrix: 1731 компаний, 904 пользователя (2.1 мин). Magicport scheduled: 386 (1-7 дн по 138 портам). Magicport arrived nearby-vessels: 1414. foreign_surveys: 308 IMO. РМРС точечный окно ±90д: 333 свежих. Match: scheduled — , arrived 699/1414 (49%, 347 с откр.). Карта: 412 с открытыми сделками. Survey-аудит: 49% покрытие, 191 мимо. TV всех 10 регионов пересобраны. AIS freshness в этом цикле не запускался — суда без подтверждённого AIS остаются в 'Стоят' (см. отдельную задачу AIS-чистки).
12.05.2026 🌐 Все страницы 🛰 AIS freshness: вычистил часть зависших судов
Опросили magicport /api/v1/single/aws-vessels/{mmsi} для 1344 MMSI из arrived. Получили AIS-данные по 236 (остальные 1108 — magicport отдал 429 rate-limit). Из 236 проверенных: 120 свежий AIS (≤7 дней) — реально стоят, 101 устарел 7-30 дней, 15 старше 30 дней. 116 явно зависших ушли в magicport_stuck.json. Поправили apply_ais_freshness.py: MMSI без данных в ais_freshness теперь НЕ помечается как stuck (раньше был ложно-stuck). Карта: 'с открытыми сделками' сократилась 386→335 (отвалились 51 призрак). На TV видна категория 🧊 Замороженные. Для полного покрытия 1344 судов нужно ~30 мин из-за rate-limit либо платная подписка magicport — оставил TODO.
09.05.2026 🌐 Все страницы 🔄 Refresh данных
Bitrix: 1723 компаний, 904 пользователя (3.5 мин — был SSL-таймаут, переподнял). Magicport scheduled: 351 (1-7 дн по 138 портам). Magicport arrived nearby-vessels: 1344. foreign_surveys: 308 IMO (3 мин). РМРС точечный окно ±90д: 336 свежих перекачано. Match: scheduled 154/351 (43%, 75 с откр.), arrived 623/1344 (46%, 301 с откр.). Карта: 366 с открытыми. Survey-аудит: 49% покрытие, 193 мимо. TV всех 10 регионов пересобраны.
08.05.2026 🌐 Все страницы 🔄 Refresh данных
Bitrix: 1722 компаний, 904 пользователя. Magicport scheduled: 350 (1-7 дн по 138 портам). Magicport arrived с nearby-vessels: 1346. foreign_surveys: 308 IMO. РМРС точечный refresh 337 свежих в окне ±90д. Match: scheduled 158/350 (45%, 75 с откр.), arrived 632/1346 (46%, 319 с откр.). Карта: 1379 сматчено, 386 с открытыми. Survey-аудит: 49% покрытие, 195 мимо. TV всех 10 регионов пересобраны.
07.05.2026 survey-audit.html 🔽 Раскрывающиеся сводки в аудите
В таблицах 'Сводка по компаниям' и 'Сводка по менеджерам' каждая строка теперь кликабельная — раскрывает детализацию по судам этой компании/менеджера. Видно: какое судно, когда прошёл annual, наша это работа или нет (с цветным badge), главная сделка (ссылка в Bitrix). Внутри детализации суда отсортированы: наши survey → наши другое → в работе → проиграли → мимо. Сортировка верхней таблицы поддерживает parent-child пары — child строки следуют за родителем.
07.05.2026 survey-audit.html 🎯 Новая страница: аудит survey-конверсии (наши vs не наши)
Для каждого судна с annual_last за последние 12 мес из РМРС ищется в Bitrix сделка по этому IMO в окне ±60 дней от даты прохождения. Категории: 'наша survey' (won + ключевые слова annual/освидетельств/ГМССБ/радио/девиац/компас), 'наша (другое)' (won без явных survey-слов), 'проиграли' (lost-сделка), 'в работе' (open в окне), 'мимо нас' (никаких сделок). По текущим данным: 598 annual проверок за год, 49% покрытие (141 наши survey + 151 другие won), 61 проигранных, 46 в работе, 199 мимо нас. Сводки по компаниям и менеджерам с цветовым кодированием конверсии (≥70% зелёный, 30-70% жёлтый, <30% красный). Фильтр по статусу, сортировка по любой колонке. Ссылка '🎯 Аудит' добавлена в навигацию рядом с '📋 Survey'.
07.05.2026 📋 Survey 🔄 Точечное обновление РМРС за 25.04—07.05 (10 изменений)
Принудительно перекачаны кэш-файлы rs-class.org для 341 IMO с annual в окне ±90д от сегодня (часть кэша была от 25.04). Найдено 10 обновлений за 12 дней. Из них 5 судов прошли annual: OT-2064 (08.05), MT KONSTANTINOVSK (07.05), ARCTIC PIONEER (03.05), AKSAY (30.04), KLEVER (30.04) — теперь следующий annual через 1-2 года. Ещё у 5 судов сместились даты intermediate/special (AKVAMARIN, SLAVYANKA, VIKTORIYA, AMMOLIT, FESCO ANASTASIA, VIKTORIYA). Эти суда ушли из верха pipeline 'просрочено/срочно'. Кэш-стратегия fetch_rs_fast: если есть HTML-файл — читает его (не скачивает), поэтому раз в неделю стоит делать точечный refresh окна ±90д.
07.05.2026 📋 Survey 📋 Survey: окна вместо точечных дат + сортировка
У РМРС нет конкретной даты освидетельствования — есть окно ±3 мес от due-даты, в которое можно прийти. Заменил отображение точечной даты на диапазон вида '10.11.25 — 08.05.26' с одинаковым форматом дат с годом. Статус: 'просрочено N дн' / 'идёт окно, до конца X дн' / 'откроется через Y дн'. Hover показывает due-дату из РМРС для справки. Заголовки колонок переименованы в 'Ежегодное (окно ±3м)', 'Промежуточное (окно ±3м)', 'Док (окно)'. Все колонки таблиц теперь кликабельны для сортировки (⇅ → ▲/▼): по срокам с приоритетом 'идёт окно' → 'скоро' → 'просрочено', по судну/клиенту/менеджеру алфавит с кириллицей, по потенциалу числовая. Каждая таблица сортируется независимо.
07.05.2026 mailing.html 📨 Полные тексты писем + кнопка копирования
Блок акции Survey-Lock-2026 переписан под текст из docx-шаблона. Добавлена сравнительная таблица 6 строк × 3 варианта (Депозит/Скидка/Фиксация цены/Бесплатная мобилизация/Кому). Под таблицей 3 свёрнутых письма (A/B/C) — кликом разворачиваются и можно скопировать одной кнопкой '📋 Скопировать письмо' (тема + тело в буфер). Все плейсхолдеры Unisender ({{vessel}}, {{annual_next}}, {{intermediate_next}}, {{special_next}}, {{drydock_next}}, {{contact_name}}, {{imo}}, {{manager_name}}, {{manager_email}}, {{manager_phone}}, {{manager_position}}). Прайс в письме A соответствует фев.2026: ГМССБ всех районов, APT S/VDR, гирокомпасы, магнитные компасы, девиационные.
07.05.2026 🌐 Все страницы 🔄 Полный refresh данных (вечерний)
Bitrix: 904 пользователя, 15500+ сделок, 1722 компаний (+3 vs утра, 2.2 мин). Magicport scheduled: 343 (1-7 дней по 138 портам РФ). Magicport arrived с nearby-vessels: 1378. foreign_surveys: 308 IMO (3.5 мин, 0 ошибок). РМРС survey-даты: 1148 ok, 735 not_in_rs. Match: scheduled 151/343 (44%, 81 с откр.), arrived 666/1378 (48%, 329 с откр.). Карта: 1386 сматчено, 393 с открытыми сделками. TV всех 10 регионов: spb-tv (266), mmk-tv (164), arh-tv (85), kld-tv (73 +13), rnd-tv (145 +12), tmr-tv (59), ast-tv (76), nvs-tv (175), vlv-tv (308), nak-tv (356).
07.05.2026 all-tv.html 📺 Каталог TV-регионов и кликабельные секции
Добавлена сводная страница all-tv.html с плитками по 10 регионам (название, кол-во судов, открытые сделки, история, новые, замороженные). Сортировка плиток по убыванию открытых сделок. На каждой региональной TV-странице добавлена кнопка '📺 все' рядом с '🧊 скрыть' — возврат к каталогу. В навигации брифинга (index + регионы) добавлена жёлтая ссылка '📺 TV' → каталог. Заголовки секций (⚠ Сделки / 📜 История / 🆕 Новые / 🧊 Заморож.) теперь кликабельны со стрелкой ▼/▶, состояние запоминается. Новые свёрнуты по умолчанию для разгрузки экрана.
07.05.2026 all-tv 📺 TV-страницы для всех 10 регионов
build_tv_kld.py обобщён в build_tv.py с конфигом всех регионов (центр карты, zoom, UNLOCODE портов). Сгенерированы: spb-tv (265 судов), mmk-tv (167), arh-tv (89), kld-tv (60), rnd-tv (133), tmr-tv (56), ast-tv (84), nvs-tv (189), vlv-tv (317), nak-tv (349). На каждой региональной странице брифинга в навигации добавлена жёлтая ссылка '📺 TV' → переход на соответствующий TV-дашборд подразделения. Запуск: python3 build_tv.py [region|all]. Зашит в Обновить брифинг.command — теперь все 10 TV пересобираются автоматически в каждом цикле.
07.05.2026 kld-tv.html 📺 TV-страница для подразделения Калининград
Новая полноэкранная страница kld-tv.html для вывода на монитор в подразделении. Шапка с регионом, временем и счётчиками (60 судов сейчас: 19 со сделками на 26.8М ₽, 22 с историей, 19 новых). Карта Калининграда + Балтийска (тёмные тайлы Carto, маркеры судов окрашены по статусу: красный — открытые сделки, оранжевый — история, синий — новые), порты выделены зелёным кружком. Под картой 3 колонки списков с крупным читаемым шрифтом и скроллом внутри: ⚠ Со сделками (приоритет по сумме открытых) · 📜 История (по won) · 🆕 Новые (по DWT). Авто-обновление страницы каждые 5 минут. Адаптивный layout: на 9:16 (вертикальный TV) — карта сверху, списки снизу; на 16:9 — карта слева, списки справа. Шаблон легко клонируется на другие регионы (build_tv_kld.py).
07.05.2026 mailing.html 📨 Survey-рассылка: правки оффера + ответственный менеджер
Письмо A переписано: скидка 15% (вместо 5%) при 100% оплате до 30.06.2026, мобилизация только в Большой порт СПб (без сателлитов Балтики), убраны депозит 30% и перенос на сестринское судно, добавлены даты ежегодного/промежуточного/special/докования из РМРС. Прайс в письме: добавлен APT (Все модели S/VDR) — 53 000 ₽, ГМССБ всех 3 районов (А1/А2/А3-А4), удалены ТО Эхолот/ЛАГ и ТО РЛС/магнетрон. Отправитель — ответственный менеджер из Битрикса. CSV mailing_survey_lock2026.csv расширен полями manager_name, manager_email, manager_phone, manager_position, intermediate_next, drydock_next. В таблице на mailing.html добавлены столбцы Intermediate / Drydock / Менеджер.
07.05.2026 mailing.html 🛡 Новая вкладка «Survey ≤90 дней» + акция Lock-2026
В mailing.html добавлены 2 вкладки: '🛡 Survey ≤90 дней' (новая, открыта по умолчанию) и '🌆 По городам'. Survey-сегмент: 52 компании с приближающимся annual (41 просрочено с отсрочкой РМРС, 5 в ≤30 дней, 6 в 31-90 дней) — все с email. Под них блок 3 вариантов оффера 'Survey Lock-2026': A (30% депозит + фикс цены до 31.12.2026 + бесплатная мобилизация Балтика + 5% при 100% оплате), B (0% депозит + 7% скидка за наш слот), C (фикс прайс на 1 мес.). Отдельный CSV-экспорт mailing_survey_lock2026.csv с колонками email/company/vessel/imo/annual_next/days_left/special_next/offer_variant/contact_name. Шаблон письма (3 варианта + сценарий рассылки + финансовая модель) в Survey_Lock_2026_шаблоны.docx в корне проекта.
06.05.2026 mailing.html 📨 Новая страница: рассылки по городам (для Unisender)
Отдельный блок mailing.html: 162 уникальных компаний с историей в Битриксе, но БЕЗ открытых сделок сейчас (231 судно). Сгруппировано по 10 регионам/городам, в каждом регионе кнопка '📥 CSV для Unisender' — выгружает таблицу с email, name, company, city, vessel, vessel_type, eta, region, won_deals, total_deals, revenue. Чекбокс 'только с email' (по умолчанию on). Также общая кнопка 'Скачать ВСЕХ одним CSV'. Email берутся из карточек компаний и связанных контактов. Город = главный порт назначения судна (UNLOCODE → русское имя). Ссылка на страницу добавлена в навигацию index и всех 10 регионов.
06.05.2026 🌐 Все страницы 🔻 'Срочно · с открытыми сделками' стало сворачиваемым
Раздел '🚨 Срочно · с открытыми сделками (до оплаты — сверху)' обёрнут в details/summary. По умолчанию открыт, но можно свернуть кликом по заголовку — судов там стало много, помещается экран. В summary показывается счётчик.
06.05.2026 🌐 Все страницы 🔄 Полное обновление: Bitrix + Magicport scheduled/arrived/foreign + РМРС survey
Bitrix через webhook: 904 пользователя, 15488 сделок, 1719 компаний (+4 vs утра). Magicport через JS-инъекцию в Chrome: scheduled 365 судов (1-7 дней, 138 портов РФ), arrived 1390 судов с nearby-vessels (новый источник, было 878 — +512), ru_ports 138, foreign_surveys 308 IMO (3 мин). РМРС survey-даты с rs-class.org: 1148 ok, 735 not_in_rs, кеш 1147+736 свежих за 31s. Match: scheduled 159/365 (43%) с Bitrix, 85 с открытыми; arrived 662/1390 (47%), 327 с открытыми. Карта: 2286 судов с координатами (+422 vs утра), 1379 сматчено, 397 с открытыми. rmrs_positions оставлены вчерашние (по запросу пропустили).
06.05.2026 🌐 Все страницы 🔄 Обновление данных: Bitrix + Magicport scheduled
Bitrix актуализирован через webhook (904 пользователя, 15488 сделок, 1715 компаний, последняя 06.05). Magicport scheduled-arrivals обновлён через Chrome JS-инъекцию (367 судов на горизонте 1-7 дней по 138 портам РФ). Match: scheduled 159/367 (43%) сматчено с Bitrix, 86 с открытыми сделками; arrived 407/878 (46%), 209 с открытыми. Arrived/foreign-surveys/RMRS/positions от 27-28.04 (в пределах окна обновления). Пересборка всех отчётов и redeploy на cir-brief.pages.dev.
Апрель 2026 · 18 изменений
ДатаСтраницаИзменение
28.04.2026 🌐 Все страницы 🔄 Полное обновление данных + кросс-проверка AIS
Bitrix актуализирован (15203 сделок, 1696 компаний, последняя 28.04 11:04). Magicport обновлён через Chrome MCP — потолок 998 'стоят' + 130 'идут'. AIS-верификация всех 998 через /aws-vessels/navigational-data. Применён фильтр (AIS>7д или ETA>14д = застрявшие). Кросс-проверка: 144 застрявших ожили (143 в rmrs_positions, 1 в scheduled). Финальные цифры: 352 стоят, 256 идут, 506 застряли. С матчингом Bitrix: 1051. С открытыми сделками: 187.
28.04.2026 🗺 Карта На карте 'Застрявшие' как отдельная категория (фиолетовая)
Чекбокс ⏰ Застрявшие (AIS>7д) — выключен по умолчанию, можно включить для аудита. 709 судов с покрытием на карте. В попапе показывается причина: 'AIS старше 7 дней' или 'ETA сильно просрочена', + дата последнего AIS-сигнала. Цвет фиолетовый (#a855f7) чтобы отличать от живых.
28.04.2026 🌐 Все страницы Дата 'сегодня' стала динамической (была застряла на 25.04)
build_v4.py хардкодил TODAY = datetime(2026, 4, 25). Заменил на datetime.now(). Теперь все дашборды показывают актуальную дату при каждом ребилде.
28.04.2026 🌐 Все страницы 🛰 Верификация AIS: убрано 864 'призрака' из 'Стоят сейчас'
Через magicport API /aws-vessels/navigational-data/{mmsi} получили Last Position Update для каждого из 1396 судов. Применили фильтр: AIS старше 7 дней ИЛИ ETA прошла >14 дней назад → 'застряли' (отдельная категория). Под двигателем (Under way) → 'Идут'. Только Moored/Anchored с свежим AIS → 'Стоят'. Цифры: Стоят 1396→366, Идут 394→547, Застряли 864 (AIS старый: 521, ETA просрочена: 343). Сохранено в magicport_stuck.json для отдельного раздела.
27.04.2026 📋 Survey Survey-pipeline актуализирован: 2446 судов с annual-датами
Через Chrome MCP дофетчили rs-class.org для всех IMO в реестре. Кеш rs_cache: 2503 страницы с данными (74% от 3324 РМРС). 851 судно без публичных страниц на rs-class — почти все рыболовные (779), РМРС закрыл этот сегмент. Цифры: 77 просрочено, 205 в ≤30 дней, 594 в ≤3 мес, 1281 в ≤6 мес — в 2 раза больше срочных задач, чем до расширения.
27.04.2026 📋 Survey РМРС расширен с 1138 до 3324 судов
Подключён полный регистр rmrs_vessels.xlsx. Рыболовных судов выросло с 12 до 786 (русские типы РМРС: 'Рыболовное', 'Промысловое'). Survey-pipeline теперь покрывает 343 уникальных клиентов вместо 274.
27.04.2026 🌐 Все страницы Холдинги (105 шт., 353 компании)
Загружен Холдинги.xlsx. Компании теперь отображаются в формате 'Холдинг (Компания)'. Покрытие: 285 из 1693 Bitrix-компаний (16.8%).
27.04.2026 ⚓ РРР Новая страница: Российский Речной Регистр (РРР)
21843 судна РРР как отдельный справочник. Целевые сегменты: 596 нефтяных танкеров, 1320 пассажирских, 557 сухогрузов, 2359 буксиров. Поиск по имени → ссылка на Bitrix.
27.04.2026 🗺 Карта Светлая карта в светлой теме
При переключении темы тайлы CARTO меняются: light_all для светлой, dark_all для тёмной.
27.04.2026 🗺 Карта На карте показывается компания-клиент (100% покрытие)
Вместо метки '✓ Наш клиент' теперь название компании со ссылкой на карточку Bitrix. Покрытие выросло с 624/893 (70%) до 1393/1393 (100%) — за счёт enriched_company из matched_v3 и пропущенного блока РМРС-позиций.
27.04.2026 📋 Survey Имя судна → ссылка на Bitrix-сделки
Имя судна теперь ведёт на смарт-фильтр сделок Bitrix по полю IMO (UF_CRM_1508500735). Рядом маленький ↗MP — Magicport (для судов с MMSI).
27.04.2026 📋 Survey Колонки на русском + раздел 'Рыболовный флот'
Annual → Ежегодное, Intermediate → Промежуточное, Special → Док (drydock_next). Добавлен отдельный раздел '🐟 Рыболовный флот' с сортировкой по ближайшему доку.
27.04.2026 📋 Survey Потенциал по фикс. ставке 35 000 ₽ × судно
Вместо реальной выручки из Bitrix используется средняя стоимость ежегодной проверки. Итоговый потенциал: 39.8М ₽ (было — фактическая выручка по выигранным сделкам).
27.04.2026 🚢 Ростов Ростов + Азовское море (Мариуполь, Бердянск)
Добавлены порты Мариуполь и Бердянск (RUMUP, UAMUP, RUBDY, UABDY). Регион переименован в 'Ростов + Азов.море'. Создан distribute_magicport.py для автораспределения данных по 10 регионам с fallback по lat/lng.
27.04.2026 📖 Инструкция Текст: 'Можешь подтвердить задачи на сегодня'
Заменено 'Это твой план на сегодня' на 'Можешь подтвердить задачи на сегодня' — менее директивно для самостоятельных РОПов.
25.04.2026 📋 Survey Парсер РМРС: имена и коды CLCPC.*
Исправлена регэкспа извлечения 'Name of vessel'. Добавлено суффикс-матчирование кодов: CLC.A, CLCPC.A, CLCAUT.A → теперь все варианты освидетельствований ловятся, не только классические. До фикса было 0 имён судов и 0 дат, после: 1138 имён и 1118 дат.
25.04.2026 🌐 Все страницы Унификация шапок и навигации
Все страницы получили одинаковую шапку (логотип СиР, единая нав-полоса). 10 региональных страниц + index получают навигацию из общего шаблона.
24.04.2026 🌐 Все страницы Один-клик обновление: .command на десктопе
Создан '🚢 Обновить брифинг.command' на десктопе. Запускает: fetch_bitrix_fast (быстрая выгрузка через cursor pagination + batch API), fetch_rs_fast (8 потоков), build всех отчётов, zip. Время: ~2-5 минут.
Журнал ведётся вручную · 14.05.2026