Автоматический режим M2M и имитация QUIK МНП

Автоматический режим (Настройка → НРД, выключен по умолчанию): входящие переводы — решение по свежей
сверке с DEPO без оператора (пакет только целиком; бумага для квал. инвесторов при неполной или
непрочитанной квалификации — отказ M2M08), поручение 16/1 — как только пришёл черновик MF010,
поручение 16 по исходящим — по черновику. Нет сверки или ИШ — повтор каждые 3 минуты и оповещение,
без сверки ничего не принимается. Обрабатывается только появившееся не раньше суток до включения
(старые черновики в INBOX не подаются). Решение не отправляется повторно по уже отвеченному переводу.

Имитация QUIK МНП (Настройка → QUIK МНП → цикл): регистрация, подпись, снятие и зачисление проходят
как выполненные с пометкой «имитация», в МНП ничего не пишется; события в DEPO — как обычно.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
zuevav
2026-09-16 14:59:23 +03:00
parent 4b62d00ac2
commit d47229c9a5
12 changed files with 486 additions and 30 deletions
+5 -2
View File
@@ -70,7 +70,7 @@ func (h *setupHandlers) quikFromForm(r *http.Request) QuikMNPSettings {
Trust: r.FormValue("trust") != "",
Verified: cur.Verified,
// поля автоматического цикла M2M правятся отдельной формой — не затираем
WritesEnabled: cur.WritesEnabled, AutoOut: cur.AutoOut, AutoIn: cur.AutoIn, PollTerminal: cur.PollTerminal,
WritesEnabled: cur.WritesEnabled, Emulate: cur.Emulate, AutoOut: cur.AutoOut, AutoIn: cur.AutoIn, PollTerminal: cur.PollTerminal,
Account: cur.Account, SecOut: cur.SecOut, SecIn: cur.SecIn, ClientCodeMap: cur.ClientCodeMap,
}
}
@@ -86,6 +86,7 @@ func (h *setupHandlers) saveQuikCycle(w http.ResponseWriter, r *http.Request) {
}
s := h.rc.Snapshot().Quik
s.WritesEnabled = r.FormValue("writes_enabled") != ""
s.Emulate = r.FormValue("emulate") != ""
s.AutoOut = r.FormValue("auto_out") != ""
s.AutoIn = r.FormValue("auto_in") != ""
s.PollTerminal = r.FormValue("poll_terminal") != ""
@@ -109,7 +110,9 @@ func (h *setupHandlers) saveQuikCycle(w http.ResponseWriter, r *http.Request) {
return
}
mode := "записи в МНП ВЫКЛЮЧЕНЫ"
if s.WritesEnabled {
if s.Emulate {
mode = fmt.Sprintf("ИМИТАЦИЯ (в МНП ничего не пишется): исходящие %s, входящие %s, поручения из терминала %s", onOff(s.AutoOut), onOff(s.AutoIn), onOff(s.PollTerminal))
} else if s.WritesEnabled {
mode = fmt.Sprintf("записи включены: исходящие %s, входящие %s, поручения из терминала %s", onOff(s.AutoOut), onOff(s.AutoIn), onOff(s.PollTerminal))
}
setupFlash(w, r, "QUIK МНП: цикл M2M сохранён — "+mode)