{{define "content"}}

Настройка Bridge&Join

Пошаговый мастер первого запуска — состояние сохраняется после каждого шага

{{if .Done.License}}✓{{else}}1{{end}}Лицензия {{if .Done.Postgres}}✓{{else}}2{{end}}База bj {{if .Done.Depo}}✓{{else}}3{{end}}Учёт DEPO {{if .Done.Org}}✓{{else}}4{{end}}Организация {{if .Done.Quik}}✓{{else}}5{{end}}QUIK МНП {{if .Done.Crypto}}✓{{else}}6{{end}}Валидата {{if .Done.Certs}}✓{{else}}7{{end}}Сертификаты {{if .Done.NSD}}✓{{else}}8{{end}}Шлюз НРД {{if .Done.TestRun}}✓{{else}}9{{end}}Проверка

Пропустить мастер и перейти в систему → — вернуться к нему можно из «Настройка → Мастер настройки»

{{if .Flash}}

{{.Flash}}

{{end}}
{{/* ============= ШАГ 1: Лицензия ============= */}} {{if eq .Step 1}}

Шаг 1. Лицензия

Что это. Ключ продукта (BJ-XXXX-XXXX-XXXX) привязывает этот сервер к вашей лицензии.
Зачем. От лицензии зависят модули (обмен с DEPO и QUIK, личный кабинет, НПР/УДС) и получение обновлений: bj скачает и поставит модули, входящие в лицензию, автоматически.
Где взять. Портал клиента lic.zetit.ru/portal или письмо от ZETIT.
{{if .Done.License}}

✓ Ключ продукта введён, лицензия активна: {{.Lic.Tenant}}, {{if eq .Lic.Plan "enterprise"}}полная лицензия (все модули){{else}}базовая лицензия{{end}}, модули: {{if .Lic.Features}}{{range $i, $f := .Lic.Features}}{{if $i}}, {{end}}{{$f}}{{end}}{{else}}только ядро{{end}}; {{.Lic.Message}}

{{end}} {{with .Update}}{{if .HasUpdate}}

На сервере лицензий есть что поставить (выпуск {{.Available}})

Образ установил ту версию bj, с которой был собран. На сервере лицензий есть более новая — с исправлениями ядра, установщика и служб. Поставьте её сейчас, до настройки: bj перезапустится примерно на 10 секунд, затем обновите страницу.
{{.Message}}

{{else}}

✓ Установлена последняя версия bj ({{.Available}}).

{{end}}{{end}} {{if .Done.License}}
Сменить ключ продукта (обычно не нужно)
{{else}}
{{end}}
{{if .Done.License}}К шагу 2 →{{else}}Пропустить (ввести позже) →{{end}}
{{end}} {{/* ============= ШАГ 3: Учёт DEPO (Fancy) — по экранам ============= */}} {{if eq .Step 3}}

Шаг 3. Учётная система DEPO (Fancy)

{{if not .DepoLicensed}}

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

{{else}} {{$sub := .Sub}}
{{range $i, $x := depoSubs}}{{add $i 1}}. {{$x.Title}}{{end}}
{{if eq $sub "intro"}}
Что это. Подключение bj к базе депозитарного учёта DEPO (Fancy).
Зачем. bj сверяет с учётом каждый перевод (клиент, счёт, остаток, квалификация) и сам передаёт в DEPO поручения и их исполнение — документы в учёте создаются автоматически. Отсюда же bj возьмёт реквизиты вашей организации (шаг 4).
Что понадобится. Адрес сервера базы DEPO, логин и пароль — их даёт ваш администратор баз данных. Для создания таблиц обмена и джобы обработки может понадобиться разово логин администратора SQL — он не сохраняется. Процедуру обработки обмена в базе DEPO ставит разработчик системы учёта Fancy; если её ещё нет, bj скажет об этом на проверке.
Как пойдём. Подключение → таблицы обмена → обработка → проверка. Каждый шаг проверяется сразу.
Начать →
{{else if eq $sub "conn"}}

Адрес сервера учётной базы DEPO и логин, под которым bj будет с ней работать. По «Далее» bj сохранит и сразу проверит подключение.

Логина для bj ещё нет? Как создать

bj нужен отдельный логин в базе DEPO. Его создаёт администратор СУБД. Права минимальные:

  • чтение учётных таблиц DEPO (лица, счета, остатки, бумаги) — для сверки переводов;
  • запись только в таблицы обмена FTV_M2M* — их права выдаются на следующем экране, вместе с созданием таблиц.

Вариант 1 — администратор создаёт логин сам с этими правами. Вариант 2 — передайте ему скрипт: в нём подставлены тип СУБД, база, имя логина и пароль из полей выше (если пароль не введён — впишите его в скрипт сами). Скрипт с паролем не храните.

Скачать скрипт создания логина
…

После выполнения скрипта впишите логин и пароль в поля выше и нажмите «Проверить и далее».

← Назад
{{else if eq $sub "tables"}}

Четыре таблицы обмена FTV_M2M* в базе {{.DepoTables.DB}}: через них bj передаёт поручения и события в DEPO. Данные учёта они не трогают. Кто их создаёт?

← Назад
{{else if eq $sub "job"}}

Процедура {{.DepoJob.Proc}} в базе DEPO каждые {{.DepoJob.Every}} с превращает записи bj в документы и операции учёта. Кто её запускает?

{{if .DepoEdition}}

Ваш сервер: {{.DepoEdition}} — {{if .DepoAgent}}есть SQL Server Agent, рекомендуем первый вариант.{{else}}без SQL Server Agent, подходит вариант «запускает bj».{{end}}

{{end}} {{$mode := .Settings.Fancy.DepoJobMode}}{{if not $mode}}{{$mode = .DepoJobDef}}{{end}}{{if not $mode}}{{$mode = "sql-auto"}}{{end}}
{{if not .DepoTables.Postgres}}{{end}} {{if not .DepoTables.Postgres}}{{end}}

Нет логина администратора SQL или его не хотят давать — выберите ниже «Джоба SQL Server Agent, создаёт администратор по скрипту»: тот же результат, скрипт выполняет администратор.

← Назад

Проверка: джоба есть, включена, есть расписание и она запускалась за последнюю минуту. Работают ли процедуры обработки — отдельная проверка на экране «Готово».

Дальше без проверки → — если обработку ещё настраивает администратор (например, ставит процедуры). Вернуться и проверить можно с экрана «Готово» кнопкой «Перепроверить всё».

{{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 .Done.Depo}}

Учёт DEPO подключён и проверен. Можно переходить к шагу 4 — там bj предложит реквизиты вашей организации из DEPO.

{{else}}

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

{{end}}
{{end}} {{end}}
← К шагу 2 {{if .Done.Depo}}К шагу 4 →{{else}}Пропустить шаг →{{end}}
{{end}} {{/* ============= ШАГ 1: PostgreSQL ============= */}} {{if eq .Step 2}}

Шаг 2. База данных bj (PostgreSQL)

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

{{if .Done.Postgres}}

✓ База готова{{if .PGSummary}}: {{.PGSummary}}{{end}}. Её создал установщик — ничего делать не нужно, переходите к следующему шагу.

{{end}} {{if not .Done.Postgres}}
Что выбрать? Если у вас уже есть рабочий PostgreSQL — нажмите «У меня уже есть PostgreSQL» и введите DSN. Если впервые настраиваете — выберите «Поднять автоматически», система сама развернёт контейнер с PostgreSQL и накатит миграции.
{{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). Если БД недоступна — будет ошибка.

← К шагу 1 {{if .Done.Postgres}}К шагу 3 →{{else}}{{end}}
{{if not .Done.Postgres}}

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

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

Шаг 4. Наша организация

Что это. Депозитарий — участник MOEX МОСТ, от имени которого bj отправляет и принимает переводы: код участника, ИНН и наименование попадают в пакеты НРД и в поручения QUIK.
Откуда взять. Если на шаге 3 подключена база DEPO, bj сам определяет реквизиты по учёту — проверьте их и сохраните. Иначе выберите себя из справочника участников НРД или введите вручную.
{{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.Branding.LogoDataURI}}

логотип

{{end}}
← К шагу 3 {{if .Done.Org}}К шагу 5 →{{else}}Пропустить →{{end}}
{{end}} {{/* ============= ШАГ 5: QUIK МНП ============= */}} {{if eq .Step 5}}

Шаг 5. QUIK — модуль неторговых поручений

Что это. Модуль неторговых поручений QUIK (МНП) — продукт компании ARQA Technologies, разработчика QUIK. Через него bj блокирует бумаги клиента в QUIK на время перевода, снимает блокировку при отказе и после исполнения проводит поручение.
Если МНП у вас ещё нет. Обратитесь в ARQA Technologies (arqatech.com, служба поддержки QUIK) и попросите подключить модуль неторговых поручений для работы с внешней системой. После подключения ARQA выдаст адрес сервера МНП и учётные данные — их и нужно ввести ниже.
Если МНП уже есть. Адрес сервера и учётные данные — у вашего администратора QUIK.
{{if not .DepoLicensed}}

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

{{else}}{{with .Fancy}}{{template "quikSection" .}}{{end}}{{end}}
← К шагу 4 {{if .Done.Quik}}К шагу 6 →{{else}}Пропустить →{{end}}
{{end}} {{/* ============= ШАГ 2: Крипто (Валидата) ============= */}} {{if eq .Step 6}}

Шаг 6. СКЗИ «Валидата Клиент L»

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

{{if .ValidataVer}}

✓ Валидата установлена вместе с bj: версия {{.ValidataVer}}, каталог /opt/Validata/VDCSP. Ничего настраивать на этом шаге не нужно.

bj работает с Валидатой через свою службу криптографии bj-crypto{{if eq .CryptoSvc "active"}} — она запущена{{else}} — сейчас она не запущена: служба ставится обновлением с сервера лицензий (шаг 1, кнопка «Обновить сейчас»), а работает с ключом, установленным на шаге 5{{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}}
← К шагу 5 {{if .Done.Crypto}}К шагу 7 →{{else}}Пропустить →{{end}}
{{end}} {{/* ============= ШАГ 3: Сертификаты ============= */}} {{if eq .Step 7}}

Шаг 7. Сертификаты

Здесь две части: ключ и сертификат вашей организации (ставите вы) и сертификаты НРД и удостоверяющих центров (bj ведёт их сам).

1. Ключ и сертификат организации

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

2. Сертификаты НРД и УЦ — автоматически

✓ Автоматическое обновление {{if .Settings.NSDCerts.Manual}}выключено (включается в «Настройка → Криптография»){{else}}включено{{end}}. Делать на этом шаге ничего не нужно.

Как это работает. Действующие сертификаты НРД и удостоверяющих центров Московской биржи поставляются вместе с bj и приезжают с обновлениями. Каждые 6 часов bj сверяет их со справочником сертификатов ИШ: добавляет недостающие, а заменённые НРД убирает строго после срока, который НРД объявил в уведомлении. Перед каждым изменением делается резервная копия и проверка подписи, при ошибке всё откатывается.
Тестовые и боевые. Сертификат попадает только в справочник своего контура: боевые (издатель «Корневой УЦ») — только к боевому ключу, тестовые (издатель «Тестовый УЦ») — только к тестовому. Поэтому смешать контуры нельзя.
Откуда берутся. НРД и Московская биржа публикуют сертификаты в постоянных местах: комплект ГОСТ МБ, НКЦ и НРД — https://fs.moex.com/cdp/sert/GOST.zip, сертификаты УЦ — https://fs.moex.com/cdp/. Когда там появляется новый сертификат, мы добавляем его в комплект bj, и он приезжает к вам с обновлением.
Состояние, ручная проверка и выключение — «Настройка → Криптография → Сертификаты НРД в справочнике ИШ».
{{if .Settings.NSDCerts.LastRows}}

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

{{else}}

Первая сверка пройдёт, когда будут настроены ключ и шлюз НРД (шаг 6).

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

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

{{range .Certs}} {{end}}
ВладелецИздательДействителен доИННКлюч
{{.SubjectCN}} {{.IssuerCN}} {{.NotAfter.Format "02.01.2006"}} {{if .INN}}{{.INN}}{{else}}—{{end}} {{if .HasPrivateKey}}есть{{else}}нет{{end}}
{{else}}

Ключ организации ещё не установлен. Можно пропустить этот шаг и вернуться к нему, когда будет архив ключа.

{{end}}
← К шагу 6 К шагу 8 →
{{end}} {{/* ============= ШАГ 4: НРД ============= */}} {{if eq .Step 8}}

Шаг 8. Интеграционный шлюз НРД

Адрес web-сервиса ONYX и имя ключевого контейнера НРД.

Что это? Интеграционный шлюз (ИШ) НРД — это компонент, через который наши M2M-сообщения отправляются в НРД. {{if devOn}}У НРД есть 4 контура: GUEST (для разработки) и TEST3 (предпродакшен), каждый в варианте ГОСТ или RSA.{{else}}У НРД есть тестовый контур (TEST3) и боевой контур, каждый в варианте ГОСТ или RSA.{{end}}
К кому обратиться. Программу ИШ выпускает НРД (дистрибутив и инструкции — nsd.ru/workflow/system/programs). Доступ к контурам НРД (сначала тестовый TEST3, затем боевой) выдаёт НРД по заявке: обратитесь к вашему менеджеру НРД или в клиентскую поддержку по электронному документообороту. НРД сообщит ваш депозитарный код, счёт и раздел — если учёт в DEPO подключён, bj подставит их сам.

Депозитарные реквизиты организации в НРД. {{if .Settings.Fancy.Server}}Их можно взять из базы DEPO (Fancy): кнопка «Определить из DEPO» подставит найденное в пустые поля — проверьте и сохраните.{{else}}Если учёт ведётся в Fancy DEPO — сначала подключите базу DEPO на шаге 3, тогда реквизиты подставятся из DEPO автоматически; иначе введите их из договора с НРД.{{end}}

{{if .Settings.Fancy.Server}}{{end}} {{if .Suggest}}{{if .Suggest.AccountID}}
Найдено в DEPO: счёт {{.Suggest.AccountID}}, код {{.Suggest.DeponentCode}}, раздел {{.Suggest.SectionID}}{{if .Suggest.OrgName}}; организация {{.Suggest.OrgName}}, ИНН {{.Suggest.OrgINN}}{{end}}.{{range .Suggest.Notes}}
⚠ {{.}}{{end}}
{{end}}{{end}}

Организация (код участника, ИНН, наименование) — на шаге 4.

← К шагу 7 {{if .Done.NSD}}К шагу 9 →{{else}}Пропустить ({{if devOn}}mock-режим{{else}}обмен с НРД не настроен{{end}}) →{{end}}
{{end}} {{/* ============= ШАГ 5: Тест-ран (режим разработки) / проверка подключений ============= */}} {{if eq .Step 9}}
{{if devOn}}

Шаг 9. Тестовая заявка

Прогон полного цикла: создание заявки → валидация → подпись → отправка в НРД (или 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}} {{else}}

Шаг 9. Проверка подключений

Проверьте, что база данных, СКЗИ и шлюз НРД доступны: на странице «Статус» bj проверяет каждое подключение и показывает, что нужно исправить.

Открыть проверку подключений → {{end}}

Итоговая сводка

{{if devOn}}{{end}}
PostgreSQL{{if .Done.Postgres}}настроен{{else}}in-memory{{end}}
Крипто-провайдер{{if .Done.Crypto}}Валидата Клиент L{{if .ValidataVer}} {{.ValidataVer}}{{end}}{{else}}не настроен{{end}}
Сертификатов установлено{{len .Certs}}
ИШ НРД{{if .Done.NSD}}{{.Settings.NSD.Profile}}{{else}}{{if devOn}}mock-режим{{else}}не настроен{{end}}{{end}}
Тестовый прогон{{if .Done.TestRun}}пройден{{else}}не запускался{{end}}
← К шагу 8 Перейти к дашборду
{{end}}
{{end}}