Вход на сайт

Просмотр новости

Найдите то, что Вас интересует

Проверка субъекта на входе как часть AML

Дата публикации: 18-08-2026 09:51:40

Постоянно меняющиеся требования со стороны Центробанка и Росфинмониторинга заставляют финансовые организации уделять пристальное внимание своим клиентам с точки зрения их благонадежности. Каждый день производится ряд проверок, позволяющих оценить риски обслуживания организаций и физических лиц. В связи с этим появилась необходимость не просто автоматизировать данный процесс, но как-то его систематизировать и сделать удобным для сопровождения. Читать далее

Основное содержимое страницы с новостью.

Постоянно меняющиеся требования со стороны Центробанка и Росфинмониторинга заставляют финансовые организации уделять пристальное внимание своим клиентам с точки зрения их благонадежности. Каждый день производится ряд проверок, позволяющих оценить риски обслуживания организаций и физических лиц. В связи с этим появилась необходимость не просто автоматизировать данный процесс, но как-то его систематизировать и сделать удобным для сопровождения.

Общая схема комплексного анализа выглядит следующим образом:

Рис.1. Блок-схема комплексного анализа субъекта

Рис.1. Блок-схема комплексного анализа субъекта

На первом шаге вводятся данные анализируемого субъекта. Источником может выступать как внешний сервис, так и внутренняя база клиентов или ручной ввод. Далее выбираются контроли из списка или из категории. Процесс анализа заключается в последовательном выполнении всех проверок с сохранением результата и выводом в отчет. Проверка может выполнять различные действия, в основном это поиск по «неблагонадежным» справочникам, анализ истории операций и т.д. В связи с чем с точки зрения архитектуры реализацию данного процесса целесообразно вынести в хранимые процедуры СУБД, чтобы быть «поближе к данным».

В базе создаем справочники проверок и категорий, куда будем заводить собственные проверки.

Рис.2. ER-диаграмма БД

Рис.2. ER-диаграмма БД

В каждой проверке есть свой блок кода алгоритма, который будет динамически выполняться на каждой итерации. Результатом выполнения будет статус – пройдено/нет – и дополнительные показатели для вывода в отчет.

За запуск динамического кода отвечает процедура EXEC_PLSQL_BL. Все примеры реализации приведены на языке PL/SQL. На вход ей передается исполняемый код, куда биндится параметр – id субъекта:

PROCEDURE EXEC_PLSQL_BL(cErr OUT varchar2, iRef_id OUT NUMBER, iSubj_Id IN NUMBER, CSQLSTR IN CLOB)
IS
  iExecute  INTEGER;
  iCursor INTEGER := NULL;
BEGIN
  IF LENGTH(CSQLSTR) is not NULL THEN
      BEGIN
         IF NOT DBMS_SQL.Is_Open (iCursor) THEN
                iCursor := DBMS_SQL.Open_Cursor;
         end if;
         DBMS_SQL.Parse( iCursor, CSQLSTR, DBMS_SQL.Native );
         DBMS_SQL.Bind_Variable( iCursor, 'p1', iSubj_Id);
         DBMS_SQL.Bind_Variable( iCursor, 'o1', iRef_id);
         iExecute := DBMS_SQL.Execute( iCursor );
         DBMS_SQL.Variable_Value( iCursor, 'o1', iRef_id);
         DBMS_SQL.Close_Cursor(iCursor);
         EXCEPTION
          WHEN OTHERS THEN
              cERR:=SubStr(SQLERRM,1,255);
              DBMS_SQL.Close_Cursor(iCursor);
       END;
  END IF;

END EXEC_PLSQL_BL;

Здесь используется стандартный пакет Oracle DBMS_SQL, но можно применить и команду EXECUTE IMMEDIATE. Последняя обычно используется в случае большого количества ее вызовов.

Таблицы «Анализ» и «Совпадения» являются своего рода хранилищем истории проверок, а таблица «Субъекты» - база субъектов, когда-либо приходивших на обслуживание.

Процедура анализа субъекта выглядит следующим образом. На вход она получает id записи из таблицы «Анализ» и массив проверок (id из таблицы «Проверки»), которые нужно выполнить. Перед ее вызовом происходит заведение новых сущностей в таблицы «Анализ» и «Субъекты».  

PROCEDURE analyze_sbj(cErr OUT varchar2, p_chk_id IN NUMBER, p_mrk_id IN T_TAB_NUMBERS)
IS
   vRefId NUMBER;
   vSubjId NUMBER := SBJ_CTRL_UTL.Get_Chk_Subj_Id(p_chk_id); -- получить id cубъекта
   vCntRefBuff INTEGER := 0; -- заполнен ли буфер совпадений
BEGIN
    FOR rCtrl IN (SELECT c.* FROM sbj_ctrl c
                    JOIN TABLE(p_mrk_id) t ON VALUE(t) = c.iid
                    ORDER BY c.iid
                 )
    LOOP
        delete from rp_id_tmp; -- Очищаем буфер с совпадениями
        IF NOT EXEC_PLSQL_BL(cErr,vRefId,vSubjId,rCtrl.cPL) THEN
            cErr := 'При выполнении проверки ID="' ||rCtrl.IID|| '" произошла ошибка: ' || cErr;
            raise_application_error(-20000,cErr);
            exit;
        ELSE -- сохраняем проверку
            SELECT 
              CASE WHEN EXISTS (SELECT NULL FROM rp_id_tmp) THEN 1
                   ELSE 0
              END 
            INTO vCntRefBuff
            FROM dual;
            
            IF vCntRefBuff > 0 THEN
               FOR rRef IN (SELECT inum FROM rp_id_tmp) LOOP
                   SBJ_CTRL_FLR.Ins_Sbj_Suspect(p_chk_id, rCtrl.IID, rRef.Inum);
               END LOOP;
            ELSE
               SBJ_CTRL_FLR.Ins_Sbj_Suspect(p_chk_id, rCtrl.IID, vRefId);
            END IF;
        END IF;
    END LOOP;
END; 

Процедура в цикле запускает проверки и сохраняет результаты в журнале выявлений. На основе полученных данных можно реализовать любой отчет в требуемом бизнесу виде.

Полученный механизм организации комплексного анализа заметно облегчил поддержку в актуальном состоянии необходимого перечня проверок над субъектами, а также позволил хранить историю.

З.Ы. При настройке проверок на совпадения с различными списками можно пользоваться решением, описанным в статье «Справочник объектов поиска и анализа».

Схожие новости

#Наименование новостиТональностьИнформативностьДата публикации
1ЦБ запустил антиотмывочную платформу "Знай своего клиента"0001-07-2022
2ЦБ отменил часть надзорных писем о вовлеченных в подозрительные операции банки0025-11-2025
3РБК: ЦБ предложил поделить клиентов банков на три зоны риска0027-11-2020
4РБК узнала об ослаблении Центробанком контроля за нетипичными операциями бизнеса0008-06-2023
5ЦБ уделит внимание вопросу излишних требований банков по данным от клиентов0019-11-2021
6"Ъ": некредитные финансовые организации проведут самооценку кибербезопасности0018-09-2019
7Опрос: банки России опасаются оттока клиентских средств и удорожания фондирования0010-09-2021
8ЦБ опубликовал единые правила обработки "цифровых отпечатков" клиентов0011-04-2023
9Банк России централизует надзор за субъектами инфраструктуры и инвест- посредниками0018-05-2020
10NEOMSA APIM 4.6.0, платформа управления API: как мы устранили уязвимости Critical и High из БДУ ФСТЭК09.3707-08-2026

Классификация: Экономика. Схожих патентов: 0. Схожих новостей: 10. Тональность: 0. Информативность: 10.25. Источник: habr.com.