Документация iSZN
pkFkECert.sql
Сообщения об ошибках и проверки
Error_NoECertKind
PROCEDURE Error_NoECertKind(iRgnID PLS_INTEGER, iID PLS_INTEGER);
Описание
Генерирует exception «Вид электронного сертификата не найден».
Error_NoECert
PROCEDURE Error_NoECert(iRgnID PLS_INTEGER, iID PLS_INTEGER);
Описание
Генерирует exception «Электронный сертификат не найден».
Error_ECertIsLocked
PROCEDURE Error_ECertIsLocked(iRgnID PLS_INTEGER, iID PLS_INTEGER);
Описание
Генерирует exception «Запись электронного сертификата заблокирована».
Error_InvalidActionKind
PROCEDURE Error_InvalidActionKind(iActionKindID PLS_INTEGER);
Описание
Вызывает exception “Недопустимый вид операции с ЭС”.
Error_InvalidExpAction
PROCEDURE Error_InvalidExpAction(iAction PLS_INTEGER);
Описание
Вызывает exception “Недопустимая операция экспорта”.
Error_InvalidStatusID
PROCEDURE Error_InvalidStatusID(iStatusID PLS_INTEGER);
Описание
Вызывает exception “Статус ЭС не существует”.
Error_InvalidReasonID
PROCEDURE Error_InvalidReasonID(iReasonID PLS_INTEGER);
Описание
Вызывает exception “Причина операции над ЭС не существует”.
CheckActionReason
PROCEDURE CheckActionReason(iReasonID PLS_INTEGER, iActionKindID PLS_INTEGER);
Описание
Проверяет, что указанный ID причины операции над ЭС соответствует требуемому виду операции.
Параметры:
- iReasonID - ID причины (запись справочника “Причины действия с электронными сертификатами”);
- iActionKindID - ID требуемого вида операции с ЭС; константа из числа IECertActKindID_xxx.
CheckStatusIsEditable
PROCEDURE CheckStatusIsEditable(iECertStatusID PLS_INTEGER);
Описание
Проверяет, что указанный статус электронного сертификата допускает редактирование.
Параметры:
- iECertStatusID - статус электронного сертификата.
CheckStatusIsBlockable
PROCEDURE CheckStatusIsBlockable(iECertStatusID PLS_INTEGER);
Описание
Проверяет, что указанный статус электронного сертификата допускает блокировку.
Параметры:
- iECertStatusID - статус электронного сертификата.
Справочники, преобразования и перекодировки
DateTimeStrToLocalTime
FUNCTION DateTimeStrToLocalTime(sValue VARCHAR2, iStrict PLS_INTEGER) RETURN DATE;
Описание
Преобразует строку даты и времени сервиса в дату и время по местному времени сервера СУБД. NB: В запросах и ответах сервиса используется московское время без указания часового пояса.
DecodeUsageStatus
FUNCTION DecodeUsageStatus(sCode VARCHAR2, iStrict PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Декодирует статус использования электронного сертификата.
Параметры:
- sCode - код статуса использования;
- iStrict - определяет поведение при недопустимом коде.
Возвращает ID статуса использования.
Если sCode=null, возвращает null.
DecodeECertStatus
FUNCTION DecodeECertStatus(sCode VARCHAR2, iStrict PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Декодирует статус электронного сертификата.
Параметры:
- sCode - код статуса сертификата;
- iStrict - определяет поведение при недопустимом коде.
Возвращает ID записи справочника “Статусы электронных сертификатов”.
Если sCode=null, возвращает null.
DecodeECertActionReason
FUNCTION DecodeECertActionReason(iActionKindID PLS_INTEGER, sCode VARCHAR2, iStrict PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Декодирует причину действия с электронным сертификатом.
Параметры:
- iActionKindID - ID вида действия; константа из числа IECertActKindID_xxx;
- sCode - код причины;
- iStrict - определяет поведение при отсутствии такой причины.
Возвращает ID записи справочника “Причины действия с электронными сертификатами”.
Если sCode=null, возвращает null.
DecodeECertOpType
FUNCTION DecodeECertOpType(sCode VARCHAR2, iStrict PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Декодирует тип операции по электронному сертификату.
Параметры:
- sCode - код типа операции;
- iStrict - определяет поведение при недопустимом коде.
Возвращает ID записи справочника “Типы операций по электронным сертификатам”.
Если sCode=null, возвращает null.
GetECertTransAddressID
FUNCTION GetECertTransAddressID(sAddress VARCHAR2, iCreate PLS_INTEGER, iStrict PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Возвращает ID адреса транзакции из справочника адресов транзакций ЭС.
Параметры:
- sAddress - адрес;
- iCreate - создавать ли адрес при его отсутствии (0/1);
- iStrict - определяет поведение при отсутствии адреса; применяется только при iCreate=0.
GetECertTransOrgID
FUNCTION GetECertTransOrgID(sFullName VARCHAR2, sINN VARCHAR2, sKPP VARCHAR2, iCreate PLS_INTEGER, iUpdate PLS_INTEGER, iStrict PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Возвращает ID организации из справочника организаций транзакций ЭС.
Параметры:
- sFullName - полное наименование;
- sINN - ИНН;
- sKPP - КПП (необязательно);
- iCreate - создавать ли организацию при её отсутствии (0/1);
- iUpdate - обновлять ли наименование существующей организации (0/1);
- iStrict - определяет поведение при отсутствии организации; применяется только при iCreate=0.
Организация идентифицируется по ИНН и КПП.
GetECertTransLocationID
FUNCTION GetECertTransLocationID(sAddress VARCHAR2, nLatitude NUMBER, nLongitude NUMBER, sWebsite VARCHAR2, iCreate PLS_INTEGER, iStrict PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Возвращает ID точки продаж из справочника точек продаж транзакций ЭС.
Параметры:
- sAddress - адрес;
- nLatitude - широта;
- nLongitude - долгота;
- sWebsite - адрес веб-сайта;
- iCreate - создавать ли точку продаж при её отсутствии (0/1);
- iStrict - определяет поведение при отсутствии точки продаж; применяется только при iCreate=0.
Точка продаж идентифицируется по адресу, широте и долготе либо по адресу веб-сайта.
Работа с экземплярами сертификатов
AllocateNewECertID
FUNCTION AllocateNewECertID(iRegionID PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Возвращает новый ID электронного сертификата в заданном районе.
AllocateNewECertGoodsID
FUNCTION AllocateNewECertGoodsID(iRegionID PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Возвращает новый ID товара электронного сертификата в заданном районе.
AllocateNewECertTransID
FUNCTION AllocateNewECertTransID RETURN PLS_INTEGER;
Описание
Возвращает новый ID транзакции электронного сертификата.
AllocateNewECertTransGoodsID
FUNCTION AllocateNewECertTransGoodsID(iRegionID PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Возвращает новый ID товара/услуги транзакции электронного сертификата в заданном районе.
AllocateNewECertStatusHistID
FUNCTION AllocateNewECertStatusHistID(iRegionID PLS_INTEGER) RETURN PLS_INTEGER;
Описание
Возвращает новый ID записи истории статусов электронного сертификата в заданном районе.
ECert_Create
FUNCTION ECert_Create(iRegionID PLS_INTEGER, iAsgAmountID PLS_INTEGER, iCertKindRgnID PLS_INTEGER, iCertKindID PLS_INTEGER, dDateStart DATE, dDateEnd DATE) RETURN PLS_INTEGER;
Описание
Создаёт электронный сертификат для назначенной суммы.
Для получения СНИЛС и номера карты МИР используются текущие параметры выплаты.
Параметры:
- iRegionID, iAsgAmountID - ключ назначенной суммы;
- iCertKindRgnID, iCertKindID - ключ вида сертификата;
- dDateStart, dDateEnd - период действия сертификата.
Возвращает ID созданной записи.
Если пользователь не имеет привилегий на просмотр назначенных сумм или параметров выплаты, возникает exception.
ECert_Edit
PROCEDURE ECert_Edit(iRegionID PLS_INTEGER, iID PLS_INTEGER);
Описание
Обновляет данные электронного сертификата на основании текущих параметров выплаты и помечает его данные к отправке
в ГИС ЭС.
Параметры:
- iRegionID, iID - ключ электронного сертификата.
Если сертификат не существует или находится в неподходящем состоянии, возникает exception.
Если пользователь не имеет привилегий на просмотр назначенных сумм или параметров выплаты, возникает exception.
ECert_Block
PROCEDURE ECert_Block(iRegionID PLS_INTEGER, iID PLS_INTEGER, iBlockReasonID PLS_INTEGER, iClearAsgAmountID PLS_INTEGER, iDelNotExisting PLS_INTEGER);
Описание
Помечает электронный сертификат к блокировке.
Параметры:
- iRegionID, iID - ключ электронного сертификата;
- iBlockReasonID - ID причины блокировки;
- iClearAsgAmountID - обнулять ли связь с назначенной суммой (0/1);
- iDelNotExisting - удалять ли сертификаты, которые ещё не отправлены в ГИС ЭС (0/1).
Если сертификат не существует или находится в неподходящем состоянии, возникает exception.
ECert_GetState
PROCEDURE ECert_GetState(iRegionID PLS_INTEGER, iID PLS_INTEGER);
Описание
Помечает электронный сертификат к получению актуального состояния.
Параметры:
- iRegionID, iID - ключ электронного сертификата;
Если сертификат не существует или находится в неподходящем состоянии, возникает exception.
ECert_ResetExpAction
PROCEDURE ECert_ResetExpAction(iRegionID PLS_INTEGER, iID PLS_INTEGER, iForce PLS_INTEGER);
Описание
Сбрасывает состояние экспорта электронного сертификата в ГИС ЭС.
Параметры:
- iRegionID, iID - ключ электронного сертификата;
- iForce - игнорировать ли текущее состояние сертификата (0/1).
Если сертификат не существует или находится в неподходящем состоянии, возникает exception.
ECert_Delete
PROCEDURE ECert_Delete(iRegionID PLS_INTEGER, iID PLS_INTEGER);
Описание
Удаляет электронный сертификат.
Параметры:
- iRegionID, iID - ключ электронного сертификата;
Если сертификат не существует или находится в неподходящем состоянии, возникает exception.
Взаимодействие с ГИС ЭС
ECertService_Export
PROCEDURE ECertService_Export( iRegionID PLS_INTEGER, iAction PLS_INTEGER, rkCertKind uszn.TRgnKey, iMaxCount PLS_INTEGER, iOutMsgCount IN OUT PLS_INTEGER, iCertCount IN OUT PLS_INTEGER, iErrorCount IN OUT NOCOPY PLS_INTEGER, iTaskRecID PLS_INTEGER, LOG IN OUT NOCOPY uszn.pkServerOps.TServerOpLog, iLogLevel PLS_INTEGER); -- Обрабатывает данные ответа на запрос по виду сведений "Формирование, изменение, блокирование, запрос актуального -- состояния электронного сертификата". -- Параметры: -- iIncMsgID - ID входящего сообщения СМЭВ-3; -- iDataRootTagID - ID корневого тега с данными вида сведений; -- Response - структурированные данные технической части ответа; -- Log - протокол; -- iLogLevel - уровень отсутпа в протоколе; -- iErrorCount - общее количество сбоев в процессе обработки; -- iWarningCount - общее количество предупреждений в процессе обработки; -- iTotalRecCount - суммарное количество записей в ответе; -- iProcRecCount - количество обработанных записей; -- iFailRecCount - количество сбойных записей. PROCEDURE ProcessECertSvcResponse( iIncMsgID PLS_INTEGER, iDataRootTagID PLS_INTEGER, Response uszn.pkSMEV3.TGetResponseResponse, LOG IN OUT NOCOPY uszn.pkServerOps.TServerOpLog, iLogLevel IN OUT NOCOPY PLS_INTEGER,
Описание
Отправляет в ГИС ЭС запрос по виду сведений “Формирование, изменение, блокирование, запрос актуального состояния
электронного сертификата”.
Параметры:
- iRegionID - ID района;
- iAction - вид операции экспорта; константа из числа pkFkECert.IExpAction_xxx;
- rkCertKind - ключ вида сертификата; null, если запросы нужно отправлять по всем видам сертификатов;
- iMaxCount - максимальное количество записей в пакете (на данный момент ограничение ВС - не более 100);
- iOutMsgCount - количество отправленных запросов в СМЭВ;
- iCertCount - количество сертификатов, по которым отправлены запросы;
- iErrorCount - счётчик ошибок при обработке;
- iTaskRecID - ID записи серверной операции;
- Log - протокол;
- iLogLevel - начальный уровень отступа в протоколе.
Формирует запросы по ещё не отправленным сертификатам, ожидающим указанной операции.
ProcessECertSvcResponse
PROCEDURE ProcessECertSvcResponse( iIncMsgID PLS_INTEGER, iDataRootTagID PLS_INTEGER, Response uszn.pkSMEV3.TGetResponseResponse, LOG IN OUT NOCOPY uszn.pkServerOps.TServerOpLog, iLogLevel IN OUT NOCOPY PLS_INTEGER, iErrorCount IN OUT NOCOPY PLS_INTEGER, iWarningCount IN OUT NOCOPY PLS_INTEGER, iTotalRecCount OUT PLS_INTEGER, iProcRecCount OUT PLS_INTEGER, iFailRecCount OUT PLS_INTEGER); -- Обрабатывает данные запроса по виду сведений "Уведомление об изменении состояния электронного сертификата". -- Параметры: -- iIncMsgID - ID входящего сообщения СМЭВ-3; -- Request - структурированные данные технической части запроса; -- iDataRootTagID - ID корневого тега с данными вида сведений; -- Log - протокол; -- iLogLevel - уровень отступа в протоколе; -- iErrorCount - общее количество сбоев в процессе обработки; -- iWarningCount - общее количество предупреждений в процессе обработки; -- iTotalRecCount - суммарное количество записей в ответе; -- iProcRecCount - количество обработанных записей; -- iFailRecCount - количество сбойных записей. PROCEDURE ProcessECertNotifyRequest( iIncMsgID PLS_INTEGER, Request uszn.pkSMEV3.TGetRequestResponse, iDataRootTagID PLS_INTEGER, LOG IN OUT NOCOPY uszn.pkServerOps.TServerOpLog, iLogLevel IN OUT NOCOPY PLS_INTEGER,
Описание
Обрабатывает данные ответа на запрос по виду сведений “Формирование, изменение, блокирование, запрос актуального
состояния электронного сертификата”.
Параметры:
- iIncMsgID - ID входящего сообщения СМЭВ-3;
- iDataRootTagID - ID корневого тега с данными вида сведений;
- Response - структурированные данные технической части ответа;
- Log - протокол;
- iLogLevel - уровень отсутпа в протоколе;
- iErrorCount - общее количество сбоев в процессе обработки;
- iWarningCount - общее количество предупреждений в процессе обработки;
- iTotalRecCount - суммарное количество записей в ответе;
- iProcRecCount - количество обработанных записей;
- iFailRecCount - количество сбойных записей.
ProcessECertNotifyRequest
PROCEDURE ProcessECertNotifyRequest( iIncMsgID PLS_INTEGER, Request uszn.pkSMEV3.TGetRequestResponse, iDataRootTagID PLS_INTEGER, LOG IN OUT NOCOPY uszn.pkServerOps.TServerOpLog, iLogLevel IN OUT NOCOPY PLS_INTEGER, iErrorCount IN OUT NOCOPY PLS_INTEGER, iWarningCount IN OUT NOCOPY PLS_INTEGER, iTotalRecCount OUT PLS_INTEGER, iProcRecCount OUT PLS_INTEGER, iFailRecCount OUT PLS_INTEGER); END; / CREATE OR REPLACE PACKAGE BODY uszn.pkFkECert IS Resource_Busy EXCEPTION; PRAGMA exception_init(Resource_Busy, -54); -- Ключи видов сведений: -- -- Формирование, изменение, блокирование, запрос актуального состояния электронного сертификата (1.1.0) IDK_RgnID_ECertService CONSTANT PLS_INTEGER := 0; IDK_ID_ECertService CONSTANT PLS_INTEGER := 99; -- -- Уведомление об изменении состояния электронного сертификата (1.1.0) IDK_RgnID_ECertNotify CONSTANT PLS_INTEGER := 0; IDK_ID_ECertNotify CONSTANT PLS_INTEGER := 100;
Описание
Обрабатывает данные запроса по виду сведений “Уведомление об изменении состояния электронного сертификата”.
Параметры:
- iIncMsgID - ID входящего сообщения СМЭВ-3;
- Request - структурированные данные технической части запроса;
- iDataRootTagID - ID корневого тега с данными вида сведений;
- Log - протокол;
- iLogLevel - уровень отступа в протоколе;
- iErrorCount - общее количество сбоев в процессе обработки;
- iWarningCount - общее количество предупреждений в процессе обработки;
- iTotalRecCount - суммарное количество записей в ответе;
- iProcRecCount - количество обработанных записей;
- iFailRecCount - количество сбойных записей.