{{define "content"}}
{{if .Flash}}
{{.Flash}}
{{end}} {{/* ============= ШАГ 1: Лицензия ============= */}} {{if eq .Step 1}} {{/* восстановление из резервной копии — только на первой странице (/first-run), в мастере его нет */}}

Лицензия

{{if .Done.License}}

Ключ продукта открывает модули bj и обновления.

Организация
{{.Lic.Tenant}}
Модули
{{if eq .Lic.Plan "enterprise"}}все модули{{else if .Lic.Features}}{{range $i, $f := .Lic.Features}}{{if $i}}, {{end}}{{modTitle $f}}{{end}}{{else}}только ядро: обмен с НРД и переводы M2M{{end}}
Срок
{{.Lic.Message}}
{{else}}

Введите ключ продукта — bj сам скачает и поставит модули вашей лицензии.

Ключ вида BJ-XXXX-XXXX-XXXX — в портале клиента lic.zetit.ru/portal или в письме от ZETIT.

{{end}} {{if and .Update .Update.HasUpdate}}

Есть новая версия bj — {{.Update.Available}}

С исправлениями ядра, установщика и служб. Поставьте её до настройки: bj перезапустится примерно на 10 секунд.
{{.Update.Message}}

{{else if .Done.License}}
Лицензия активна{{if .Update}}, установлена последняя версия bj{{end}}.
{{end}} {{if .Done.License}}
Сменить ключ продукта (обычно не нужно)
{{else}}
{{end}} {{template "wizNav" .}}
{{end}} {{/* ============= ШАГ 3: Учёт DEPO (Fancy) — по экранам ============= */}} {{if eq .Step 3}}

Учётная система DEPO (Fancy)

{{if not .DepoLicensed}}

Модуль обмена с DEPO и QUIK не входит в текущую лицензию — шаг пропускается.

{{else}} {{$sub := .Sub}} {{if eq $sub "setup"}}

bj сверяет каждый перевод с учётом DEPO и сам создаёт в нём поручения. Четыре вопроса по порядку — из ответов bj соберёт подготовку базы.

{{$job := .Settings.Fancy.DepoJobMode}}{{$pg := eq .Settings.Fancy.DBType "postgres"}}

Какая СУБД у DEPO

Где база DEPO

{{if .DepoCands}} {{else}}{{end}}

{{if .DepoCands}}Логину bj видны несколько баз DEPO — выберите нужную.{{else}}Не знаете имя базы — оставьте пустым: bj найдёт её сам по учётным таблицам OD_FACES и OD_RESTS.Для PostgreSQL имя базы нужно указать.{{end}}

Где запускать обработку обмена

Для PostgreSQL обработку запускает сервер bj — выбирать не нужно.

Как подготовить базу

bj создаст свой логин, таблицы обмена и задание обработки, выдаст права и проверит подключение.

Скрипт создаст этот логин — с ним bj будет входить в базу DEPO. Пароль придумал bj, можно вписать свой.

Скрипт собирается из ответов выше и обновляется сам.

        

Администратор выполняет скрипт в SSMS или sqlcmd под логином с правами sysadmin.Администратор выполняет скрипт в psql суперпользователем (postgres). Когда выполнит — нажмите «Проверить подключение».

{{template "letterCard" (letter "dba")}}
{{else if eq $sub "done"}}
Подключение к базе DEPO{{if .Settings.Fancy.Server}}✓ {{.Settings.Fancy.Server}}, база {{.DepoTables.DB}}{{else}}не настроено{{end}}
Таблицы обмена FTV_M2M{{if .Settings.Fancy.DepoTablesCheckOK}}✓ на месте{{else}}✗ {{.Settings.Fancy.DepoTablesCheck}}{{end}}
Запуск обработки{{if .Settings.Fancy.DepoJobCheckOK}}✓ {{.Settings.Fancy.DepoJobCheck}}{{else}}✗ {{.Settings.Fancy.DepoJobCheck}}{{end}}
Обработка событий (процедуры){{if .Settings.Fancy.DepoProcCheckOK}}✓ {{.Settings.Fancy.DepoProcCheck}}{{else if .Settings.Fancy.DepoProcCheck}}⚠ {{.Settings.Fancy.DepoProcCheck}}{{else}}не проверялась — «Перепроверить всё»{{end}}
{{if .Settings.Fancy.Server}}{{template "accPrefix" .}}{{end}} {{if .Done.Depo}}

Учёт DEPO подключён и проверен. Дальше — «Организация»: bj предложит реквизиты вашей организации из DEPO.

{{else}}

Не всё проверено — можно продолжить настройку (шаг 4 и дальше) и вернуться сюда позже. Пока обработка не работает, записи bj ждут в таблицах обмена со статусом TODO и будут обработаны, когда она заработает.

{{end}}
{{end}} {{end}} {{template "wizNav" .}}
{{end}} {{/* ============= ШАГ 2: База bj (PostgreSQL) ============= */}} {{if eq .Step 2}}

База данных bj (PostgreSQL)

База самого bj: журнал заявок и поручений, история обмена с НРД и DEPO, пользователи.

{{if .Done.Postgres}}
База готова{{if .PGSummary}}: {{.PGSummary}}{{end}}. Её создал установщик — ничего делать не нужно.
{{end}} {{if not .Done.Postgres}}
Обычно базу создаёт установщик — если вы ставили bj с образа или командой установки, этот шаг уже выполнен. Если база bj на отдельном сервере PostgreSQL — введите строку подключения ниже{{if devOn}}, или поднимите локальную базу автоматически (режим разработки){{end}}.
{{end}} {{if and devOn (not .Settings.Postgres.DSN)}}

Вариант А — для тех, у кого нет своего PostgreSQL

Bridge-and-Join-s сам поднимет PostgreSQL в контейнере (podman-compose), создаст БД bj и накатит миграции. Подходит для дев-стенда. Для продакшена лучше указать свой DSN.

~10-30 сек
{{end}}
{{if .Settings.Postgres.DSN}}Подключить другую базу (обычно не нужно){{else}}Вариант Б — у меня уже есть PostgreSQL, введу DSN сам{{end}}

При сохранении выполняется проверка подключения (Ping). Если БД недоступна — будет ошибка.

{{template "wizNav" .}} {{if and devOn (not .Done.Postgres)}}

Пропустить (режим разработки: in-memory — без сохранения сделок)

{{end}}
{{end}} {{/* ============= ШАГ 4: Наша организация ============= */}} {{if eq .Step 4}}

Наша организация

От имени вашей организации bj отправляет и принимает переводы. {{if .DepoLicensed}}Реквизиты bj берёт из DEPO — проверьте и сохраните.{{else}}Найдите себя в справочнике участников НРД.{{end}}

{{if .Suggest}}{{if .Suggest.OrgName}}{{if not .Done.Org}}
Определено из DEPO: {{.Suggest.OrgName}}, ИНН {{.Suggest.OrgINN}}, код {{.Suggest.OrgCode}}{{if .Suggest.AccountID}}, счёт НРД {{.Suggest.AccountID}}{{end}}. Поля ниже заполнены — проверьте и нажмите «Сохранить».
{{end}}{{end}}{{end}} {{with .Fancy}}{{template "orgSection" .}}{{end}}

Депозитарные реквизиты в НРД

Где в НРД учитываются бумаги организации — из договора с НРД{{if .Settings.Fancy.Server}} или кнопкой «Определить из DEPO»{{end}}.

{{if .Suggest}}{{if .Suggest.AccountID}}
Найдено в DEPO: счёт {{.Suggest.AccountID}}, код {{.Suggest.DeponentCode}}, раздел {{.Suggest.SectionID}}.{{range .Suggest.Notes}}
⚠ {{.}}{{end}}
{{end}}{{end}}
{{if .Settings.Fancy.Server}}{{end}}
{{template "wizNav" .}}
{{end}} {{/* ============= ШАГ 5: QUIK МНП ============= */}} {{if eq .Step 5}}

QUIK

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

{{if .DepoLicensed}}{{template "letterCard" (letter "arqa")}}{{end}} {{if not .DepoLicensed}}

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

{{else}}{{with .Fancy}}{{template "quikSection" .}}{{end}} {{if .Settings.Quik.Server}}{{template "mnpCheck" .}}{{end}} {{if .Settings.Quik.M2MMissing}}

✗ Подключение есть, но под этим логином не видно объектов M2M: {{.Settings.Quik.M2MMissing}}. Проверьте имя базы МНП и права логина (роль InstrEu) и нажмите «Проверить» ещё раз.

{{end}}
Справочник депозитариев-получателей — bj заполняет сам

Чтобы QUIK принимал поручения M2M, bj ведёт в МНП справочник депозитариев-получателей (M2MDepoRecipients) по справочнику участников НРД. МНП читает его только при запуске — после первого заполнения попросите администратора QUIK перезапустить модуль, иначе QUIK ответит «Неизвестный депозитарий получателя».
{{quikRecipientsInfo}}

{{end}} {{template "wizNav" .}}
{{end}} {{/* ============= ШАГ 6: Валидата ============= */}} {{if eq .Step 6}}

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

СКЗИ «Валидата Клиент L» проверяет подписи НРД на квитанциях и сообщениях и нужно для работы с ключами и сертификатами (раздел «Ключ»).

{{if .ValidataVer}}
Версия
{{.ValidataVer}}
Каталог
/opt/Validata/VDCSP
Валидата установлена вместе с bj — ничего настраивать не нужно.

bj работает с Валидатой через свою службу криптографии bj-crypto{{if eq .CryptoSvc "active"}} — она запущена{{else}} — сейчас она не запущена: служба ставится обновлением с сервера лицензий (раздел «Лицензия», кнопка «Обновить сейчас»), а работает с ключом, установленным в разделе «Ключ»{{end}}.

{{else}}

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

Как поставить. С образа Bridge&Join она ставится сама. Если bj ставили на готовую систему: пакеты zpki и zsdk из дистрибутива НРД (ClientL_Other.zip для Ubuntu 22.04, ClientL_ALSE.zip для Astra Linux) — sudo apt install ./zpki_*.deb ./zsdk_*.deb, подробнее — справка. После установки обновите эту страницу.
{{if devOn}}
{{end}} {{end}} {{template "wizNav" .}}
{{end}} {{/* ============= ШАГ 7: Шлюз НРД (до ключа: ключ ставится в профиль ИШ) ============= */}} {{if eq .Step 7}}

Шлюз НРД

Через интеграционный шлюз НРД (ИШ) на этом сервере bj отправляет переводы и получает ответы. bj ставит и настраивает шлюз сам; доступ к тестовому и боевому контуру НРД открывает по заявке — письма готовы.

{{template "igateInstall" .}}
Письма в НРД о доступе к контурам {{template "letterCard" (letter "nsd-test")}} {{template "letterCard" (letter "nsd-prod")}}
Дополнительно: адрес шлюза (обычно не нужно)
{{if .Settings.NSD.IGWv904}}{{end}}

Депозитарные реквизиты в НРД: {{if and .Settings.NSD.DeponentCode .Settings.NSD.AccountID .Settings.NSD.SectionID}}код {{.Settings.NSD.DeponentCode}}, счёт {{.Settings.NSD.AccountID}}, раздел {{.Settings.NSD.SectionID}}{{else}}не заданы{{end}} — в разделе «Организация».

{{template "wizNav" .}}
{{end}} {{/* ============= ШАГ 8: Ключ и сертификаты (после шлюза: ключ ставится в профиль ИШ) ============= */}} {{if eq .Step 8}}

Ключ и сертификаты

Ключ электронной подписи организации для обмена с НРД. Его выдаёт Удостоверяющий центр Московской биржи: вам передадут архив ключа и пароль.

{{if not .Done.NSD}}
Ключ ставится в шлюз НРД — сначала установите шлюз.
{{end}}

{{if .Certs}}Установить другой ключ{{else}}Установить ключ{{end}} архив → носитель → справочник → проверка подписи

Сертификаты НРД {{if .Settings.NSDCerts.Manual}}⚠ автообновление выключено — «Настройка → Криптография»{{else}}✓ bj обновляет их сам{{end}}
Как это работает

Действующие сертификаты НРД и удостоверяющих центров Московской биржи приезжают вместе с bj и его обновлениями. Каждые 6 часов bj сверяет их со справочником шлюза: добавляет недостающие, а заменённые убирает строго после срока, объявленного НРД. Перед изменением — резервная копия и проверка подписи, при ошибке всё откатывается. Тестовые сертификаты попадают только к тестовому ключу, боевые — только к боевому.

{{if .Settings.NSDCerts.LastRows}}

Последняя сверка: {{.Settings.NSDCerts.LastRun.Format "02.01.2006 15:04"}}{{if .Settings.NSDCerts.LastProfile}}, профиль ИШ {{.Settings.NSDCerts.LastProfile}}{{end}}.

{{else}}{{end}} {{if .Certs}}

Установленные сертификаты ({{len .Certs}})

{{range .Certs}} {{end}}
ВладелецИздательДействителен доИННКлюч
{{.SubjectCN}} {{.IssuerCN}} {{.NotAfter.Format "02.01.2006"}}{{if .HasPrivateKey}}{{$d := certDaysLeft .NotAfter}}{{if lt $d 0}} истёк{{else if le $d 30}} осталось {{$d}} дн.{{end}}{{end}} {{if .INN}}{{.INN}}{{else}}—{{end}} {{if .HasPrivateKey}}есть{{else}}нет{{end}}
{{else}}

Архива ключа ещё нет — шаг можно пропустить и вернуться позже.

{{end}} {{template "wizNav" .}}
{{end}} {{/* ============= ШАГ 12: Время и сеть (глава «Сервер») ============= */}} {{if eq .Step 12}}

Время и сеть

Часовой пояс, точное время и адрес сервера в сети.

{{$tz := serverTimeZone}}

По нему — время в журналах, уведомлениях и сроках поручений. Время НРД — московское.

Точное время {{if .Done.Server}}✓ синхронизируется{{else}}⚠ не синхронизируется{{end}}
{{if .Done.Server}}Свой сервер времени (обычно не нужно){{else}}Укажите сервер времени вашей сети — обычно контроллер домена или маршрутизатор{{end}}

Чтобы адрес не менялся, задайте постоянный: на консоли сервера — sudo bj-network.

{{if .AutoDone}}

Уже сделано установщиком: {{range $i, $a := .AutoDone}}{{if $i}} · {{end}}✓ {{$a}}{{end}}

{{end}} {{template "wizNav" .}}
{{end}} {{/* ============= ШАГ 11: Модули по лицензии (глава «Запуск») ============= */}} {{if eq .Step 11}}

Модули

Модули вашей лицензии уже установлены. Каждый настраивается в своём разделе — сейчас или позже.

{{range .Modules}}
{{.Title}} {{if .Ready}}Открыть{{else}}Настроить{{end}}

{{.What}}

{{if .Ready}}✓{{else}}⚠{{end}} {{.Status}}

{{end}} {{template "wizNav" .}}
{{end}} {{/* ============= ШАГ 9: Оповещения и резервные копии ============= */}} {{if eq .Step 9}}

Оповещения и резервные копии

bj напишет на почту, если НРД не отвечает, перевод застрял{{if .DepoLicensed}}, DEPO не обработал поручение{{end}} или истекает ключ, — и будет сам делать копии сервера. Обмен работает и без этого, но мы советуем настроить оба пункта.

{{with .Fancy}} {{template "smtpCard" .}}
Разослать уведомления отделам — депозитарий, бэк-офис, мидл-офис (необязательно) {{template "notifyGroupsCard" .}}
{{template "backupCard" .}} {{end}}
{{template "wizNav" .}}
{{end}} {{/* ============= ШАГ 10: Проверка готовности (в режиме разработки — ещё тестовая заявка) ============= */}} {{if eq .Step 10}}
{{if devOn}}

Тестовая заявка

Прогон полного цикла: создание заявки → валидация → подпись → отправка в НРД (или mock) → ожидание Decision → подтверждение.

Что произойдёт? Система создаст тестовую M2M-сделку, проведёт её через всю стейт-машину, и покажет результат каждого этапа. Если ИШ НРД не настроен — сработает mock (синтетический Decision через 3 секунды).
{{if .Settings.LastTest}}

Последний прогон: {{.Settings.LastTest.StartedAt.Format "02.01.2006 15:04:05"}}

{{if .Settings.LastTest.Message}}{{end}}
Заявка{{.Settings.LastTest.ClaimID}}
Финальное состояние{{ruState .Settings.LastTest.FinalStatus}}
Результат{{if .Settings.LastTest.OK}}успех{{else}}ошибка{{end}}
Сообщение{{.Settings.LastTest.Message}}
{{end}} {{end}} {{if not devOn}}

Готовность к работе

{{else}}

Готовность к работе

{{end}}

bj проверяет всё, что нужно для обмена с НРД, прямо сейчас. Красное — обмен работать не будет, жёлтое — работать будет, но лучше исправить. У каждой строки — ссылка туда, где это исправляется.

Проверяю…

{{template "chainTest" .}}

Письма для подключения

Готовые письма с вашими реквизитами — тем, без кого подключение не закончить.

{{template "letterCard" (letter "nsd-test")}} {{template "letterCard" (letter "nsd-prod")}} {{if .DepoLicensed}}{{template "letterCard" (letter "arqa")}}{{template "letterCard" (letter "dba")}}{{end}}
{{template "wizNav" .}}
{{end}}
{{end}}