Справочник участников — своего контура; регистрация — по справочнику НРД; поиск клиентов портфеля

readHandbook брал самый свежий из своего, общего (с сервера лицензий) и
встроенного — общий был тестовым (TEST3, 166 участников, прислан с 28), и на
боевом 9 bj считал «регистрация подтверждена», хотя в боевом справочнике
НРД (89) нас нет. Теперь при своём справочнике от НРД — только он; на сервер
лицензий справочник уходит только с боевого контура.

Регистрация участника проверяется по справочнику, полученному от НРД;
появились в нём — анкета отмечается принятой автоматически, плашка уходит.

Портфель ЛК: клиенты DEPO списком по клику (первые 50 по алфавиту), «не
найдено» вместо «поиск недоступен» (пустой ответ был null).

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 11:28:13 +03:00
parent 6fc0ff5d3d
commit f296ac5ad8
6 changed files with 86 additions and 29 deletions
+12 -14
View File
@@ -488,21 +488,19 @@ func participantRegStatus(rc *RuntimeConfig) string {
if contour == "" {
contour = "текущего"
}
hb, ok := handbookByCode(orgCode(s))
if !ok {
if inn := orgINN(s); inn != "" {
hb, ok = handbookByINN(inn)
}
_ = s
in, known, at, n := nsdHandbookHasUs(rc)
switch {
case in:
out.WriteString(`<div class="ok">В справочнике участников M2M, полученном от НРД (` + contour + ` контур, ` +
at.In(listMSK).Format("02.01 15:04") + `), наша организация <b>есть</b>. Регистрация подтверждена.</div>`)
case known:
out.WriteString(fmt.Sprintf(`<div class="note">В справочнике участников M2M, полученном от НРД (%s контур, %s, участников %d), нашей организации пока <b>нет</b>. `+
`После приёма анкеты НРД добавит её в справочник — bj получает его каждые несколько минут и сам отметит регистрацию.</div>`,
contour, at.In(listMSK).Format("02.01 15:04"), n))
default:
out.WriteString(`<div class="note">Справочник участников M2M от НРД ещё не получен — проверить регистрацию по нему пока нельзя.</div>`)
}
if ok {
out.WriteString(`<div class="ok">В справочнике участников M2M ` + contour + ` контура: <b>есть</b> — ` +
html.EscapeString(pickStr(hb.Name, hb.FullName)) + `, код ` + html.EscapeString(hb.Code) +
`, ИНН ` + html.EscapeString(hb.INN) + `. Регистрация подтверждена.</div>`)
return out.String()
}
out.WriteString(`<div class="note">В справочнике участников M2M ` + contour + ` контура нашей организации пока <b>нет</b>. ` +
`После приёма анкеты НРД организация появится в справочнике (обновляется каждые ~10 минут) — тогда здесь будет «есть». ` +
`Регистрацию подтверждает также ответный документ от НРД.</div>`)
return out.String()
}