«Обмен с DEPO»: сводка состояния вместо форм; настройка — под «Перенастроить»
- Сверху — «Обмен с DEPO работает / настроен не до конца / не подключён» и сведения: база DEPO, сервер и СУБД, логин bj, начало номера торговых счетов, признак ИИС (отказ M2M06), трансферные таблицы, кто запускает обработку и итог последней проверки (✓/✗ и когда). - Все прежние формы — под «Перенастроить»; раскрыто само, если что-то не проверено. - Общий стиль сведений «название — значение» (.kv) — в оформлении для настроек. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014FsEKyJrYF69Cj9ZXzFLRi
This commit is contained in:
@@ -94,6 +94,7 @@ var templateFuncs = template.FuncMap{
|
|||||||
return "?"
|
return "?"
|
||||||
},
|
},
|
||||||
"quikModeCustom": quikModeCustom,
|
"quikModeCustom": quikModeCustom,
|
||||||
|
"depoJobNameOf": depoJobName,
|
||||||
"adDraft": adDraftForView, // неудачная попытка подключить домен — форма открывается заполненной
|
"adDraft": adDraftForView, // неудачная попытка подключить домен — форма открывается заполненной
|
||||||
"withRet": func(d any, ret string) map[string]any { return map[string]any{"D": d, "Ret": ret} },
|
"withRet": func(d any, ret string) map[string]any { return map[string]any{"D": d, "Ret": ret} },
|
||||||
"whForm": func(w WorkHoursSettings, ret string) map[string]any { return map[string]any{"W": w, "Ret": ret} },
|
"whForm": func(w WorkHoursSettings, ret string) map[string]any { return map[string]any{"W": w, "Ret": ret} },
|
||||||
|
|||||||
@@ -89,8 +89,16 @@
|
|||||||
{{if mod "quik-mnp"}}
|
{{if mod "quik-mnp"}}
|
||||||
{{/* ============ ОБМЕН FANCY (MSSQL) — перспективный модуль ============ */}}
|
{{/* ============ ОБМЕН FANCY (MSSQL) — перспективный модуль ============ */}}
|
||||||
<section class="settings-section" id="sec-fancy">
|
<section class="settings-section" id="sec-fancy">
|
||||||
<h1>Обмен Fancy (MSSQL / PostgreSQL)</h1>
|
<h1>Обмен с DEPO (Fancy)</h1>
|
||||||
|
{{template "verline" (.Versions.Get "depo")}}
|
||||||
|
{{template "fancyStatus" .}}
|
||||||
|
{{$fok := and .Settings.Fancy.Server .Settings.Fancy.DepoTablesCheckOK .Settings.Fancy.DepoJobCheckOK}}
|
||||||
|
<div class="card">
|
||||||
|
<details class="adv-box" {{if not $fok}}open{{end}}>
|
||||||
|
<summary><span class="sum-h">Перенастроить</span><span class="muted">подключение к базе DEPO, торговые счета, трансферные таблицы, признак ИИС, кто запускает обработку — если что-то изменилось</span></summary>
|
||||||
{{template "fancySection" .}}
|
{{template "fancySection" .}}
|
||||||
|
</details>
|
||||||
|
</div>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|||||||
@@ -408,6 +408,12 @@ label { font-size:13px; font-weight:500; }
|
|||||||
.stc-run .stc-ic{background:none;border:2.5px solid var(--accent-weak);border-top-color:var(--accent);box-sizing:border-box;animation:dq-spin .8s linear infinite}
|
.stc-run .stc-ic{background:none;border:2.5px solid var(--accent-weak);border-top-color:var(--accent);box-sizing:border-box;animation:dq-spin .8s linear infinite}
|
||||||
.stc-run .btn, .stc-run form{visibility:hidden}
|
.stc-run .btn, .stc-run form{visibility:hidden}
|
||||||
@media (max-width:600px){.stc{flex-wrap:wrap}}
|
@media (max-width:600px){.stc{flex-wrap:wrap}}
|
||||||
|
/* сведения «название — значение» (сводки разделов): как в мастере */
|
||||||
|
.kv{display:grid;grid-template-columns:minmax(140px,210px) minmax(0,1fr);gap:9px 18px;margin:14px 0 0;font-size:14px}
|
||||||
|
.kv dt{color:var(--muted)}
|
||||||
|
.kv dd{margin:0;overflow-wrap:anywhere}
|
||||||
|
.kv-ok{color:var(--ok);font-weight:700} .kv-no{color:var(--err);font-weight:700} .kv-warn{color:var(--warn);font-weight:700}
|
||||||
|
@media (max-width:600px){.kv{grid-template-columns:minmax(0,1fr);gap:2px 0}.kv dd{margin-bottom:8px}}
|
||||||
@media (max-width:700px){.org-grid{grid-template-columns:minmax(0,1fr)}}
|
@media (max-width:700px){.org-grid{grid-template-columns:minmax(0,1fr)}}
|
||||||
@media (max-width:820px) {
|
@media (max-width:820px) {
|
||||||
.settings { grid-template-columns:1fr; }
|
.settings { grid-template-columns:1fr; }
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
{{/* Раздел «Обмен Fancy» — один и тот же в «Настройка → Обмен Fancy» и на шаге 3 мастера
|
{{/* Раздел «Обмен Fancy» — один и тот же в «Настройка → Обмен Fancy» и на шаге 3 мастера
|
||||||
настройки (данные — SetupData). Правки — только здесь. */}}
|
настройки (данные — SetupData). Правки — только здесь. */}}
|
||||||
{{define "fancySection"}}
|
{{define "fancySection"}}
|
||||||
{{template "verline" (.Versions.Get "depo")}}
|
|
||||||
<div class="card" id="sec-fancy-conn">
|
<div class="card" id="sec-fancy-conn">
|
||||||
<h2><span class="dot {{if .Settings.Fancy.DepoTablesCheckOK}}ok{{else if .Settings.Fancy.Server}}warn{{else}}err{{end}}"></span>Подключение к серверу БД клиента</h2>
|
<h2><span class="dot {{if .Settings.Fancy.DepoTablesCheckOK}}ok{{else if .Settings.Fancy.Server}}warn{{else}}err{{end}}"></span>Подключение к серверу БД клиента</h2>
|
||||||
<p class="muted">Сервер учётной базы Fancy DEPO: картотека лиц, счета и договоры, остатки, опции (признак квалифицированного инвестора), трансферные таблицы обмена. Поддерживаются <strong>Microsoft SQL Server</strong> и <strong>PostgreSQL</strong>. База указывается ниже, в карточке «Трансферные таблицы DEPO».</p>
|
<p class="muted">Сервер учётной базы Fancy DEPO: картотека лиц, счета и договоры, остатки, опции (признак квалифицированного инвестора), трансферные таблицы обмена. Поддерживаются <strong>Microsoft SQL Server</strong> и <strong>PostgreSQL</strong>. База указывается ниже, в карточке «Трансферные таблицы DEPO».</p>
|
||||||
@@ -117,3 +116,24 @@
|
|||||||
{{end}}
|
{{end}}
|
||||||
|
|
||||||
{{define "verline"}}{{if .Title}}<p class="muted" style="font-size:12.5px;margin:-6px 0 12px">{{.Title}}: {{if .Version}}<strong>{{.Version}}</strong>{{else}}не определена{{end}}{{with .Detail}} · {{.}}{{end}}{{with .Err}} · <span style="color:var(--err)">{{.}}</span>{{end}}</p>{{end}}{{end}}
|
{{define "verline"}}{{if .Title}}<p class="muted" style="font-size:12.5px;margin:-6px 0 12px">{{.Title}}: {{if .Version}}<strong>{{.Version}}</strong>{{else}}не определена{{end}}{{with .Detail}} · {{.}}{{end}}{{with .Err}} · <span style="color:var(--err)">{{.}}</span>{{end}}</p>{{end}}{{end}}
|
||||||
|
|
||||||
|
{{/* Сводка «Обмен с DEPO» (Настройка): что подключено и проверено — одним взглядом; формы — под «Перенастроить». */}}
|
||||||
|
{{define "fancyStatus"}}{{$f := .Settings.Fancy}}{{$ok := and $f.Server $f.DepoTablesCheckOK $f.DepoJobCheckOK}}
|
||||||
|
<div class="card" id="sec-fancy-status">
|
||||||
|
<div class="stc {{if $ok}}stc-ok{{else if $f.Server}}stc-err{{else}}stc-warn{{end}}"><span class="stc-ic"></span>
|
||||||
|
<div class="stc-b"><b>{{if $ok}}Обмен с DEPO работает{{else if $f.Server}}Обмен с DEPO настроен не до конца{{else}}Учёт DEPO не подключён{{end}}</b>
|
||||||
|
<small>{{if $ok}}Подключение, трансферные таблицы и обработка проверены — менять ничего не нужно. Если что-то изменилось на сервере DEPO — «Перенастроить» ниже.{{else if $f.Server}}Что не так — в строках ниже с ✗; поправить — в «Перенастроить».{{else}}Подключите базу DEPO — мастером настройки (шаг «Учёт DEPO») или в «Перенастроить».{{end}}</small></div>
|
||||||
|
{{if not $f.Server}}<a class="btn" href="/admin/wizard?step=3" style="flex:none">Открыть мастер</a>{{end}}</div>
|
||||||
|
{{if $f.Server}}
|
||||||
|
<dl class="kv">
|
||||||
|
<dt>База DEPO</dt><dd><b>{{$f.DepoDB}}</b> на {{$f.Server}}{{if $f.Port}}:{{$f.Port}}{{end}} · {{if eq $f.DBType "postgres"}}PostgreSQL{{else}}Microsoft SQL Server{{end}}</dd>
|
||||||
|
<dt>Логин bj</dt><dd><code>{{$f.User}}</code></dd>
|
||||||
|
<dt>Торговые счета клиентов</dt><dd>номер начинается с <code>{{depoAccPrefix}}</code></dd>
|
||||||
|
<dt>Признак ИИС</dt><dd>договор начинается с <code>{{if $f.IISContractMarker}}{{$f.IISContractMarker}}{{else}}БРИИС{{end}}</code> — такие переводы отклоняются кодом M2M06</dd>
|
||||||
|
<dt>Трансферные таблицы</dt><dd>{{if $f.DepoTablesCheckOK}}<span class="kv-ok">✓</span>{{else}}<span class="kv-no">✗</span>{{end}} {{if $f.DepoTablesCheck}}{{$f.DepoTablesCheck}}{{else}}ещё не проверялись{{end}}{{if not $f.DepoTablesCheckAt.IsZero}} <span class="muted">· {{msk $f.DepoTablesCheckAt}}</span>{{end}}</dd>
|
||||||
|
<dt>Обработка событий</dt><dd>{{if $f.DepoJobCheckOK}}<span class="kv-ok">✓</span>{{else}}<span class="kv-no">✗</span>{{end}} {{if eq $f.DepoJobMode "bj"}}запускает bj{{if $f.DepoJobEverySec}} каждые {{$f.DepoJobEverySec}} с{{end}}{{else if eq $f.DepoJobMode "sql-auto"}}задание SQL Server Agent <code>{{depoJobNameOf $f}}</code>{{else if eq $f.DepoJobMode "sql-manual"}}задание SQL Server Agent (создано администратором){{else}}не выбрано, кто запускает{{end}}{{if $f.DepoJobCheck}}<div class="muted" style="font-size:12.5px;margin-top:2px">{{$f.DepoJobCheck}}{{if not $f.DepoJobCheckAt.IsZero}} · {{msk $f.DepoJobCheckAt}}{{end}}</div>{{end}}</dd>
|
||||||
|
{{if $f.DepoProcCheck}}<dt>Процедуры обработки</dt><dd>{{if $f.DepoProcCheckOK}}<span class="kv-ok">✓</span>{{else}}<span class="kv-warn">⚠</span>{{end}} {{$f.DepoProcCheck}}{{if not $f.DepoProcCheckAt.IsZero}} <span class="muted">· {{msk $f.DepoProcCheckAt}}</span>{{end}}</dd>{{end}}
|
||||||
|
</dl>
|
||||||
|
{{end}}
|
||||||
|
</div>
|
||||||
|
{{end}}
|
||||||
|
|||||||
Reference in New Issue
Block a user