{{define "content"}} {{template "depoProcsBanner" .}} {{if .Flash}}
bj и системы, с которыми он работает. Сведения на {{msk .Versions.At}}.
| Система | Версия | {{if devOn}}Подробности | {{end}}
|---|---|---|
| {{if and .Section (ne .Section "overview")}}{{verTitle .}}{{else}}{{verTitle .}}{{end}} | {{if .Version}}{{.Version}}{{else}}не определена{{end}} | {{if devOn}}{{.Detail}}{{with .Err}} {{.}}{{end}} | {{end}}
Здесь bj хранит переводы, журнал и настройки. Сейчас: {{if .Settings.Postgres.DSN}}подключена{{else}}не подключена — данные не сохраняются{{end}}.
{{if and devOn (not .Settings.Postgres.DSN)}}Поднимем локальный PostgreSQL в контейнере, применим миграции и запишем DSN. Для дев-стенда. Для прода — укажите свой DSN ниже.
Кто может входить в bj и что ему разрешено. Сотрудник входит своей учётной записью bj или доменной (Active Directory) — тогда пароль проверяет домен.
{{if $U.Open}}Пока никого — добавьте сотрудника ниже.
{{end}}{{.IP}} · {{.Device}}
Сессий нет.
{{end}}| Роль | Что разрешено |
|---|---|
{{.Title}}{{if devOn}}{{.Key}}{{end}} | {{.Desc}} |
| {{.Title}} | Недоступна: в лицензии нет модуля «{{.Missing}}». |
{{if $U.Modules}}Подключённые модули ({{range $i, $m := $U.Modules}}{{if $i}}, {{end}}«{{$m.Title}}»{{end}}) можно выдать любому пользователю дополнительно к роли. {{end}}Роли и модули показываются по лицензии: права модуля, которого нет в лицензии, не действуют. Настройки и пользователи — только администратор.
bj подключается к контроллеру домена и проверяет пароль пользователя (LDAP bind его же учётной записью). Роль назначается по членству в группах AD, включая вложенные. Пользователь появляется в списке при первом входе. Чтобы изменения групп действовали без повторного входа, укажите сервисную учётную запись только на чтение: bj будет перечитывать группы доменных пользователей по расписанию, менять роль и снимать доступ у удалённых из групп.
Без логина и пароля проверяется только доступность контроллера. С логином — вход, группы и вычисленная роль. Пароль проверки никуда не сохраняется.
{{$R := $U.ADRecheck}}Если потерян доступ администратора — удалите файл /var/lib/bj/.bj/users.json на сервере: система вернётся в режим первичной настройки.
Если потерян доступ администратора — обратитесь в поддержку ZETIT.
{{end}}Показывает НПР1 / НПР2 / УДС клиентов маржинальной торговли по базе экспорта QUIK (схема npr). Отдельно лицензируемый модуль (признак npr); при включении в меню появляется пункт «НПР / УДС». Подключение — логин только для чтения.
{{if cryptoReady}}✓ СКЗИ установлена, ключ организации подключён — документы для НРД подписывает шлюз НРД.{{else}}⚠ Ключ организации не подключён — мастер настройки, шаг «Ключ подписи».{{end}}
{{if devOn}}Активный профиль: {{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}}.
Сертификаты НРД приходят вместе с обновлениями bj. bj сам добавляет недостающие в справочник шлюза НРД и удаляет старые после срока, разрешённого НРД; перед каждым изменением — резервная копия.{{if devOn}}{{if .NSDCerts.Profile}} Профиль {{.NSDCerts.Profile}}.{{end}}{{end}}
| Сертификат | Контур | Действует | Статус |
|---|---|---|---|
| {{.Title}}{{if devOn}} {{.SubjectCN}} · выдан: {{.IssuerCN}} · серийный {{end}}{{.Serial}} |
{{contourRu .Contour}} | {{.ValidFrom}} — {{.ValidTo}} | {{if eq .Kind "ok"}}✓ {{.Status}}{{else if eq .Kind "add"}}⬆ {{.Status}}{{else}}{{.Status}}{{end}}{{if .RemoveNote}} {{.RemoveNote}} {{end}} |
{{.NSDCerts.LastLog}}{{end}}
{{if and devOn .NSDCerts.Store}}| Владелец | Издатель | Серийный | До | Хранилище |
|---|---|---|---|---|
| {{if eq .Kind "crl"}}CRL{{else}}{{.SubjectCN}}{{if .SelfSigned}} (УЦ){{end}}{{end}} | {{.IssuerCN}} | {{.Serial}} | {{.NotAfter}}{{if .CertNotAfter}} ключ; сертификат до {{.CertNotAfter}} {{end}} | {{.Store}} |
Свои сертификаты можно положить в /var/lib/bj/.bj/nsd-certs/*.cer — они добавляются по тем же правилам и никогда не удаляются автоматически.
URL .cer-файлов УЦ НРД (nsd.ru). Скачиваются, парсятся и сохраняются в /var/lib/bj/ca-certs/.
| Владелец | Тип | До | Статус |
|---|---|---|---|
| {{.SubjectCN}} | {{.Store}} | {{if not .NotAfter.IsZero}}{{.NotAfter.Format "02.01.2006"}}{{end}} | {{if .Error}}ошибка{{else}}ок{{end}} |
bj сам ставит и настраивает интеграционный шлюз НРД на этом сервере: контуры TEST3 и боевой, переключение между ними, доступ к папкам шлюза по сети.
{{template "igateInstall" .}}✓ Анкета принята НРД — организация зарегистрирована в сервисе M2M.
{{end}}НРД требует анкету участника перед началом работы: без регистрации НРД не принимает запросы на переводы. bj заполняет анкету по реквизитам организации, даёт проверить и отправляет в НРД через шлюз (или её можно отправить письмом на M2MOST@nsd.ru).
Когда депозитарий принимает запросы на перевод M2M.
{{template "workHoursForm" (whForm .Settings.WorkHours "")}}{{if not .Settings.NSD.IGWBaseURL}}{{if devOn}}mock-режим — без реального ИШ.{{else}}ИШ не настроен — обмен с НРД не выполняется.{{end}}{{else}}Профиль {{.Settings.NSD.Profile}}, ИШ {{.Settings.NSD.IGWBaseURL}}.{{end}}
Наш личный кабинет для клиентов депозитария: модуль bj-lk на своём сервере или PHP-хостинге, связь с ядром, учётные записи клиентов и сотрудников. Интеграция с платформой ЕСИА Финанс — отдельный раздел.
Кабинет (bj-lk) — отдельная программа для веб-сервера депозитария или хостинга. Своей базы у неё нет: данные она берёт у ядра по защищённому каналу и не хранит дольше запроса. Порядок: 1) создайте ключ доступа, 2) выберите способ связи, 3) скачайте архив и распакуйте его на сервере кабинета, 4) запустите программу (sudo ./install.sh заводит службу), 5) откройте адрес кабинета в браузере — установщик проверит сервер, спросит ключ, проверит связь и заведёт администратора, 6) опубликуйте кабинет через nginx с сертификатом (пример в README архива).
Где собираются страницы. Для PHP-хостинга — всегда в ядре: на хостинге лежит только ретранслятор (index.php), который передаёт запросы браузера ядру. Для своего сервера установщик спросит: собирать страницы в ядре (тогда программа на сервере — тоже ретранслятор, новые разделы появляются обновлением ядра) или на месте. Ключа ни в одном архиве нет.
В архиве для своего сервера: исполняемый файл, служба systemd (отдельный пользователь, ограничения доступа к файловой системе), файл настроек службы, установщик и README. Ключа в архиве нет — его спрашивает веб-установщик. Кабинет входит в модуль «Личный кабинет клиента» и обновляется отдельно от ядра.
Посмотреть кабинет глазами клиента можно, не размещая его на хостинге: ядро поднимает тот же кабинет на отдельном порту. Открывается по http из сети депозитария, поэтому подходит для проверки, но не для клиентов из интернета — им кабинет публикуется через хостинг или nginx с сертификатом.
{{if .LKPreview.Err}}Не запущен: {{.LKPreview.Err}}
{{end}}Вход — по учётным записям из карточки «Пользователи кабинета» ниже; сотрудник видит список клиентов, клиент — свой портфель. Данные те же, что получит кабинет на хостинге.
Чем кабинет считает стоимость портфеля. Курс нужен для выпусков с валютным номиналом (замещающие и еврооблигации): цена по ним — процент от номинала в долларах, юанях, евро. История стоимости накапливается только у нас: ни торговая система, ни брокерский учёт её не хранят.
Учётные записи кабинета живут здесь, в базе ядра: кабинет на хостинге своей базы не имеет. Клиент привязан к номеру договора депозитария — по нему кабинет показывает портфель. Сотрудник («администратор кабинета») видит список клиентов и открывает их кабинеты на просмотр. Письма не отправляются: почта только хранится, пароль сообщите лично.
{{if .LKUsersError}}| Логин | Договор | Имя | Почта | Роль | Поручения | Состояние | |
|---|---|---|---|---|---|---|---|
{{.Login}} | {{.Contract}} | {{.FullName}} | {{.Email}} | {{if .IsAdmin}}сотрудник{{else}}клиент{{end}} | {{if .CanTransfer}}разрешены{{else}}просмотр{{end}} | {{if .Active}}активна{{else}}заблокирована{{end}} |
Учётных записей пока нет. Первого администратора можно завести из установщика кабинета или здесь.
{{end}}{{end}}Интеграция с внешней платформой личного кабинета ЕСИА Финанс: адрес для клиента, приём заявок M2M, возврат статуса и подключение к API (тест/бой). Наш собственный кабинет настраивается в разделе «Кабинет клиента».
Адрес ЛК — ссылка, по которой клиент входит в кабинет (для кнопки «Открыть» и дашборда). Заявками M2M bj и ЛК обмениваются одной из двух моделей: pull — bj сам забирает заявки из API ЛК и туда же возвращает статус (блок «Подключение к API ЛК», тест/бой); push — ЛК сам шлёт заявки на bj (POST /api/v1/back_office/claims/), а статус bj возвращает на Callback URL (ниже, свёрнуто).
Основная модель. Реквизиты, по которым bj сам обращается к API платформы ЛК ЕСИА Финанс (HTTP Basic): забирает заявки и туда же возвращает статус. Заполните нужные окружения и нажмите «Проверить связь» — сразу видно, есть подключение или нет.
Последняя проверка: {{.Settings.LK.Test.LastMsg}} · {{.Settings.LK.Test.LastAt.Format "02.01 15:04"}}
{{end}}Последняя проверка: {{.Settings.LK.Prod.LastMsg}} · {{.Settings.LK.Prod.LastAt.Format "02.01 15:04"}}
{{end}}Каждые 10 секунд, в том же проходе, что и приём заявок, bj сверяет портфель клиента в DEPO и отправляет его в ЛК (/portfolio/import, портфель ДЕПО) — только если остатки изменились. Номер гос. регистрации — из экспорта QUIK, раздел счёта — «Основной», хранение — НРД. Бумаги без номера гос. регистрации не отправляются (ЛК отвергает весь импорт).
Заполнено из базы DEPO (префикс счёта) и значений по умолчанию — можно изменить. Пример: счёт ВТНКЦ00000816 и шаблон ДД-{n} → договор ДД-816.
Заявки клиентов из списка проходят у нас всё по-настоящему: сверка и поручение в DEPO, блокировка и списание в QUIK МНП (боевая запись), статусы в ЛК. В НРД (тестовый контур) запрос уходит с данными тест-инвестора {{realNSDAs}}; GUID, бумаги и счета — настоящие, ответы НРД применяются к заявке клиента. «Исполнена» в ЛК — по отчёту НРД об исполнении (MS010). Остальные заявки ЛК — как раньше. Включайте до того, как клиент подпишет заявку.
Пока подача через веб-форму у ЕСИА Финанс не готова — bj сам собирает заявку depo_m2m и отправляет её в API ЛК (POST /claims/) через активное окружение. Ответ показывается ниже; затем заявку ловим опросом в «Переводы». Поля предзаполнены рабочим тестовым договором.
Результат (сырой ответ API) появится вверху страницы. Если «Раздел счёта не доступен для быстрых переводов» — Финансы должны включить признак M2M на разделе счёта.
Коннектор bj вычитывает заявки depo_m2m активного окружения в статусах «В очереди» и «В работе», которые ещё не обрабатывал, для каждой собирает M2M-пакет, отправляет в НРД и переводит заявку в статус «В работе». По ответу НРД статус в ЛК замыкается автоматически (Исполнена / Отклонена).{{if devOn}} В режиме имитации НРД перед отправкой идёт сверка с DEPO: отказ сразу уходит в ЛК с кодом и причиной, одобренная заявка блокируется в QUIK и через 30 с получает имитированный ответ контрагента.{{end}} Штатно это делает фоновый поллер раз в минуту — кнопка для ручного запуска.
Итог (сколько получено / отправлено, ошибки) появится вверху страницы.
Связь bj с базой 1С бэк-офиса. Модуль в разработке: сейчас здесь задаётся и проверяется подключение к базе, обмен данными появится в следующих выпусках.
bj обращается к базе через стандартный интерфейс OData. Его включают при публикации базы: конфигуратор 1С → Администрирование → Публикация на веб-сервере → «Публиковать стандартный интерфейс OData».
{{with .Settings.OneC}}{{if not .CheckedAt.IsZero}}{{if .CheckOK}}✓ Подключение работает{{else}}✗ Подключение не работает{{end}} — {{.CheckMsg}} (проверено {{.CheckedAt.Format "02.01.2006 15:04"}})
{{end}}{{end}}Кому и о чём bj пишет на почту: администратору системы — о сбоях и обновлениях, отделам — о переводах и поручениях. Все события видны и в ленте «Новости»; передать их в мониторинг Zabbix — карточка «Zabbix» ниже.
{{template "smtpCard" .}} {{template "notifyGroupsCard" .}}bj шлёт значение на элемент типа Zabbix trapper (протокол zabbix_sender). В Zabbix заведите host и item-trapper с этим ключом, затем триггер по значению — уведомления настроит сам Zabbix.
Последняя проверка: {{.Settings.Alerts.Zabbix.LastMsg}}
{{end}}Точное время нужно для подписей и обмена с НРД (время НРД — московское). «Синхронизировать сейчас» сразу ставит часы по серверам времени; если свои серверы не заданы или не отвечают — bj подберёт российские серверы ВНИИФТРИ.
{{.Settings.Time.Servers}}{{end}}В закрытом контуре внешние серверы времени недоступны — укажите сервер времени вашей сети (обычно контроллер домена или маршрутизатор).
Пароли администратора, баз данных, хранилища и ключ продукта не должны идти по сети открытым текстом. bj всегда слушает HTTPS: https://{{serverIP}}:{{if .Settings.HTTPS.Port}}{{.Settings.HTTPS.Port}}{{else}}8443{{end}}/. Модули bj и API на этом сервере работают по HTTP, как раньше.
{{if $h.Err}}✗ сертификат: {{$h.Err}}{{else}}Сертификат: {{$h.CN}}, до {{$h.Until.Format "02.01.2006"}} — {{if .Settings.HTTPS.Custom}}сертификат организации{{else}}самоподписанный: браузер один раз попросит подтвердить исключение; чтобы не просил — загрузите сертификат организации{{end}}.{{end}}
Сервер: {{serverAddrs}}
Чтобы адрес bj не менялся, задайте серверу постоянный адрес — на консоли сервера (или по SSH): sudo bj-network. Утилита спросит адрес, шлюз и DNS и применит их с защитой: если связь пропадёт, через 2 минуты вернутся прежние настройки. На Astra Linux сеть настраивается средствами системы.
| Организация | {{.License.Tenant}} |
| Лицензия | {{if eq .License.Plan "enterprise"}}полная (все модули){{else}}базовая{{end}} |
| Тип ключа | {{if .License.Online}}онлайн: выдан сервером лицензий этой установке, продлевается автоматически{{else}}офлайн (закрытый контур){{end}} |
| Ключ действует до | {{.License.ExpiresAt.Format "02.01.2006"}} {{if .License.Valid}}(осталось {{.License.DaysLeft}} дн.){{end}} |
| Договор до | {{.License.ContractUntil.Format "02.01.2006"}} |
| Обновления | {{if .License.AllowsUpdates}}включены{{else}}не входят в план{{end}} |
| Модули | {{range .Features}} {{.Title}}{{if devOn}} {{end}}{{.Key}}{{end}}{{if not .On}}— не входит в лицензию{{end}} |
| Статус | {{.License.Message}} |
Лицензионный ключ не введён. Без лицензии сервис работает, но автообновления заблокированы.
{{end}}Введите код активации от поставщика (вида BJ-XXXX-XXXX-XXXX). bj зарегистрирует эту установку на сервере лицензий lic.zetit.ru и дальше сам продлевает ключ раз в сутки. Серверу bj нужен доступ по HTTPS к lic.zetit.ru.
Установка {{if .Settings.License.InstallID}}{{.Settings.License.InstallID}}{{else}}будет создана при первом обращении{{end}}{{if not .Settings.License.LastSync.IsZero}} · последнее продление {{.Settings.License.LastSync.Format "02.01.2006 15:04"}}{{end}}
{{if .Settings.License.LastOK}}✓{{else}}✗{{end}} {{.Settings.License.LastMsg}} ({{.Settings.License.LastAttempt.Format "02.01.2006 15:04"}})
{{end}}Если у сервера bj нет доступа в интернет, вставьте офлайн-ключ, выданный поставщиком. Он проверяется по подписи без связи с сервером лицензий и не продлевается.
Логотип показывается справа в шапке всех отчётов для регулятора (слева — логотип MOEX МОСТ / НРД){{if devOn}} и на титульной сводке пакета тестов{{end}}. Встраивается прямо в HTML — отчёт остаётся автономным. Если не загружать — используется стандартный логотип «Фонтвьель».
Форматы: PNG, JPG, GIF, WEBP, SVG. Максимум 512 КБ. Рекомендуется горизонтальный логотип (высота в шапке — 28px).
{{if .Settings.Branding.LogoDataURI}} {{end}}Модули для будущих профилей внедрения «автомат» и «полуавтомат» (когда используется собственный личный кабинет, а не ЕСИА Финанс). Пока не в проде — скрыты, чтобы не мешать текущей работе. В профиле «через Финансы» они не нужны: проверку и блокировку бумаг закрывает сам ЕСИА Финанс.
| QUIK — Модуль неторговых поручений | Блокировка/разблокировка и проверка количества бумаг в торговой системе — для собственного ЛК. |
| Обмен с DEPO | Проверка заявки по учёту клиента через БД («кран») перед отправкой в НРД — для фирм без ЕСИА Финанс. |
Разделы «Обмен с DEPO» и «QUIK МНП» появились в меню слева. Это незавершённые модули — меняйте настройки, только если понимаете последствия.
Введите пароль администратора, чтобы временно открыть перспективные разделы. Доступ запоминается в этом браузере до нажатия «Скрыть».