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

pkPayoutDoc.sql

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

Error_NoPayoutDocKind

PROCEDURE Error_NoPayoutDocKind(iID PLS_INTEGER);

Описание

Генерирует exception «Вид выплатного документа не существует».

Error_DocKindNotSupported

PROCEDURE Error_DocKindNotSupported(iID PLS_INTEGER);

Описание

Генерирует exception «Операция не поддерживается для документа...».

Error_NoMassDocForBasePWay

PROCEDURE Error_NoMassDocForBasePWay(iRgnID PLS_INTEGER, iID PLS_INTEGER);

Описание

Генерирует exception «Для базового способа выплаты не задан вид массового выплатного документа».

Error_NoPayoutDoc

PROCEDURE Error_NoPayoutDoc(iRgnID PLS_INTEGER, iID PLS_INTEGER);

Описание

Генерирует exception «Документ оплаты сумм не найден».

Error_InvalidDeductionParams

PROCEDURE Error_InvalidDeductionParams(sMsg VARCHAR2);

Описание

Генерирует exception «Недопустимые параметры удержания сумм».

Error_DuplicatePODocNumber

PROCEDURE Error_DuplicatePODocNumber(iPODocKindID PLS_INTEGER, dDate DATE, iNumber PLS_INTEGER);

Описание

Генерирует exception «Обнаружен дубликат документа об оплате с номером ...».

Получение характеристик различных объектов

GetPayoutDocKindName

FUNCTION GetPayoutDocKindName(iID PLS_INTEGER, iStrict PLS_INTEGER := 0) RETURN VARCHAR2;

Описание

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

GetMassPayoutDocKindID

FUNCTION GetMassPayoutDocKindID(iBasePWayRgnID PLS_INTEGER, iBasePWayID PLS_INTEGER, iStrict PLS_INTEGER := 1) RETURN  PLS_INTEGER;

Описание

Возвращает ID вида массового выплатного документа по виду базового способа выплаты. Если базовый способ выплаты не существует, возникает exception. Если у базового способа выплаты не задан вид документа об оплате, то при iStrict=1 возникает exception, при iStrict=0 возвращает null.

GetPayoutDocKindID

FUNCTION GetPayoutDocKindID(iRegionID PLS_INTEGER, iID PLS_INTEGER, iStrict PLS_INTEGER) RETURN PLS_INTEGER;

Описание

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

GetPayoutDocName

FUNCTION GetPayoutDocName(iRegionID PLS_INTEGER, iID PLS_INTEGER, iStrict PLS_INTEGER) RETURN VARCHAR2;

Описание

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

GetPayoutDocDate

FUNCTION GetPayoutDocDate(iRegionID PLS_INTEGER, iID PLS_INTEGER, iStrict PLS_INTEGER) RETURN DATE;

Описание

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

GetPayoutDocNumber

FUNCTION GetPayoutDocNumber(iRegionID PLS_INTEGER, iID PLS_INTEGER, iStrict PLS_INTEGER) RETURN PLS_INTEGER;

Описание

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

GetPayoutDocNotes

FUNCTION GetPayoutDocNotes(iRegionID PLS_INTEGER, iID PLS_INTEGER, iStrict PLS_INTEGER) RETURN VARCHAR2;

Описание

Возвращает примечания к документу оплаты сумм. При отсутствии документа поведение определяется параметром iStrict.

Работа с документами об оплате

AllocateNewPayoutDoc

FUNCTION AllocateNewPayoutDoc(iRegionID PLS_INTEGER) RETURN PLS_INTEGER;

Описание

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

GetNextPayoutDocNumber

FUNCTION GetNextPayoutDocNumber(iRegionID PLS_INTEGER, iKindID PLS_INTEGER, dDate DATE) RETURN PLS_INTEGER;

Описание

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

CheckPODocNumNotExists

PROCEDURE CheckPODocNumNotExists(iRegionID PLS_INTEGER, iKindID PLS_INTEGER, dDate DATE, iNumber PLS_INTEGER);

Описание

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

  • iRegionID - район, в котором выполняется поиск;
  • iKindID - ID вида документа;
  • dDate - дата (округляется до года); документ ищется за указанный год.

CreatePayoutDoc

PROCEDURE CreatePayoutDoc(
  iRegionID PLS_INTEGER, iID PLS_INTEGER, iDocKindID PLS_INTEGER,
  iBasePWayRgnID PLS_INTEGER, iBasePWayID PLS_INTEGER, iOrgRgnID PLS_INTEGER, iOrgID PLS_INTEGER,
  PKinds IN TPKindInfoList, dDocDate DATE, iDocNumber PLS_INTEGER, sDocNotes VARCHAR2, sNotes VARCHAR2);
-- То же самое, но автоматически выделяет ID документа и возвращает его в качестве результата.
FUNCTION  CreatePayoutDoc(
  iRegionID PLS_INTEGER, iDocKindID PLS_INTEGER,
  iBasePWayRgnID PLS_INTEGER, iBasePWayID PLS_INTEGER, iOrgRgnID PLS_INTEGER, iOrgID PLS_INTEGER,
  PKinds IN TPKindInfoList, dDocDate DATE, iDocNumber PLS_INTEGER, sDocNotes VARCHAR2, sNotes VARCHAR2) RETURN PLS_INTEGER;

Описание

Создаёт документ об оплате.
Параметры:

  • iRegionID, iID - ключ документа;
  • iDocKindID - ID вида документа об оплате;
  • iBasePWayRgnID, iBasePWayID - ключ базового способа выплаты;
  • iOrgRgnID, iOrgID - ключ организации, сформировавшей документ;
  • PKinds - список ключей видов выплат с отчётными датами;
  • dDocDate - дата документа;
  • iDocNumber - номер документа;
  • sDocNotes - примечания к документу;
  • sNotes - дополнительные примечания; к ним автоматически будет добавлено полное наименование документа и список видов выплат.

CreatePayoutDoc

FUNCTION CreatePayoutDoc(
  iRegionID PLS_INTEGER, iDocKindID PLS_INTEGER,
  iBasePWayRgnID PLS_INTEGER, iBasePWayID PLS_INTEGER, iOrgRgnID PLS_INTEGER, iOrgID PLS_INTEGER,
  PKinds IN TPKindInfoList, dDocDate DATE, iDocNumber PLS_INTEGER, sDocNotes VARCHAR2, sNotes VARCHAR2) RETURN PLS_INTEGER;

Описание

То же самое, но автоматически выделяет ID документа и возвращает его в качестве результата.

PayoutDoc_LoadPKinds

FUNCTION PayoutDoc_LoadPKinds(iRegionID PLS_INTEGER, iID PLS_INTEGER) RETURN uszn.TRgnKeyList;

Описание

Загружает и возвращает список видов выплат для указанного выплатного документа.

PayoutDoc_LoadPKindsInfo

FUNCTION PayoutDoc_LoadPKindsInfo(iRegionID PLS_INTEGER, iID PLS_INTEGER) RETURN TPKindInfoList;

Описание

Загружает и возвращает информацию по видам выплат для указанного выплатного документа.

PayoutDoc_UpdateStatistics

PROCEDURE PayoutDoc_UpdateStatistics(iRegionID PLS_INTEGER, iID PLS_INTEGER);

Описание

Вычисляет и записывает в выплатной документ данные по суммам и количествам назначений и получателей.

PayoutDoc_SetFixed

PROCEDURE PayoutDoc_SetFixed(iRegionID PLS_INTEGER, iID PLS_INTEGER, iIsFixed PLS_INTEGER);

Описание

Устанавливает или сбрасывает у документа оплаты признак “зафиксирован”.

PayoutDoc_IsDenial

FUNCTION PayoutDoc_IsDenial(iRegionID PLS_INTEGER, iID PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает, является ли документ оплаты решением об отказе [в выдаче ТМЦ]. Если документ не существует, возвращает null.

Полная отмена (удаление) документа об оплате

PayoutDoc_Rollback

PROCEDURE PayoutDoc_Rollback(
    iRegionID PLS_INTEGER, iPayoutDocID PLS_INTEGER,
    iAudOriginID PLS_INTEGER, sAudNotes VARCHAR2 := NULL, iAudMassOpID PLS_INTEGER := NULL);
-- Устанавливает дату передачи сведений на оплату в платёжную организацию для сумм, оплаченных по указанному документу
-- оплаты.
-- Параметры:
--   iRegionID, iPayoutDocID - ключ документа оплаты сумм;
--   dDispatchDate           - задаваемая дата передачи сведений;
--   iUpdateExisting         - обновлять ли дату суммам, для которых она уже задана (0/1);
--   iAudOriginID            - ID источника события для аудита;
--   sAudNotes               - примечания для аудита;
--   iAudMassOpID            - ID записи аудита массовой операции.
-- Возвращает количество назначений, для которых была задана дата получения сумм.
FUNCTION  PayoutDoc_SetDispatchDate(
    iRegionID PLS_INTEGER, iPayoutDocID PLS_INTEGER, dDispatchDate DATE, iUpdateExisting PLS_INTEGER,
    iAudOriginID PLS_INTEGER, sAudNotes VARCHAR2 := NULL, iAudMassOpID PLS_INTEGER := NULL) RETURN PLS_INTEGER;

Описание

Выполняет отмену документа массовой оплаты:

  • меняет статусы сумм на предыдущие;
  • зануляет ссылку на выплатной документ, по которому были оплачены суммы;
  • удаляет документ массовой оплаты.

Параметры:

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

PayoutDoc_SetDispatchDate

FUNCTION PayoutDoc_SetDispatchDate(
    iRegionID PLS_INTEGER, iPayoutDocID PLS_INTEGER, dDispatchDate DATE, iUpdateExisting PLS_INTEGER,
    iAudOriginID PLS_INTEGER, sAudNotes VARCHAR2 := NULL, iAudMassOpID PLS_INTEGER := NULL) RETURN PLS_INTEGER;

Описание

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

  • iRegionID, iPayoutDocID - ключ документа оплаты сумм;
  • dDispatchDate - задаваемая дата передачи сведений;
  • iUpdateExisting - обновлять ли дату суммам, для которых она уже задана (0/1);
  • iAudOriginID - ID источника события для аудита;
  • sAudNotes - примечания для аудита;
  • iAudMassOpID - ID записи аудита массовой операции.

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

PayoutDoc_SetReceiptDate

FUNCTION PayoutDoc_SetReceiptDate(
    iRegionID PLS_INTEGER, iPayoutDocID PLS_INTEGER, dReceiptDate DATE, iUpdateExisting PLS_INTEGER,
    iAudOriginID PLS_INTEGER, sAudNotes VARCHAR2 := NULL, iAudMassOpID PLS_INTEGER := NULL) RETURN PLS_INTEGER;

Описание

Устанавливает дату получения сумм, оплаченных по указанному документу оплаты.
Параметры:

  • iRegionID, iPayoutDocID - ключ документа оплаты сумм;
  • dReceiptDate - задаваемая дата получения;
  • iUpdateExisting - обновлять ли дату суммам, для которых она уже задана (0/1);
  • iAudOriginID - ID источника события для аудита;
  • sAudNotes - примечания для аудита;
  • iAudMassOpID - ID записи аудита массовой операции.

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

Оплата сумм через разовое поручение

CloseOccasionalOrder

FUNCTION CloseOccasionalOrder(
    iRegionID PLS_INTEGER, iAssignedID PLS_INTEGER, iPayeeID PLS_INTEGER, iBasePWayRgnID PLS_INTEGER, iBasePWayID PLS_INTEGER,
    iPWDocID PLS_INTEGER, iCityID PLS_INTEGER, iStreetID PLS_INTEGER, sBldg VARCHAR2, sBulk VARCHAR2, sApt VARCHAR2,
    iAgentRgnID PLS_INTEGER, iAgentID PLS_INTEGER, Amounts uszn.TPayingAmountInfoList,
    dDocDate DATE, iDocNumber PLS_INTEGER, sDocNotes VARCHAR2,
    iAudOriginID PLS_INTEGER, sAudNotes VARCHAR2 := NULL, iAudMassOpID PLS_INTEGER := NULL,
    dDispatchDate DATE := NULL, dReceiptDate DATE := NULL) RETURN PLS_INTEGER;

Описание

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

  • iRegionID, iAssignedID - ключ назначения;
  • iPayeeID - ID получателя;
  • iBasePWayRgnID, iBasePWayID - ключ базового способа выплаты;
  • iPWDocID - ID персонального документа с параметрами выплаты (счёта в банке etc.);
  • iCityID - адрес: ID населённого пункта;
  • iStreetID - адрес: ID улицы;
  • sBldg, sBulk, sApt - адрес: дом, корпус, квартира;
  • iAgentRgnID, iAgentID - ключ агента, через которого осуществляется выплата;
  • Amounts - список ID сумм, подлежащих оплате;
  • dDocDate - дата документа оплаты;
  • iDocNumber - номер документа оплаты;
  • sDocNotes - примечания к документу оплаты;
  • iAudOriginID - ID источника события для аудита;
  • sAudNotes - примечания к аудиту;
  • iAudMassOpID - ID записи аудита массовой операции;
  • dDispatchDate - дата отправки сведений для оплаты в платёжную организацию;
  • dReceiptDate - дата получения получателем.

Возвращает ID созданного документа оплаты сумм (разового поручения).

Возврат сумм через приходный кассовый ордер

CloseIncomingCashOrder

FUNCTION CloseIncomingCashOrder(
    iRegionID PLS_INTEGER, iDeductionID PLS_INTEGER, nTotalAmount NUMBER, Conditions IN TDeductionConditionList, Periods IN uszn.TDateList, iStatusID PLS_INTEGER,
    iPayeeID PLS_INTEGER, iBasePWayRgnID PLS_INTEGER, iBasePWayID PLS_INTEGER,
    iPWDocID PLS_INTEGER, iCityID PLS_INTEGER, iStreetID PLS_INTEGER, sBldg VARCHAR2, sBulk VARCHAR2, sApt VARCHAR2,
    iAgentRgnID PLS_INTEGER, iAgentID PLS_INTEGER,
    dDocDate DATE, iDocNumber PLS_INTEGER, sDocNotes VARCHAR2,
    iAudOriginID PLS_INTEGER, sAudNotes VARCHAR2 := NULL, iAudMassOpID PLS_INTEGER := NULL) RETURN PLS_INTEGER;

Описание

Выполняет возврат сумм переплаты по указанному удержанию.
Параметры:

  • iRegionID, iDeductionID - ключ удержания, по которому осуществляется возврат сумм;
  • nTotalAmount - общая возвращаемая сумма;
  • Conditions - список условий, накладываемых на суммы, подлежащие возврату; если список пустой: • для удержания переплаты возврату подлежат только суммы по предмету назначения и источнику финансирования, по которым возникла переплата; • для прочих видов удержаний возврату подлежат любые оплаченные суммы;
  • Periods - список периодов выплаты, суммы которых можно возвращать; если список пустой, возвращаются суммы за любой период (обрабатываются в порядке убывания даты периода);
  • iStatusID - ID состояния, присваемого возвращаемым суммам;
  • iPayeeID - ID плательщика (записывается в качестве «получателя» возвращаемых сумм);
  • iBasePWayRgnID, iBasePWayID - ключ базового способа выплаты;
  • iPWDocID, iCityID, iStreetID, sBldg, sBulk, sApt - выплатные реквизиты (документ с выплатными реквизитами и адрес доставки);
  • iAgentRgnID, iAgentID - ключ агента, через которого осуществляется возврат (null, если не используется);
  • dDocDate - дата приходного кассового ордера;
  • iDocNumber - номер приходного кассового ордера;
  • sDocNotes - примечания к приходному кассовому ордеру;
  • iAudOriginID - ID источника события для аудита;
  • sAudNotes - примечания для записи аудита;
  • iAudMassOpID - ID записи аудита массовой операции (null, если не используется).

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

Выдача ТМЦ / оказание услуг

CreateDecisionDoc

FUNCTION CreateDecisionDoc(
  iRegionID PLS_INTEGER, iAssignedID PLS_INTEGER, iOrgRgnID PLS_INTEGER, iOrgID PLS_INTEGER,
  dDocDate DATE, iDocNumber PLS_INTEGER, sDocNotes VARCHAR2, iDocKindID PLS_INTEGER,
  iAudOriginID PLS_INTEGER, sAudNotes VARCHAR2 := NULL, iAudMassOpID PLS_INTEGER := NULL) RETURN PLS_INTEGER;

Описание

Создаёт решение о выдаче ТМЦ / оказании услуг для указанного назначения.
Параметры:

  • iRegionID, iAssignedID - ключ назначения;
  • iOrgRgnID, iOrgID - ключ организации, выпускающей документ;
  • dDocDate - дата документа;
  • iDocNumber - номер документа
  • sDocNotes - примечания к документу;
  • iDocKindID - ID вида документа оплаты сумм; константа из числа IDocKindID_xxx; вид документа должен иметь is_decision_doc=1;
  • iAudOriginID - ID источника события для аудита;
  • sAudNotes - примечания для записи аудита;
  • iAudMassOpID - ID записи аудита массовой операции (null, если не используется).

Возвращает ID созданного документа.

Decision_UpdateStatistics

PROCEDURE Decision_UpdateStatistics(iRegionID PLS_INTEGER, iID PLS_INTEGER);

Описание

Вычисляет и записывает в решение данные по суммам и количествам назначений и получателей.

CloseGiveOutAct

FUNCTION CloseGiveOutAct(
    iRegionID PLS_INTEGER, iAssignedID PLS_INTEGER, iOrgRgnID PLS_INTEGER, iOrgID PLS_INTEGER, iEmployeeID PLS_INTEGER,
    iPayeeID PLS_INTEGER, iBasePWayRgnID PLS_INTEGER, iBasePWayID PLS_INTEGER,
    iPWDocID PLS_INTEGER, iCityID PLS_INTEGER, iStreetID PLS_INTEGER, sBldg VARCHAR2, sBulk VARCHAR2, sApt VARCHAR2,
    iAgentRgnID PLS_INTEGER, iAgentID PLS_INTEGER, POItemIDs uszn.TIntegerList,
    dDocDate DATE, iDocNumber PLS_INTEGER, sDocNotes VARCHAR2, iDocKindID PLS_INTEGER,
    iAudOriginID PLS_INTEGER, sAudNotes VARCHAR2 := NULL, iAudMassOpID PLS_INTEGER := NULL) RETURN PLS_INTEGER;

Описание

Выполняет оплату сумм по указанному назначению путём формирования акта выдачи ТМЦ.
Суммы оплачиваются по указанному способу выплаты.
Параметры:

  • iRegionID, iAssignedID - ключ назначения;
  • iOrgRgnID, iOrgID - ключ организации, выпускающей документ;
  • iEmployeeID - ID специалиста, осуществляющего выдачу;
  • iPayeeID - ID получателя;
  • iBasePWayRgnID, iBasePWayID - ключ базового способа выплаты;
  • iPWDocID - ID персонального документа с параметрами выплаты (счёта в банке etc.);
  • iCityID - адрес: ID населённого пункта;
  • iStreetID - адрес: ID улицы;
  • sBldg, sBulk, sApt - адрес: дом, корпус, квартира;
  • iAgentRgnID, iAgentID - ключ агента, через которого осуществляется выплата;
  • POItemIDs - список ID выплатных предметов назначения, подлежащих выдаче;
  • dDocDate - дата акта выдачи ТМЦ;
  • iDocNumber - номер акта выдачи ТМЦ;
  • sDocNotes - примечания к акту выдачи ТМЦ;
  • iDocKindID - ID вида документа оплаты сумм; константа из числа IDocKindID_xxx; вид документа должен иметь is_give_out_doc=1;
  • iAudOriginID - ID источника события для аудита;
  • sAudNotes - примечания к аудиту;
  • iAudMassOpID - ID записи аудита массовой операции.

Возвращает ID созданного документа оплаты сумм (акта выдачи ТМЦ).

CloseGiveOutDenial

FUNCTION CloseGiveOutDenial(
  iRegionID PLS_INTEGER, iAssignedID PLS_INTEGER, iOrgRgnID PLS_INTEGER, iOrgID PLS_INTEGER,
  POItemIDs uszn.TIntegerList, iNewStatusID PLS_INTEGER,
  dDocDate DATE, iDocNumber PLS_INTEGER, sDocNotes VARCHAR2, iDocKindID PLS_INTEGER,
  iAudOriginID PLS_INTEGER, sAudNotes VARCHAR2 := NULL, iAudMassOpID PLS_INTEGER := NULL) RETURN PLS_INTEGER;

Описание

Переводит суммы по указанному назначению в состояние путём формирования решения об отказе в выдаче ТМЦ.
Параметры:

  • iRegionID, iAssignedID - ключ назначения;
  • iOrgRgnID, iOrgID - ключ организации, выпускающей документ;
  • POItemIDs - список ID выплатных предметов назначения, по которым оформляется отказ в выдаче;
  • dDocDate - дата решения;
  • iDocNumber - номер решения;
  • sDocNotes - примечания к решению;
  • iDocKindID - ID вида документа оплаты сумм; константа из числа IDocKindID_xxx; вид документа должен иметь is_give_out_doc=1 и is_denial=1;
  • iAudOriginID - ID источника события для аудита;
  • sAudNotes - примечания к аудиту;
  • iAudMassOpID - ID записи аудита массовой операции.

Возвращает ID созданного документа оплаты сумм (решения об отказе в выдаче ТМЦ).

Работа с временной таблицей документов об оплате сумм R$_SELECTED_PAYOUT_DOCS

SelectPayoutDocs

PROCEDURE SelectPayoutDocs(PayoutDocRKeys IN uszn.TRgnKeyList, iResetSelection PLS_INTEGER := 1);

Описание

Выбирает ключи перечисленных документов об оплате сумм в r$_selected_payout_docs.

  • iResetSelection - очистить таблицу перед выборкой (0 = добавлять к уже выбранному).

AnalyzeSelectedPayoutDocs

PROCEDURE AnalyzeSelectedPayoutDocs;

Описание

Собирает статистику по таблице r$_selected_payout_docs.

Разное

LoadPKindsInfo

FUNCTION LoadPKindsInfo(iRegionID PLS_INTEGER, sKeyList VARCHAR2) RETURN TPKindInfoList;

Описание

Загружает и возвращает информацию по перечисленным видам выплат в указанном районе.
Виды выплат перечисляются в sKeyList в следующем виде:

  • (id1,region_id1),(id2,region_id2).....

LoadPKindsInfo

FUNCTION LoadPKindsInfo(iRegionID PLS_INTEGER, iPKindRgnID PLS_INTEGER, iPKindID PLS_INTEGER) RETURN TPKindInfoList;

Описание

Загружает и возвращает в виде списка из одного элемента информацию по указанному виду выплаты.

CheckPKindsInfo

PROCEDURE CheckPKindsInfo(iRegionID PLS_INTEGER, PKinds IN TPKindInfoList, iCheckRepDate PLS_INTEGER := 1, iCheckPriv PLS_INTEGER := NULL);

Описание

Проверяет информацию о видах выплат: iCheckRepDate - проверять ли наличие отчётной даты (1 - да, 0 - нет) iCheckPriv - проверяемые привилегии (null - не проверять).