Документация iSZN

pkGenericSvc.sql

Сообщения об ошибках

Error_OutMessageLocked

PROCEDURE Error_OutMessageLocked(iRegionID PLS_INTEGER, iID PLS_INTEGER);

Описание

Вызывает exception “Исходящее сообщение ... заблокировано”.

Error_NoOutgoingMessage

PROCEDURE Error_NoOutgoingMessage(iRegionID PLS_INTEGER, iID PLS_INTEGER);

Описание

Вызывает exception “Исходящее сообщение ... не найдено”.

Error_NoOutMessageCall

PROCEDURE Error_NoOutMessageCall(iRegionID PLS_INTEGER, iID PLS_INTEGER);

Описание

Вызывает exception “Запись отправки исходящего сообщения ... не найдена”.

Error_NoOutMsgCallProcessing

PROCEDURE Error_NoOutMsgCallProcessing(iRegionID PLS_INTEGER, iID PLS_INTEGER);

Описание

Вызывает exception “Запись обработки отправленного исходящего сообщения ... не найдена”.

Error_OutMsgIsNotDelivered

PROCEDURE Error_OutMsgIsNotDelivered(iRegionID PLS_INTEGER, iCallID PLS_INTEGER);

Описание

Вызывает exception “Исходящее сообщение ... не было доставлено”.

Error_ResponseHasNoData

PROCEDURE Error_ResponseHasNoData(iRegionID PLS_INTEGER, iCallID PLS_INTEGER);

Описание

Вызывает exception “Ответ не содержит данных”.

Привилегии

CheckOutMsgServicePriv

PROCEDURE CheckOutMsgServicePriv(iRegionID PLS_INTEGER, iMessageID PLS_INTEGER, iPriv PLS_INTEGER);

Описание

Проверяет привилегии пользователя на сервис для исходящего сообщения.
Параметры:

  • iRegionID, iMessageID - ключ исходящего сообщения;
  • iPriv - сумма битовых флагов проверяемых привилегий.

Если сообщение не существует или пользователь не имеет указанных привилегий, возникает exception.

Конфигурация

GetMaxFailedOutMsgCallCount

FUNCTION GetMaxFailedOutMsgCallCount RETURN PLS_INTEGER;

Описание

Возвращает максимальное количество сбоев при отправке исходящего сообщения, после которого его отправка прекращается.

GetFailedOutMsgCallTimeout

FUNCTION GetFailedOutMsgCallTimeout(iFailCount PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает интервал в секундах между повторными вызовами в случае сбоя при отправке исходящего сообщения. TODO: необходимо иметь настройки в зависимости от вида сведений!!!

GetOutMsgTimeoutSecs

FUNCTION GetOutMsgTimeoutSecs(iOperationRegionID PLS_INTEGER, iOperationID PLS_INTEGER, iIsFirstCall PLS_INTEGER, iStrict PLS_INTEGER) RETURN PLS_INTEGER;

Описание

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

  • iOperationRegionID, iOperationID - ключ операции;
  • iIsFirstCall - первая ли это отправка сообщения (1) или повторная (0);
  • iStrict - определяет поведение, если операция не существует, значение атрибута не задано или ошибочно.

GetDefaultParticipantKey

PROCEDURE GetDefaultParticipantKey(iRegionID PLS_INTEGER, iStrict PLS_INTEGER, iParticipantRgnID OUT PLS_INTEGER, iParticipantID OUT PLS_INTEGER);

Описание

Возвращает районный ключ участника взаимодействия по умолчанию.
Значение берётся из региональных настроек экземпляра Системы.
Входные параметры:

  • iRegionID - ID района, для которого необходимо получить значение настройки;
  • iStrict - определяет поведение при отсутствии значения настройки.

Выходные параметры:

  • iParticipantRgnID, iParticipantID - ключ участника взаимодействия или null.

GetDefaultParticipantSlurpKey

FUNCTION GetDefaultParticipantSlurpKey(iRegionID PLS_INTEGER, iStrict PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает Slurp-ключ участника взаимодействия по умолчанию.
Значение берётся из региональных настроек экземпляра Системы.
Параметры:

  • iRegionID - ID района, для которого необходимо получить значение настройки;
  • iStrict - определяет поведение при отсутствии значения настройки.

Работа с запросами и ответами

AllocateNewOutMessageID

FUNCTION AllocateNewOutMessageID(iRegionID PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает новый ID записи исходящего сообщения в заданном районе.

AllocateNewOutMsgCallID

FUNCTION AllocateNewOutMsgCallID(iRegionID PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает новый ID записи отправки исходящего сообщения в заданном районе.

AllocateNewOutMsgCallProcID

FUNCTION AllocateNewOutMsgCallProcID(iRegionID PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает новый ID записи обработки результатов ответа на исходящее сообщение в заданном районе.

CreateMessageDataRFile

FUNCTION CreateMessageDataRFile(iRegionID PLS_INTEGER, bData BLOB, iIsResponse PLS_INTEGER, sMediaType VARCHAR2, iCompressionMethod PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Создаёт в хранилище файлов запись с данными запроса или ответа.
Параметры:

  • iRegionID - ID района;
  • bData - содержимое файла;
  • iIsResponse - являются ли эти данные ответом (0/1);
  • sMediaType - тип содержимого файла;
  • iCompressionMethod - метод сжатия; константа из числа pkFile.ICompressMethod_xxx; если null, сжатие не используется.

Возвращает ID созданной записи или null, если запись не создавалась.

CheckOutMessageExists

PROCEDURE CheckOutMessageExists(iRegionID PLS_INTEGER, iOutMessageID PLS_INTEGER);

Описание

Проверяет, что исходящее сообщение существует, и если это не так, вызывает exception.
Параметры:

  • iRegionID, iOutMessageID - ключ исходящего сообщения.

LockOutgoingMessage

PROCEDURE LockOutgoingMessage(iRegionID PLS_INTEGER, iMessageID PLS_INTEGER);

Описание

Устанавливает эксклюзивную блокировку на исходящее сообщение.
Параметры:

  • iRegionID, iMessageID - ключ сообщения.

Если сообщение не существует или заблокировано, возникает exception.

GetOutMessagePDocID

FUNCTION GetOutMessagePDocID(iRegionID PLS_INTEGER, iOutMessageID PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает ID документа с данными запроса.
Параметры:

  • iRegionID, iOutMessageID - ключ исходящего сообщения.

Если исходящее сообщение не существует, возникает exception.

SchedulePDocRequest

FUNCTION SchedulePDocRequest(
  iRegionID PLS_INTEGER, iRequestPDocID PLS_INTEGER, iServiceRegionID PLS_INTEGER, iOperationID PLS_INTEGER,
  iSenderRegionID PLS_INTEGER, iSenderID PLS_INTEGER, iRecipientRegionID PLS_INTEGER, iRecipientID PLS_INTEGER,
  iAudOriginID PLS_INTEGER, sAudNotes VARCHAR2 := NULL, iWorkflowRecID PLS_INTEGER := NULL) RETURN PLS_INTEGER;

Описание

Создаёт и ставит в очередь на отправку запрос SendRequest на основе персонального документа.
Параметры:

  • iRegionID, iRequestPDocID - ключ экземпляра персонального документа;
  • iServiceRegionID, iOperationID - ключ операции веб-сервиса для отправки сообщения;
  • iSenderRegionID, iSenderID - ключ отправителя запроса; если null, берётся отправитель по умолчанию из районных настроек экземпляра Системы;
  • iRecipientRegionID, iRecipientID - ключ получателя запроса;
  • iAudOriginID - ID источника события для аудита по документу;
  • sAudNotes - примечания для аудита по документу;
  • iWorkflowRecID - ID записи сценария обработки; null, если сценарий обработки не используется.

Для подготовки данных запроса вызывается соответствующий SQL-сценарий операции сервиса.
Возвращает ID записи исходящего сообщения.
Если пользователь не имеет необходимых привилегий на экземпляр персонального документа или на сервис,
возникает exception.

ScheduleCustomRequest

FUNCTION ScheduleCustomRequest(
  iRegionID PLS_INTEGER, iServiceRegionID PLS_INTEGER, iOperationID PLS_INTEGER, bMessageData BLOB, sPathParams VARCHAR2,
  iSenderRegionID PLS_INTEGER, iSenderID PLS_INTEGER, iRecipientRegionID PLS_INTEGER, iRecipientID PLS_INTEGER,
  iWorkflowRecID PLS_INTEGER := NULL) RETURN PLS_INTEGER;

Описание

Создаёт и ставит в очередь на отправку запрос SendRequest с произвольными данными.
Параметры:

  • iRegionID - ID района;
  • iServiceRegionID, iOperationID - ключ операции веб-сервиса для отправки сообщения;
  • bMessageData - данные запроса; null, если данные запроса не требуются;
  • sPathParams - параметры, передаваемые в URL сервиса в виде списка name=value;
  • iSenderRegionID, iSenderID - ключ отправителя запроса; если null, берётся отправитель по умолчанию из районных настроек экземпляра Системы;
  • iRecipientRegionID, iRecipientID - ключ получателя запроса;
  • iWorkflowRecID - ID записи сценария обработки; null, если сценарий обработки не используется.

Если данные запроса не заполнены (null), то для подготовки данных запроса вызывается соответствующий SQL-сценарий
операции сервиса (при наличии).
Возвращает ID записи исходящего сообщения.
Если пользователь не имеет необходимых привилегий на сервис, возникает exception.

ScheduleOutMessage

FUNCTION ScheduleOutMessage(iRegionID PLS_INTEGER, iOutMessageID PLS_INTEGER, dSendTime DATE) RETURN DATE;

Описание

Ставит существующее исходящее сообщение в очередь на отправку в заданное время.
Возвращает предыдущее значение времени отправки.
Параметры:

  • iRegionID, iOutMessageID - ключ исходящего сообщения;
  • dSendTime - желаемая дата и время отправки сообщения.

Если сообщение не содержит данных, не существует, заблокировано или пользователь не имеет необходимых привилегий,
возникает exception.

UnscheduleOutMessage

FUNCTION UnscheduleOutMessage(iRegionID PLS_INTEGER, iOutMessageID PLS_INTEGER) RETURN DATE;

Описание

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

  • iRegionID, iOutMessageID - ключ исходящего сообщения.

Если исходящее сообщение не существует, заблокировано или пользователь не имеет необходимых привилегий,
возникает exception.

RepeatFailedOutMsgCall

PROCEDURE RepeatFailedOutMsgCall(iRegionID PLS_INTEGER, iOutMessageID PLS_INTEGER);

Описание

Ставит исходящее сообщение, последняя отправка которого завершилась неудачно, в очередь на повторную отправку.
Выполняется только в том случае, если отправка сообщения ещё не запланирована, в противном случае заданное время
отправки остаётся без изменения.
Сообщение также не ставится в очередь на повторную отправку, если неудачных попыток не было или последняя попытка
отправки была успешной.
Параметры:

  • iRegionID, iOutMessageID - ключ исходящего сообщения.

Если исходящее сообщение не существует или заблокировано, возникает exception.

GetCallToProcessKeys

FUNCTION GetCallToProcessKeys(iiRegionIDs uszn.TIntegerList, iMaxRecordCount PLS_INTEGER) RETURN uszn.TRgnKeyList;

Описание

Возвращает список ключей записей об отправке сообщений, подлежащих обработке.
Параметры:

  • iiRegionIDs - список ID рабочих районов;
  • iMaxRecordCount - максимальное допустимое количество записей, которое возвращает функция.

Возвращается список ключей только тех записей, на обработку которых текущий пользователь имеет право.

GetOutMsgResultData

FUNCTION GetOutMsgResultData(iRegionID PLS_INTEGER, iCallID PLS_INTEGER, iStrictHasData PLS_INTEGER) RETURN BLOB;

Описание

Возвращает данные ответа на отправленное сообщение.
Параметры:

  • iRegionID, iCallID - ключ записи об отправке сообщения;
  • iStrictHasData - определяет поведение при отсутствии данных.

Запрос должен существовать и быть успешно отправлен.
Если данные ответа отсутствуют, возникает exception.

ProcessOutMsgResult

FUNCTION ProcessOutMsgResult(iRegionID PLS_INTEGER, iCallID PLS_INTEGER, iAudOriginID PLS_INTEGER, sAudNotes VARCHAR2 := NULL) RETURN PLS_INTEGER;

Описание

Обрабатывает результат запроса.
Параметры:

  • iRegionID, iCallID - ключ записи об отправке запроса;
  • iAudOriginID - ID источника события для аудита по документу;
  • sAudNotes - примечания для аудита по документу.

Запрос должен существовать и быть успешно отправлен.
Возвращает ID записи с информацией об обработке.

GetCallState

FUNCTION GetCallState(iRegionID PLS_INTEGER, iCallID PLS_INTEGER) RETURN uszn.pkSMEVCall.TCallState;

Описание

Возвращает состояние записи об отправке исходящего сообщения.
Параметры:

  • iRegionID, iCallID - ключ записи об отправке сообщения.

Если запись об отправке сообщения не существует, возникает exception.

GetCallProcessingState

FUNCTION GetCallProcessingState(iRegionID PLS_INTEGER, iCallProcessingID PLS_INTEGER) RETURN uszn.pkSMEVCall.TCallProcessingState;

Описание

Возвращает состояние записи об обработке отправленного исходящего сообщения.
Параметры:

  • iRegionID, iCallProcessingID - ключ записи об обработке отправленного сообщения.

Если запись об обработке отправленного сообщения не существует, возникает exception.

GetLastOutMsgCallID

FUNCTION GetLastOutMsgCallID(iRegionID PLS_INTEGER, iOutMessageID PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает ID последней записи отправки исходящего сообщения.
Параметры:

  • iRegionID, iOutMessageID - ключ исходящего сообщения.

Если сообщение ещё ни разу не отправлялось, возвращает null.
Если исходящее сообщение не существует, возникает exception.

GetLastOutMsgSendTime

FUNCTION GetLastOutMsgSendTime(iRegionID PLS_INTEGER, iOutMessageID PLS_INTEGER) RETURN DATE;

Описание

Возвращает дату и время последней попытки отправки исходящего сообщения.
Параметры:

  • iRegionID, iOutMessageID - ключ исходящего сообщения.

Если попыток отправки не было, возвращает null.
Если исходящее сообщение не существует, возникает exception.

GetLastFailedOutMsgCallCount

FUNCTION GetLastFailedOutMsgCallCount(iRegionID PLS_INTEGER, iOutMessageID PLS_INTEGER) RETURN PLS_INTEGER;

Описание

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

  • iRegionID, iOutMessageID - ключ исходящего сообщения.

Если сообщение ещё ни разу не отправлялось, возвращает 0.
Если исходящее сообщение не существует, возникает exception.