Перевод 97EAD00C (заявка ЛК #71741, 23.10.2026) исполнен в QUIK и НРД (MS010),
но в ЛК статус не изменился, а сделка осталась «Подтверждена»:
- связки guid → заявка ЛК искались с учётом регистра: мы шлём GUID строчными,
НРД отвечает заглавными — OnLKOutcome молча не находил заявку. Ключи —
строчными (lkGUIDKey), старые записи приводятся при загрузке; итог модуля
ЛК (lk.transfer_requests) — lower(guid);
- после MS010 по всем строкам поручения 16 сделка → «Исполнена» (CompleteSUB16),
итог — в ЛК (outOnExecuted, каждый проход order-watch, повтор безвреден);
в бою согласие контрагента — ещё не «Исполнена»: статус ждёт MS010, как в
тесте «боевой ЛК → TEST3»; имитатор НРД — итог сразу.
Тестовый 28 с боевым ЛК взял ту же заявку и после отказа МНП («запрещен для
операции шорт» — бумагу уже заблокировал 9) брал её каждые 10 секунд: 108
сделок с новыми GUID и столько же писем.
- Сделка заведена, а отправка не прошла (МНП не заблокировал) — заявка
помечается взятой и связывается с переводом: дальше — оператор в карточке.
- Боевой ЛК при тестовом профиле ИШ (lkProdOnTestNSD): заявки клиентов не
берутся (кроме теста «боевой ЛК → тестовый НРД»), портфели не заполняются,
предупреждение в настройках ЛК.
- Письма: в теме и первой строке — сервер bj и контур НРД («[bj ТЕСТ …]»
у тестового); письма о входящих — метка только у тестового.
- История FSM — по МСК с датой, «текущее состояние» вместо «сейчас».
- Карточка теста «боевой ЛК → тестовый НРД» — только в режиме разработки
(включённый тест виден всегда, чтобы его выключить).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q7eREaYwUt1i4fNLZcGnjn
На 9 после включения «для всех» (23.10.2026) каждый проход открывал по два
соединения с DEPO на каждый из 1158 договоров — около 50 входов в MSSQL в
секунду без перерыва, а проход шёл в цикле опроса заявок ЛК и задерживал его.
- Остатки всех клиентов — одним запросом (fsql.Dp03), одно соединение с DEPO
на проход; по списку — запрос по клиенту на том же соединении. На боевой
DEPO: общий запрос 127 мс, совпадает с запросом по клиенту (58 договоров).
- Свой цикл lkPortfolioLoop (здоровье «lk-portfolio»): по списку — каждые
10 с, для всех клиентов — раз в 5 мин. Опрос заявок ЛК больше не ждёт.
- Проходы по очереди: фоновый и «Заполнить сейчас» не шлют один портфель
дважды; принудительный проход пропускает отправленные за последнюю минуту.
- ЛК не отвечает — проход прерывается; одна и та же ошибка отправки не
повторяется в журнале каждый проход. Ошибка чтения DEPO снимается, когда
портфель снова читается без изменений.
- Настройки: итог (договоров, отправлено, нечего отправлять, с ошибкой),
последние 5 отправок; договоры с ошибкой и все договоры — под раскрытием.
«Отправлять нечего» — не ошибка (поле Nothing).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q7eREaYwUt1i4fNLZcGnjn
Номер гос. регистрации — из DEPO (OD_SHARES.NUM_REG, выпуск бумаги), экспорт
QUIK — запасной: без подключённого экспорта (модуль НПР) все бумаги
пропускались. Портфель, где отправлять нечего (у всех бумаг нет номера —
иностранные, КСУ), в ЛК не уходит: ЛК отвечал на пустой импорт HTTP 500.
После «Залить сейчас» / «Включить» — назад в тот же раздел к карточке с
сообщением об итоге (раньше #lk-portfolio открывал «Обзор»).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q7eREaYwUt1i4fNLZcGnjn
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
- Кнопка «Включить для всех пользователей» с предупреждением: заполнение
портфеля запускается для ВСЕХ открытых торговых счетов DEPO (по префиксу),
договор ЛК выводится из счёта по шаблону — так же как в тесте с одним клиентом,
только по торговым счетам. Поле AllClients; tick берёт пары из
lkPortfolioAllPairs. Прежний режим «по списку» (Pairs) сохранён.
- Поля именования (префикс счёта, шаблон договора, раздел, место хранения)
предзаполняются из базы DEPO (префикс — depoAccPrefix) и значений по умолчанию,
остаются редактируемыми.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q7eREaYwUt1i4fNLZcGnjn