From 8084fac40322225253ceea91e23a19bc153c948e Mon Sep 17 00:00:00 2001 From: zuevav Date: Tue, 6 Oct 2026 17:11:14 +0300 Subject: [PATCH] =?UTF-8?q?QUIK:=20=D0=B8=D0=BC=D1=8F=20=D0=B1=D0=B0=D0=B7?= =?UTF-8?q?=D1=8B=20=D0=9C=D0=9D=D0=9F=20=D0=BE=D0=B1=D1=8F=D0=B7=D0=B0?= =?UTF-8?q?=D1=82=D0=B5=D0=BB=D1=8C=D0=BD=D0=BE,=20=D0=B4=D0=BE=D0=B2?= =?UTF-8?q?=D0=B5=D1=80=D0=B8=D0=B5=20=D1=81=D0=B5=D1=80=D1=82=D0=B8=D1=84?= =?UTF-8?q?=D0=B8=D0=BA=D0=B0=D1=82=D1=83=20=D0=BF=D0=BE=20=D1=83=D0=BC?= =?UTF-8?q?=D0=BE=D0=BB=D1=87=D0=B0=D0=BD=D0=B8=D1=8E,=20=D0=BF=D0=B0?= =?UTF-8?q?=D0=BC=D1=8F=D1=82=D0=BA=D0=B0=20=D0=B2=D0=BC=D0=B5=D1=81=D1=82?= =?UTF-8?q?=D0=BE=20=D0=BF=D1=83=D1=81=D1=82=D1=8B=D1=85=20=D1=81=D1=81?= =?UTF-8?q?=D1=8B=D0=BB=D0=BE=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - «База МНП» — в основной строке рядом с сервером и портом, обязательна (без неё модуль не подключается); «Дополнительно» — только шифрование. - «Доверять сертификату сервера» включено по умолчанию у ненастроенного QUIK (у QUIK сертификат свой, не на IP). - Строка версий над разделом обновляется сразу после проверки подключения (раньше — через 10 минут показывала старую ошибку). - «что ему настроить · документы ARQA» вели в никуда (техническая справка не входит в рабочую сборку, документов ARQA на сервере клиента нет): вместо них «Памятка администратору QUIK» — и в мастере, и в «Настройке». - Ссылки на техническую справку (Валидата, события bj2depo) — только в сборке со справкой; «Инструкция по размещению» ЛК вела на несуществующую страницу. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_014FsEKyJrYF69Cj9ZXzFLRi --- internal/lkgateway/quikdb_handlers.go | 5 ++++ .../web/templates/admin_fancy_queue.html | 4 +-- .../lkgateway/web/templates/admin_setup.html | 4 +-- .../lkgateway/web/templates/admin_wizard.html | 17 ++---------- .../lkgateway/web/templates/part_quik.html | 27 ++++++++++++++----- 5 files changed, 32 insertions(+), 25 deletions(-) diff --git a/internal/lkgateway/quikdb_handlers.go b/internal/lkgateway/quikdb_handlers.go index 696be48..9e8f7fa 100644 --- a/internal/lkgateway/quikdb_handlers.go +++ b/internal/lkgateway/quikdb_handlers.go @@ -195,6 +195,10 @@ func (h *setupHandlers) saveQuik(w http.ResponseWriter, r *http.Request) { setupFlash(w, r, "QUIK МНП: укажите адрес сервера и логин") return } + if s.Database == "" { // без имени базы модуль не подключается (база логина по умолчанию — не она) + setupFlash(w, r, "QUIK МНП: укажите имя базы модуля неторговых поручений — его сообщает администратор QUIK") + return + } if err := h.rc.UpdateQuik(s); err != nil { setupFlash(w, r, "QUIK МНП: ошибка сохранения: "+err.Error()) return @@ -245,6 +249,7 @@ func (h *setupHandlers) testQuik(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(&b, "----------------------------------------\n") res, err := quikProbe(r.Context(), s) + go refreshVersions(h.rc) // строка версий над разделом — по новому подключению, а не через 10 минут if err != nil { fmt.Fprintf(&b, "РЕЗУЛЬТАТ: ОШИБКА ПОДКЛЮЧЕНИЯ\n\n") b.WriteString(quikErrorDetail(err)) diff --git a/internal/lkgateway/web/templates/admin_fancy_queue.html b/internal/lkgateway/web/templates/admin_fancy_queue.html index 1e8703f..6cb0db4 100644 --- a/internal/lkgateway/web/templates/admin_fancy_queue.html +++ b/internal/lkgateway/web/templates/admin_fancy_queue.html @@ -13,7 +13,7 @@ bj2depo процедура FTV_M2M_JOB ({{.JobMode}}) читает события, создаёт документ 16/16-1 в DEPO, отвечает DEPO_ORDER_CREATED (номер документа) или DEPO_ERROR → документ bj следит за состоянием документа (OD_DOCS: начальный ввод → конец обработки / отмена) и при отмене оповещает → события НРД по ответам MS010 и M2M bj дописывает BJ_ORDER_ACCEPTED / BJ_EXECUTED / BJ_REJECTED / BJ_CANCELLED. - Опрос таблиц — раз в минуту. Подробности и словарь событий — страница для программиста Fancy. + Опрос таблиц — раз в минуту.{{if internalDocs}} Подробности и словарь событий — страница для программиста Fancy.{{end}}

Переводов: {{.Sum.Total}} @@ -72,5 +72,5 @@ {{end}}
-

bj ↔ bj2depo: события, таблицы, действия job →

+{{if internalDocs}}

bj ↔ bj2depo: события, таблицы, действия job →

{{end}} {{end}} diff --git a/internal/lkgateway/web/templates/admin_setup.html b/internal/lkgateway/web/templates/admin_setup.html index 658e2da..ae7b1e1 100644 --- a/internal/lkgateway/web/templates/admin_setup.html +++ b/internal/lkgateway/web/templates/admin_setup.html @@ -239,7 +239,7 @@

СКЗИ «Валидата Клиент L»

-

Активный профиль: {{if .Settings.Crypto.Profile}}{{.Settings.Crypto.Profile}}{{else}}—{{end}} · провайдер {{if and (not devOn) (or (eq .Settings.Crypto.Provider "stub") (eq .Settings.Crypto.Provider ""))}}не настроен{{else}}{{.Settings.Crypto.Provider}}{{end}}. Подробно — справка.

+

Активный профиль: {{if .Settings.Crypto.Profile}}{{.Settings.Crypto.Profile}}{{else}}—{{end}} · провайдер {{if and (not devOn) (or (eq .Settings.Crypto.Provider "stub") (eq .Settings.Crypto.Provider ""))}}не настроен{{else}}{{.Settings.Crypto.Provider}}{{end}}. {{if internalDocs}}Подробно — справка{{end}}.

@@ -434,7 +434,7 @@ {{if .Settings.LK.APIKey}}Скачать для своего сервера (Linux) Скачать для PHP-хостинга{{end}} - Инструкция по размещению + Инструкция по размещению
diff --git a/internal/lkgateway/web/templates/admin_wizard.html b/internal/lkgateway/web/templates/admin_wizard.html index fdf48cd..79ab66a 100644 --- a/internal/lkgateway/web/templates/admin_wizard.html +++ b/internal/lkgateway/web/templates/admin_wizard.html @@ -86,10 +86,6 @@ .dq-jobname { margin-top:14px; max-width:520px; } .dq-jobname label { display:block; margin:0; font-size:13.5px; font-weight:500; color:var(--text-2); } .dq-jobname input { display:block; width:100%; box-sizing:border-box; margin-top:5px; } -.wiz-memo { margin:10px 0 0; font-size:13.5px; } -.wiz-memo summary { cursor:pointer; color:var(--accent); } -.wiz-memo ul { margin:6px 0 8px; padding-left:20px; } -.wiz-memo li { margin:3px 0; } .dq-box { border:1px solid var(--border); border-radius:12px; padding:14px 16px 16px; } .dq-box-bj { background:color-mix(in srgb, var(--accent-weak) 45%, transparent); } .dq-box-h { font-weight:600; font-size:14.5px; margin:0 0 10px; } @@ -466,16 +462,7 @@

QUIK

Адрес и логин модуля неторговых поручений — у вашего администратора QUIK. Если модуля ещё нет, его подключает ARQA Technologies — письмо для них готово ниже.

- {{if .DepoLicensed}}{{template "letterCard" (letter "arqa")}} -
Памятка администратору QUIK -

Всё это описано в документации ARQA на модуль неторговых поручений — администратору QUIK она знакома:

-
    -
  • в QAdmin — классы INSTROUTM2M (вывод ценных бумаг) и INSTRINM2M (ввод), типы неторговых поручений M2M;
  • -
  • SQL-логин для bj с ролью InstrEu — его логин и пароль вписываются ниже;
  • -
  • справочник депозитариев-получателей M2MDepoRecipients заполняет bj; после первого заполнения модуль нужно перезапустить.
  • -
- Подробная инструкция для администратора QUIK → -
{{end}} + {{if .DepoLicensed}}{{template "letterCard" (letter "arqa")}}{{end}} {{if not .DepoLicensed}}

Модуль неторговых поручений не входит в текущую лицензию — шаг пропускается.

{{else}}{{with .Fancy}}{{template "quikSection" .}}{{end}} {{if .Settings.Quik.Server}}{{template "mnpCheck" .}}{{end}} @@ -525,7 +512,7 @@ {{else}}

Валидата на этом сервере не найдена.

- Как поставить. С образа Bridge&Join она ставится сама. Если bj ставили на готовую систему: пакеты zpki и zsdk из дистрибутива НРД (ClientL_Other.zip для Ubuntu 22.04, ClientL_ALSE.zip для Astra Linux) — sudo apt install ./zpki_*.deb ./zsdk_*.deb, подробнее — справка. После установки обновите эту страницу. + Как поставить. С образа Bridge&Join она ставится сама. Если bj ставили на готовую систему: пакеты zpki и zsdk из дистрибутива НРД (ClientL_Other.zip для Ubuntu 22.04, ClientL_ALSE.zip для Astra Linux) — sudo apt install ./zpki_*.deb ./zsdk_*.deb{{if internalDocs}}, подробнее — справка{{end}}. После установки обновите эту страницу.
{{if devOn}}
diff --git a/internal/lkgateway/web/templates/part_quik.html b/internal/lkgateway/web/templates/part_quik.html index bd27340..d95375e 100644 --- a/internal/lkgateway/web/templates/part_quik.html +++ b/internal/lkgateway/web/templates/part_quik.html @@ -3,14 +3,17 @@ {{template "verline" (.Versions.Get "quik-mnp")}}

Подключение к модулю неторговых поручений

-

{{if not .InWizard}}bj блокирует бумаги клиента в QUIK на время перевода через модуль неторговых поручений (МНП). {{end}}Нужен логин SQL с ролью InstrEu — его выдаёт администратор QUIK: что ему настроить · документы ARQA.

+

{{if not .InWizard}}bj блокирует бумаги клиента в QUIK на время перевода через модуль неторговых поручений (МНП). {{end}}Нужен логин SQL с ролью InstrEu — его выдаёт администратор QUIK.

+ {{template "quikMemo" .}} -
+
+
-
Дополнительно: база и шифрование +
Дополнительно: шифрование
-
@@ -108,3 +109,17 @@ })(); {{end}} + +{{/* Памятка администратору QUIK — в мастере и в «Настройке». Без ссылок на техническую справку (её нет в + рабочей сборке) и на документы ARQA (их у клиента нет на сервере bj — они у администратора QUIK). */}} +{{define "quikMemo"}} +
Памятка администратору QUIK — что настроить +

Всё это описано в документации ARQA на модуль неторговых поручений («Руководство администратора», «Таблицы и процедуры БД») — она есть у администратора QUIK:

+
    +
  • в QAdmin — классы INSTROUTM2M (вывод ценных бумаг) и INSTRINM2M (ввод), типы неторговых поручений M2M;
  • +
  • SQL-логин для bj с ролью InstrEu — его логин и пароль вписываются в поля ниже;
  • +
  • справочник депозитариев-получателей M2MDepoRecipients заполняет bj; после первого заполнения модуль нужно перезапустить — QUIK читает справочник только при запуске.
  • +
+ {{if internalDocs}}Подробная внутренняя справка →{{end}} +
+{{end}}