QUIK: имя базы МНП обязательно, доверие сертификату по умолчанию, памятка вместо пустых ссылок

- «База МНП» — в основной строке рядом с сервером и портом, обязательна (без неё
  модуль не подключается); «Дополнительно» — только шифрование.
- «Доверять сертификату сервера» включено по умолчанию у ненастроенного QUIK
  (у QUIK сертификат свой, не на IP).
- Строка версий над разделом обновляется сразу после проверки подключения
  (раньше — через 10 минут показывала старую ошибку).
- «что ему настроить · документы ARQA» вели в никуда (техническая справка не
  входит в рабочую сборку, документов ARQA на сервере клиента нет): вместо них
  «Памятка администратору QUIK» — и в мастере, и в «Настройке».
- Ссылки на техническую справку (Валидата, события bj2depo) — только в сборке
  со справкой; «Инструкция по размещению» ЛК вела на несуществующую страницу.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014FsEKyJrYF69Cj9ZXzFLRi
This commit is contained in:
zuevav
2026-10-06 17:11:14 +03:00
parent b118b4c405
commit 8084fac403
5 changed files with 32 additions and 25 deletions
@@ -3,14 +3,17 @@
{{template "verline" (.Versions.Get "quik-mnp")}}
<div class="card">
<h2><span class="dot {{if .Settings.Quik.Verified}}ok{{else if .Settings.Quik.Server}}warn{{else}}err{{end}}"></span>Подключение к модулю неторговых поручений</h2>
<p class="muted">{{if not .InWizard}}bj блокирует бумаги клиента в QUIK на время перевода через модуль неторговых поручений (МНП). {{end}}Нужен логин SQL с ролью <code>InstrEu</code> — его выдаёт администратор QUIK: <a href="/admin/help/quik">что ему настроить</a> · <a href="/admin/docs/">документы ARQA</a>.</p>
<p class="muted">{{if not .InWizard}}bj блокирует бумаги клиента в QUIK на время перевода через модуль неторговых поручений (МНП). {{end}}Нужен логин SQL с ролью <code>InstrEu</code> — его выдаёт администратор QUIK.</p>
{{template "quikMemo" .}}
<form method="post" action="/admin/setup/quik" style="margin-top:12px;display:grid;gap:10px;max-width:560px">
<input type="hidden" name="check" value="1">
<div style="display:grid;grid-template-columns:3fr 1fr;gap:10px">
<div style="display:grid;grid-template-columns:2.2fr .8fr 1.6fr;gap:10px">
<label>Сервер QUIK МНП
<input type="text" name="server" value="{{.Settings.Quik.Server}}" placeholder="адрес или имя\экземпляр" style="width:100%" required></label>
<label>Порт
<input type="number" name="port" value="{{if .Settings.Quik.Port}}{{.Settings.Quik.Port}}{{else}}1433{{end}}" style="width:100%"></label>
<label>База МНП{{/* без имени базы модуль не подключается — обязательно */}}
<input type="text" name="database" value="{{.Settings.Quik.Database}}" placeholder="имя базы модуля" style="width:100%" required spellcheck="false"></label>
</div>
<div style="display:grid;grid-template-columns:1fr 1fr;gap:10px">
<label>Логин
@@ -18,17 +21,15 @@
<label>Пароль
<input type="password" name="password" placeholder="{{if .Settings.Quik.Password}}сохранён — пусто, чтобы не менять{{end}}" autocomplete="new-password" style="width:100%"></label>
</div>
<details {{if quikNeedsTrust .Settings.Quik}}open{{end}}><summary style="cursor:pointer;color:var(--accent);font-size:13px">Дополнительно: база и шифрование</summary>
<details {{if quikNeedsTrust .Settings.Quik}}open{{end}}><summary style="cursor:pointer;color:var(--accent);font-size:13px">Дополнительно: шифрование</summary>
<div style="display:grid;gap:10px;margin-top:8px">
<label>База МНП <span class="muted" style="font-weight:400">— пусто: база логина по умолчанию</span>
<input type="text" name="database" value="{{.Settings.Quik.Database}}" style="width:100%"></label>
<label>Шифрование
<select name="encrypt" style="width:100%">
<option value="true" {{if ne .Settings.Quik.Encrypt "disable"}}selected{{end}}>Шифровать соединение (обычно требуется)</option>
<option value="disable" {{if eq .Settings.Quik.Encrypt "disable"}}selected{{end}}>Без шифрования</option>
</select></label>
<label style="display:flex;gap:8px;align-items:center;font-weight:400">
<input type="checkbox" name="trust" value="1" {{if .Settings.Quik.Trust}}checked{{end}}>
<input type="checkbox" name="trust" value="1" {{if or .Settings.Quik.Trust (not .Settings.Quik.Server)}}checked{{end}}>{{/* по умолчанию — да: у QUIK сертификат свой */}}
Доверять сертификату сервера, даже самоподписанному</label>
</div>
</details>
@@ -108,3 +109,17 @@
})();
</script>
{{end}}
{{/* Памятка администратору QUIK — в мастере и в «Настройке». Без ссылок на техническую справку (её нет в
рабочей сборке) и на документы ARQA (их у клиента нет на сервере bj — они у администратора QUIK). */}}
{{define "quikMemo"}}
<details style="margin:2px 0 10px;font-size:13.5px"><summary style="cursor:pointer;color:var(--accent)">Памятка администратору QUIK — что настроить</summary>
<p style="margin:6px 0 4px">Всё это описано в документации ARQA на модуль неторговых поручений («Руководство администратора», «Таблицы и процедуры БД») — она есть у администратора QUIK:</p>
<ul style="margin:0 0 6px;padding-left:20px">
<li>в QAdmin — классы <code>INSTROUTM2M</code> (вывод ценных бумаг) и <code>INSTRINM2M</code> (ввод), типы неторговых поручений M2M;</li>
<li>SQL-логин для bj с ролью <code>InstrEu</code> — его логин и пароль вписываются в поля ниже;</li>
<li>справочник депозитариев-получателей <code>M2MDepoRecipients</code> заполняет bj; после первого заполнения модуль нужно перезапустить — QUIK читает справочник только при запуске.</li>
</ul>
{{if internalDocs}}<a href="/admin/help/quik">Подробная внутренняя справка →</a>{{end}}
</details>
{{end}}