{{/* Раздел «Обмен Fancy» — один и тот же в «Настройка → Обмен Fancy» и на шаге 3 мастера настройки (данные — SetupData). Правки — только здесь. */}} {{define "fancySection"}} {{template "verline" (.Versions.Get "depo")}}

Подключение к серверу БД клиента

Сервер учётной базы Fancy DEPO: картотека лиц, счета и договоры, остатки, опции (признак квалифицированного инвестора), трансферные таблицы обмена. Поддерживаются Microsoft SQL Server и PostgreSQL. База указывается ниже, в карточке «Трансферные таблицы DEPO».

{{if .Settings.Fancy.Server}}{{template "accPrefix" .}}{{end}}

Трансферные таблицы DEPO

Через эти таблицы bj обменивается с учётной системой DEPO: поручения FTV_M2M и их строки FTV_M2M_LINES, события FTV_M2M_EVENTS, справочник участников НРД FTV_M2M_HANDBOOK. Таблицы создаются в базе DEPO на сервере из подключения выше ({{if .DepoTables.Postgres}}PostgreSQL{{else}}Microsoft SQL Server{{end}}). Создание можно повторять: добавляются только недостающие таблицы, колонки и индексы, данные не меняются.

{{if eq .Settings.Fancy.DepoTablesMode "auto"}}
Логин с правами на базу {{.DepoTables.DB}}
{{if .DepoTables.Postgres}}Владелец базы или суперпользователь.{{else}}Роль db_owner в базе (или db_ddladmin + db_securityadmin).{{end}} Если оставить поля пустыми, bj попробует своим логином {{.DepoTables.User}}.
{{else if eq .Settings.Fancy.DepoTablesMode "script"}}
Скрипт для администратора СУБД — скачать {{.DepoTables.ScriptFile}}
{{.DepoTables.Script}}
{{end}}
логином bj: таблицы на месте, колонки совпадают, есть права на чтение и запись
{{if .Settings.Fancy.DepoTablesCheck}}

{{if .Settings.Fancy.DepoTablesCheckOK}}✓{{else}}✗{{end}} {{.Settings.Fancy.DepoTablesCheck}} ({{.Settings.Fancy.DepoTablesCheckAt.Format "02.01.2006 15:04"}})

{{end}}

Где запускается обработка трансферных таблиц DEPO

Поручения и события, которые bj пишет в FTV_M2M*, обрабатывает процедура {{.DepoJob.Proc}} в базе DEPO. Выберите, кто её запускает, выполните инструкцию и нажмите «Проверить готовность» — без зелёной отметки обмен с DEPO работать не будет.

Процедура обработки выполняется от имени пользователя базы DEPO (у разработчика Fancy это SYSDBA). У клиента такого пользователя может не быть или он называется иначе: «Проверить готовность» проверит, что он есть в базе.

{{if eq .Settings.Fancy.DepoJobMode "bj"}}
Инструкция для администратора SQL клиента — выполнить один раз:
{{.DepoJob.GrantScript}}
{{else if eq .Settings.Fancy.DepoJobMode "sql-auto"}}
Создать джобу {{.DepoJob.Name}} — SQL Server Agent должен быть запущен. Логин администратора SQL (sysadmin, например sa) используется один раз и не сохраняется; пусто — bj попробует своим логином.
Без логина администратора: выдать логину bj роль оператора SQL Agent (скрипт)
{{.DepoJob.AgentRights}}
{{else if eq .Settings.Fancy.DepoJobMode "sql-manual"}}
Инструкция для администратора SQL клиента — создать джобу (SQL Agent должен быть запущен, служебная учётная запись Agent должна иметь право выполнять процедуру): Скачать скрипт bj-depo-job-mssql.sql
{{.DepoJob.AdminScript}}
{{end}} {{if .Settings.Fancy.DepoJobMode}}
для вариантов с джобой bj пишет служебное событие BJ_PING и ждёт до 40 с, пока обработчик его отметит
{{if .Settings.Fancy.DepoJobCheck}}

{{if .Settings.Fancy.DepoJobCheckOK}}✓{{else}}✗{{end}} {{.Settings.Fancy.DepoJobCheck}} ({{.Settings.Fancy.DepoJobCheckAt.Format "02.01.2006 15:04"}})

{{end}} {{if .Settings.Fancy.DepoProcCheck}}

Обработка событий (процедуры): {{if .Settings.Fancy.DepoProcCheckOK}}✓{{else}}⚠{{end}} {{.Settings.Fancy.DepoProcCheck}}

{{end}} {{if and (eq .Settings.Fancy.DepoJobMode "bj") .Settings.Fancy.DepoJobLast}}

Последний вызов процедуры — {{.Settings.Fancy.DepoJobLast}}

{{end}} {{end}}
{{end}} {{define "verline"}}{{if .Title}}

{{.Title}}: {{if .Version}}{{.Version}}{{else}}не определена{{end}}{{with .Detail}} · {{.}}{{end}}{{with .Err}} · {{.}}{{end}}

{{end}}{{end}}