{{define "content"}}

Обмен с DEPO (Fancy)

Переводы M2M, которые bj передал в депозитарную систему через трансферные таблицы базы {{.DB}} (FTV_M2M / FTV_M2M_LINES / FTV_M2M_EVENTS). Job bj2depo создаёт по ним документы в DEPO и отвечает событиями; bj ведёт статусы, документ и ошибки.
{{if .Flash}}
{{.Flash}}
{{end}}

Как идёт обмен

FTV_M2M bj записывает перевод (шапка + строки по бумагам) и событие BJ_* со STATE=TODO → 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.

Переводов: {{.Sum.Total}} Ждут job: {{.Sum.Pending}} С документом DEPO: {{.Sum.WithDoc}} С ошибками: {{.Sum.Errors}} {{if not .Sum.LastEventAt.IsZero}}Последнее событие: {{wall .Sum.LastEventAt}}{{end}} Справочник НРД в DEPO: {{if .Sum.HasHandbook}}{{.Sum.Handbook}} участников{{if not .Sum.HandbookAt.IsZero}} (обновлён {{wall .Sum.HandbookAt}}){{end}}{{else}}таблица FTV_M2M_HANDBOOK не создана{{end}} Job bj2depo: {{.JobMode}}{{if eq .Fancy.DepoJobMode "bj"}}{{if .Fancy.DepoJobLast}} · последний вызов: {{.Fancy.DepoJobLast}}{{if not .Fancy.DepoJobLastAt.IsZero}} ({{msk .Fancy.DepoJobLastAt}}){{end}}{{end}}{{else if .Fancy.DepoJobCheck}} · проверка готовности: {{if .Fancy.DepoJobCheckOK}}OK{{else}}не пройдена{{end}}{{if not .Fancy.DepoJobCheckAt.IsZero}} ({{msk .Fancy.DepoJobCheckAt}}){{end}}{{end}} · настройки
{{if or .Failures (not .RunAsOK)}}

Обработчик DEPO не смог обработать записи{{if .Failures}} ({{len .Failures}}){{end}}

Пока причина не устранена, документы в DEPO не создаются, а статусы по заявкам ЛК не ставятся. Устраните причину по тексту ошибки и верните записи в очередь: обработчик возьмёт их заново.

{{if not .RunAsOK}}

✗ {{.RunAsMsg}}

{{end}} {{if .Failures}}
{{range .Failures}}{{end}}
ЗаписьПереводТип / строкаКогдаОшибка обработчика
{{.TableRu}} №{{.ID}}{{.GUID}}{{.Type}}{{if .Ref}}
{{.Ref}}
{{end}}
{{if not .At.IsZero}}{{wall .At}}{{end}}{{.Comment}}
{{end}}
{{end}}

Переводы в DEPO ({{len .Rows}})

{{if .Error}}

{{.Error}}

{{end}} {{if .Rows}}
{{range .Rows}} {{end}}
СозданПереводНаправлениеДепонентКонтрагентБумагиДокумент DEPOСостояние
{{if not .CreatedAt.IsZero}}{{wall .CreatedAt}}{{else}}—{{end}} {{short 8 .GUID}}{{if .Comment}}
{{.Comment}}
{{end}}
{{.DirectionRu}} {{.Deponent}}{{if .DeponentDoc}}
{{.DeponentDoc}}
{{end}}
{{.CP}} {{range .Lines}}
{{.ISIN}}{{if .SecCode}} {{.SecCode}}{{end}} × {{.Amount}}{{if eq .State "ERROR"}} ошибка{{end}}
{{else}}—{{end}}
{{if .Doc}}№{{.Doc}}
{{.DocState}}{{if not .DocAt.IsZero}} · {{wall .DocAt}}{{end}}
{{else}}не создан{{end}}
{{stageText .}} {{range .Errors}}
{{.}}
{{end}}
{{range .Events}}{{.Type}}{{if .Ref}} {{.Ref}}{{end}} · {{wall .At}}{{if .Codes}} · {{.Codes}}{{end}}{{if .Comment}} — {{.Comment}}{{end}}{{else}}событий нет{{end}}
{{else if not .Error}}

В трансферных таблицах пока нет переводов. Они появятся при входящем/исходящем переводе M2M{{if devOn}} или при прогоне «Тестирование M2M → выгрузка истории в DEPO»{{end}}.

{{end}}

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

{{end}}