QUIK МНП: входящий перевод зачисляется клиенту только после проведения в DEPO

Если по переводу есть поручение FTV_M2M, зачисление ждёт, пока события BJ_ORDER_ACCEPTED обработаны в DEPO
(SUCCESS); до того — состояние «ждёт проведения в DEPO» с причиной. Ошибка в DEPO — ждём, после возврата
в очередь и проведения зачисление проходит само. DEPO в переводе не участвует — как раньше, по ответу НРД.
22.10.2026, 895C0A32: бумаги ушли в QUIK, хотя поручение в DEPO не создалось.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q7eREaYwUt1i4fNLZcGnjn
This commit is contained in:
fontvielle
2026-10-22 17:58:48 +03:00
parent 56a5a50174
commit e51962c5bb
7 changed files with 69 additions and 6 deletions
+13
View File
@@ -212,6 +212,19 @@ func quikCycleTick(ctx context.Context, rc *RuntimeConfig) {
if !done || rejected {
continue
}
// бумаги в QUIK — только после проведения в DEPO (если DEPO участвует в переводе)
if gate, posted, why := depoInPosted(ctx, rc, it.GUID); gate && !posted {
for _, sec := range it.Securities {
if sec.Decision == "confirmed" {
globalQuikLinks.update(it.GUID, sec.ISIN, func(l *QuikLink) {
if l.State == "" || l.State == "wait_depo" {
l.Direction, l.State, l.Err = "in", "wait_depo", why
}
})
}
}
continue
}
code, contract, err := quikResolveClient(ctx, rc, it.DocSeries, it.DocNumber)
if err != nil {
for _, sec := range it.Securities {