DEPO: полное наименование организации из OD_U_FACES, действующая версия лица

Автоопределение читало исходную запись лица (2016) и брало MNEM как краткое
наименование. Теперь — действующая версия (SELF_ID/LAST_FLAG=1): краткое —
OD_FACES.NAME, полное — OD_U_FACES.FULL_NAME, английские — ENG_FULL_NAME и
ENG_NAME. Анкета участника заполняется из DEPO без справочника НРД;
английские — только парой. Проверено на DEPO 28: полное есть у 141 из 145
участников, английские после замены кавычек совпали с ответом НРД.
Если OD_U_FACES нет — прежний запрос и подсказка уточнить у НРД.

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 10:28:42 +03:00
parent c546773840
commit 890e575d3d
4 changed files with 69 additions and 22 deletions
+9 -1
View File
@@ -7,6 +7,14 @@ package fsql
var Det01 = `SELECT c.NUMBER, ISNULL(c.STATE,0), ISNULL(c.NAME,'') FROM OD_CLIENTS c JOIN OD_FACES f ON f.ID=c.FACE
WHERE f.INN='7702165310' AND c.NUMBER LIKE '%/%/%/%' ORDER BY c.STATE, c.NUMBER`
// Det02 — карточка организации по коду участника НРД (кодер лица).
// Det03 — карточка организации по коду участника НРД: действующая версия лица (кодер ссылается на исходную
// запись SELF_ID, действующая — LAST_FLAG=1) и юридические наименования из OD_U_FACES. NAME в OD_FACES —
// краткое («ООО "…"»), полное и английское полное — только в OD_U_FACES, английское краткое — OD_FACES.ENG_NAME.
var Det03 = `SELECT TOP 1 ISNULL(f.NAME,''), ISNULL(f.INN,''), ISNULL(f.MNEM,''), ISNULL(f.ENG_NAME,''), ISNULL(u.FULL_NAME,''), ISNULL(u.ENG_FULL_NAME,'')
FROM OD_FACE_CODERS fc JOIN OD_FACES f ON (f.ID=fc.FACE OR f.SELF_ID=fc.FACE) LEFT JOIN OD_U_FACES u ON u.FACE=f.ID
WHERE fc.CODE=@code ORDER BY ISNULL(f.LAST_FLAG,0) DESC, f.B_DATE DESC, f.ID DESC`
// Det02 — карточка организации по коду участника НРД (кодер лица); запасной вариант, если в DEPO нет
// OD_U_FACES или версионных полей.
var Det02 = `SELECT TOP 1 ISNULL(f.NAME,''), ISNULL(f.INN,''), ISNULL(f.MNEM,''), ISNULL(f.ENG_NAME,'')
FROM OD_FACE_CODERS fc JOIN OD_FACES f ON f.ID=fc.FACE WHERE fc.CODE=@code ORDER BY f.E_DATE DESC, f.ID DESC`