QUIK и НРД в настройках — простой вид и расширенный под раскрытием; выбор «Кто отвечает на переводы M2M»

- QUIK: в карточке режима — одна галочка «Клиенты подают поручения из QUIK (терминал и мобильное приложение)», сохраняется сразу; предупреждение, если режим изменён в расширенных; «Расширенные настройки» (отдельно исходящие/входящие, инструменты МНП, коды клиентов) свёрнуты, без дубля счёта и галочки терминала; формы цикла не сбрасывают поля, которых не прислали.
- НРД: организация — код, ИНН, наименование в ряд; реквизиты в НРД — общий блок с мастером (nsdRequisites), «Определить из DEPO» видна (была белым по белому); блок шлюза из мастера (контуры, доступ к папкам по сети) — и в настройках; ручная настройка шлюза — под «Расширенными настройками».
- Автоматический режим M2M: вместо галочки с «Сохранить» — выбор плиткой «bj сам — автоматически / Оператор», сохраняется сразу (m2mAutoCard); тот же выбор — в мастере на шаге «Проверка»; подробности — под раскрытием.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014FsEKyJrYF69Cj9ZXzFLRi
This commit is contained in:
zuevav
2026-10-07 08:15:06 +03:00
parent 0e00a2f88b
commit 56068af897
9 changed files with 137 additions and 65 deletions
+16 -4
View File
@@ -285,8 +285,20 @@ func (h *setupHandlers) saveM2MAuto(w http.ResponseWriter, r *http.Request) {
}
cur := h.rc.Snapshot().M2MAuto
on := r.FormValue("enabled") != ""
if m := r.FormValue("mode"); m != "" { // карточка «Кто отвечает на переводы M2M»: выбор плиткой
on = m == "auto"
}
ajax := r.Header.Get("X-BJ-Ajax") != ""
reply := func(msg string) {
if ajax {
w.Header().Set("Content-Type", "text/plain; charset=utf-8")
_, _ = w.Write([]byte(msg))
return
}
setupFlash(w, r, "Автоматический режим M2M: "+msg)
}
if on == cur.Enabled {
setupFlash(w, r, "Автоматический режим M2M: без изменений")
reply("без изменений")
return
}
s := M2MAutoSettings{Enabled: on, ChangedAt: time.Now()}
@@ -294,14 +306,14 @@ func (h *setupHandlers) saveM2MAuto(w http.ResponseWriter, r *http.Request) {
s.ChangedBy = u.Login
}
if err := h.rc.UpdateM2MAuto(s); err != nil {
setupFlash(w, r, "Автоматический режим M2M: ошибка сохранения: "+err.Error())
reply("ошибка сохранения: " + err.Error())
return
}
if on {
log.Printf("m2m-auto: автоматический режим ВКЛЮЧЁН (%s)", s.ChangedBy)
setupFlash(w, r, "Автоматический режим M2M включён: решения по входящим, поручения 16/1 и 16 bj отправляет сам (первый проход — в течение 30 секунд).")
reply("включён — решения по входящим, поручения 16/1 и 16 bj отправляет сам (первый проход — в течение 30 секунд)")
return
}
log.Printf("m2m-auto: автоматический режим выключен (%s)", s.ChangedBy)
setupFlash(w, r, "Автоматический режим M2M выключен — решения и поручения снова отправляет оператор.")
reply("выключен — решения и поручения отправляет оператор")
}