feat(bj): модуль ЛК на PostgreSQL, обмен с DEPO, боевой ЛК с имитатором НРД, QUIK, НПР

- bj_exchange и «кран» Fancy убраны: данные модуля ЛК в PostgreSQL (схема lk)
- трансферные таблицы FTV_M2M: создание при установке, события, справочник участников
- сверка с DEPO: счёт, ФИО, дата рождения, ИИС по договору, квал-инвестор из опции DEPO
- боевой ЛК ЕСИА Финанс при тестовом ИШ: журнал, отказ через DEPO, статусы в ЛК
- онлайн-лицензирование в bj, план тестирования M2M для контрагента (интерактивный HTML)
- модули QUIK МНП, экспорт QUIK, НПР/УДС; документы и тестовые материалы

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
zuevav
2026-09-15 19:41:12 +03:00
parent 59fc774f08
commit da12a9ec1c
132 changed files with 29969 additions and 1089 deletions
@@ -2,11 +2,11 @@
<style>
.news-item { background:var(--card); border:1px solid var(--border); border-radius:6px; padding:14px; margin-bottom:10px; }
.news-item.dismissed { opacity:0.5; }
.news-item.kind-maintenance { border-left:4px solid var(--warn); }
.news-item.kind-feature { border-left:4px solid var(--ok); }
.news-item.kind-doc-update { border-left:4px solid var(--accent); }
.news-item.kind-system { border-left:4px solid var(--err); }
.news-item.kind-manual { border-left:4px solid var(--muted); }
.news-item.kind-maintenance { background:var(--warn-weak); }
.news-item.kind-feature { background:var(--ok-weak); }
.news-item.kind-doc-update { background:var(--accent-weak); }
.news-item.kind-system { background:var(--err-weak); }
.news-item.kind-manual { background:var(--card-2); }
.news-meta { font-size:11px; color:var(--muted); margin-bottom:6px; text-transform:uppercase; letter-spacing:0.04em; }
.news-title { font-size:15px; font-weight:600; margin:0 0 6px 0; }
.news-body { font-size:13px; white-space:pre-wrap; }
@@ -14,13 +14,13 @@
.news-validity.active { background:var(--warn-weak); color:var(--warn); }
</style>
{{if .Flash}}<div class="card" style="border-left:3px solid var(--accent)"><p style="margin:0">{{.Flash}}</p></div>{{end}}
{{if .Flash}}<div class="card" style="background:var(--accent-weak)"><p style="margin:0">{{.Flash}}</p></div>{{end}}
<div class="card">
<h2>Новости и события</h2>
<p class="muted">События системы, окна техработ НРД, обновления документации и сертификатов. Лента не очищается — служит журналом для аудита. Скрытые новости можно посмотреть, сняв галочку «Только активные».</p>
<form method="post" action="/admin/news/check-docs" style="margin-top:10px;display:flex;gap:8px;align-items:center;flex-wrap:wrap">
<button type="submit" class="btn">🔄 Проверить обновления документации НРД сейчас</button>
<button type="submit" class="btn">Проверить обновления документации НРД сейчас</button>
{{if not .Settings.News.LastDocCheck.IsZero}}
<span class="muted" style="font-size:12px">Последняя проверка: {{.Settings.News.LastDocCheck.Format "02.01.2006 15:04:05"}}</span>
{{end}}