Первичная настройка, часть 1: префикс торгового счёта DEPO — настройка с подсказкой по учёту (был зашит «ВТНКЦ» в 7 запросах); шаг 8 — адрес ИШ вместо ONYX, профили prod-gost/prod-rsa (пункт prod уводил bj в имитацию), без неиспользуемого контейнера, перезапуск bj после смены контура; реквизиты НРД на шаге 4; точная проверка процедур bj2depo и таблиц Fancy M2M; QUIK — объекты M2M и справочник получателей, без зашитого IP; сертификаты из справочника ИШ (FindCertificates — заглушка), уведомления о сроке за 30/14/7/3/1 день; тексты мастера, нумерация, режим разработки; уникальные id оповещений с русскими заголовками
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014FsEKyJrYF69Cj9ZXzFLRi
This commit is contained in:
@@ -113,3 +113,30 @@ func (h *setupHandlers) saveOrg(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
setupFlash(w, r, msg)
|
||||
}
|
||||
|
||||
var nsdReqRe = regexp.MustCompile(`^[A-Z0-9]{4,30}$`)
|
||||
|
||||
// saveNSDRequisites — POST /admin/setup/nsd-requisites: депозитарный код, счёт и раздел организации в НРД
|
||||
// (место хранения бумаг в пакетах). В мастере — на шаге «Организация», рядом с кодом и ИНН.
|
||||
func (h *setupHandlers) saveNSDRequisites(w http.ResponseWriter, r *http.Request) {
|
||||
if r.Method != http.MethodPost {
|
||||
http.Error(w, "method", http.StatusMethodNotAllowed)
|
||||
return
|
||||
}
|
||||
s := h.rc.Snapshot().NSD
|
||||
dep := strings.ToUpper(strings.TrimSpace(r.FormValue("deponent_code")))
|
||||
acc := strings.ToUpper(strings.TrimSpace(r.FormValue("account_id")))
|
||||
sec := strings.ToUpper(strings.TrimSpace(r.FormValue("section_id")))
|
||||
for _, v := range []struct{ name, val string }{{"депозитарный код", dep}, {"депозитарный счёт", acc}, {"раздел счёта", sec}} {
|
||||
if v.val != "" && !nsdReqRe.MatchString(v.val) {
|
||||
setupFlash(w, r, "Реквизиты НРД: "+v.name+" — латинские буквы и цифры, без пробелов")
|
||||
return
|
||||
}
|
||||
}
|
||||
s.DeponentCode, s.AccountID, s.SectionID = dep, acc, sec
|
||||
if err := h.rc.UpdateNSD(s); err != nil {
|
||||
setupFlash(w, r, "Реквизиты НРД: ошибка сохранения: "+err.Error())
|
||||
return
|
||||
}
|
||||
setupFlash(w, r, "Реквизиты НРД сохранены: код "+pick(dep, "—")+", счёт "+pick(acc, "—")+", раздел "+pick(sec, "—"))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user