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

pkMassOps.sql

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

Error_NoMassAmounts

PROCEDURE Error_NoMassAmounts;

Описание

Генерирует exception «Суммы не выбраны».

Error_NoPKindAmountsSelected

PROCEDURE Error_NoPKindAmountsSelected(iPKindRgnID PLS_INTEGER, iPKindID PLS_INTEGER);

Описание

Генерирует exception «Суммы по виду выплаты не выбраны».

Error_NegativeAsgMassAmounts

PROCEDURE Error_NegativeAsgMassAmounts(iiAsgIDs uszn.TIntegerList);

Описание

Генерирует exception «Отрицательные итоговые суммы по назначению».

Error_TooManyAddressesForPayee

PROCEDURE Error_TooManyAddressesForPayee(iPayeeCount PLS_INTEGER);

Описание

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

Error_NoPayoutDoc

PROCEDURE Error_NoPayoutDoc;

Описание

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

Error_TooManyPayoutDocs

PROCEDURE Error_TooManyPayoutDocs;

Описание

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

Error_PODocRepDateNotFound

PROCEDURE Error_PODocRepDateNotFound(iKindRgnID PLS_INTEGER, iKindID PLS_INTEGER, iPODocID PLS_INTEGER);

Описание

Генерирует exception «Не удаётся определить отчётную дату по виду выплаты на момент закрытия сумм».

Error_TooManyReportDates

PROCEDURE Error_TooManyReportDates(iPKindRgnID PLS_INTEGER, iPKindID PLS_INTEGER);

Описание

Генерирует exception «Выбранные суммы имеют разную отчётную дату».

Error_FormattingTotals

PROCEDURE Error_FormattingTotals(sMsg VARCHAR2);

Описание

Генерирует exception «Ошибка при форматировании итогов».

Смена отчётной даты

AdvanceRepDate

PROCEDURE AdvanceRepDate(
    iRegionID PLS_INTEGER, iPKindID PLS_INTEGER, iPKindRgnID PLS_INTEGER, iPeriodCount PLS_INTEGER,
    iAudOriginID PLS_INTEGER, sAudNotes VARCHAR2 := NULL, iAudMassOpID PLS_INTEGER := NULL);
 
/*********************************************************************************************************************
 Массовая оплата
*********************************************************************************************************************/
 
-- Производит выборку сумм из uszn.v_po_mass_amounts в uszn.r$_po_mass_amounts по указанным видам выплаты.
-- Параметры:
--   sKeyList            - список ключей видов выплат в следующем виде: (id1,region_id1),(id2,region_id2)...;
--   sWhereFilter        - фильтр для выплатных сумм;
--   iClearPODocID       - очищать ID документа оплаты (0-нет, 1-да);
--   iUsePODocReportDate - использовать ли отчётную дату по видам выплат, сохранённую для документов оплаты
--                         (0-нет, 1-да); игнорируется, если iClearPODocID!=0.
PROCEDURE MassAmounts_Select(iRegionID PLS_INTEGER, sKeyList VARCHAR2, sWhereFilter VARCHAR2, iClearPODocID PLS_INTEGER, iUsePODocReportDate PLS_INTEGER);
-- Применяет к выбранным в uszn.r$_po_mass_amounts суммам частичную оплату, уменьшая суммы в соответствии с заданными
-- условиями.
-- Параметры:
--   iRegionID              - ID района;
--   nRate                  - доля оплаты (от 0 до 1; 1 соответствует оплате 100%; в этом случае ничего не делает);

Описание

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

  • 1. Смена отчётной даты на заданное количество отчётных периодов.
  • 2. Перевод сумм со статусом «Начислено» в статус «Неоплата при смене отчётной даты».
  • 3. Приостановка активных выплат с истёкшим сроком по причине «По истечению срока выплаты».

Параметры:

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

Массовая оплата

MassAmounts_Select

PROCEDURE MassAmounts_Select(iRegionID PLS_INTEGER, sKeyList VARCHAR2, sWhereFilter VARCHAR2, iClearPODocID PLS_INTEGER, iUsePODocReportDate PLS_INTEGER);

Описание

Производит выборку сумм из uszn.v_po_mass_amounts в uszn.r$_po_mass_amounts по указанным видам выплаты.
Параметры:

  • sKeyList - список ключей видов выплат в следующем виде: (id1,region_id1),(id2,region_id2)...;
  • sWhereFilter - фильтр для выплатных сумм;
  • iClearPODocID - очищать ID документа оплаты (0-нет, 1-да);
  • iUsePODocReportDate - использовать ли отчётную дату по видам выплат, сохранённую для документов оплаты (0-нет, 1-да); игнорируется, если iClearPODocID!=0.

MassAmounts_ApplyPartial

PROCEDURE MassAmounts_ApplyPartial(iRegionID PLS_INTEGER, nRate NUMBER, iProportionalDeduction PLS_INTEGER);

Описание

Применяет к выбранным в uszn.r$_po_mass_amounts суммам частичную оплату, уменьшая суммы в соответствии с заданными
условиями.
Параметры:

  • iRegionID - ID района;
  • nRate - доля оплаты (от 0 до 1; 1 соответствует оплате 100%; в этом случае ничего не делает);
  • iProportionalDeduction - применять ли удержания пропорционально (1) или полностью (0).

MassAmounts_Close

FUNCTION MassAmounts_Close(
    iRegionID PLS_INTEGER, rkBasePWay uszn.TRgnKey, rkOrg uszn.TRgnKey, PKinds IN uszn.pkPayoutDoc.TPKindInfoList,
    dDocDate DATE, iDocNumber PLS_INTEGER, sDocNotes VARCHAR2, sNotes VARCHAR2,
    iAudOriginID PLS_INTEGER, sAudNotes VARCHAR2 := NULL, iAudMassOpID PLS_INTEGER := NULL) RETURN  PLS_INTEGER;

Описание

Закрывает выбранные в uszn.r$_po_mass_amounts суммы в r_po_amounts; возвращает ID созданного выплатного документа.
Параметры:

  • iRegionID - ID района;
  • rkBasePWay - ключ базового способа выплаты;
  • rkOrg - ключ организации, выполняющей оплату;
  • PKinds - список видов выплат с отчётной датой;
  • dDocDate - дата документа об оплате;
  • iDocNumber - номер документа об оплате;
  • sDocNotes - примечания к документу об оплате;
  • sNotes - примечания к документу об оплате;
  • iAudOriginID - ID источника события;
  • sAudNotes - примечания к аудиту;
  • iAudMassOpID - ID записи аудита массовой операции.

MassAmounts_Verify

PROCEDURE MassAmounts_Verify;

Описание

Корректирует в uszn.r$_po_mass_amounts суммы, не допуская превышения удержаний над начислениями. Параметры:.

MassAmounts_GenerateGuids

PROCEDURE MassAmounts_GenerateGuids(iRegionID PLS_INTEGER);

Описание

Генерирует GUID для всех сумм, выбранных для оплаты, и не имеющих его.
Параметры:

  • iRegionID - ID района, для которого выбраны суммы.

Проверки записей во временной таблице по различным критериям

MassAmounts_Check

PROCEDURE MassAmounts_Check;

Описание

Проверяет суммы в r$_po_mass_amounts в стандартном разрезе (назначение, способ выплаты, получатель, дата,

  • предмет назначения, товар/услуга, источник финансирования).

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

CheckPayrollGroupAmtPositive

PROCEDURE CheckPayrollGroupAmtPositive(sGroupBy VARCHAR2);

Описание

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

CheckPayrollPayeeAddressUnique

PROCEDURE CheckPayrollPayeeAddressUnique(iRegionID PLS_INTEGER);

Описание

Проверяет, чтобы в r$_po_mass_amounts не было получателей с несколькими назначениями на различные адреса. Если такие есть, генерирует exception.

CheckPKindRepDatesUnique

PROCEDURE CheckPKindRepDatesUnique(iPKindRgnID PLS_INTEGER := NULL, iPKindID PLS_INTEGER := NULL);

Описание

Проверяет уникальность выбранных в r$_po_mass_amounts отчётных дат в пределах вида выплаты. Если по какому-либо
виду выплаты имеются различные отчётные даты, вызывает соответствующий exception.
Параметры:

  • iPKindRgnID, iPKindID - ключ проверяемого вида выплаты. Если null, проверяются все выбранные виды выплат.

Выборки из временной таблицы массовой выплаты R$_PO_MASS_AMOUNTS

MassAmounts_Analyze

PROCEDURE MassAmounts_Analyze;

Описание

Выполняет пересчёт статистики по временной таблице сумм.

MassAmounts_GetRepDate

FUNCTION MassAmounts_GetRepDate(iPKindRgnID PLS_INTEGER, iPKindID PLS_INTEGER, iStrict PLS_INTEGER) RETURN DATE;

Описание

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

MassAmounts_FormatTotals

FUNCTION MassAmounts_FormatTotals(sTemplate VARCHAR2, iRegionID PLS_INTEGER, rkPKind uszn.TRgnKey, rkPKAF uszn.TRgnKey, iPWID PLS_INTEGER, iPPWID PLS_INTEGER, iPPPWID PLS_INTEGER, iTotalsLevel PLS_INTEGER, dCurrentDate DATE) RETURN VARCHAR2;

Описание

Возвращает итоги для платёжной ведомости на доставку.
Готовые итоги получаются путём замены макросов вида $Value$ в строке sTemplate на соответствующие значения.
iTotalsLevel - режим выдачи итогов:

  • 0 - по дню
  • 1 - по участку
  • 2 - по отделению
  • 3 - по всей ведомости

dCurrentDate - текущая дата с точки зрения расчёта сумм за текущее/прошлое время; если null - используется отчётная дата по виду выплаты.

MassAmounts_GetAsgCount

FUNCTION MassAmounts_GetAsgCount(iMode PLS_INTEGER, iRegionID PLS_INTEGER, rkPKind uszn.TRgnKey, rkPKAF uszn.TRgnKey := NULL, iPWayID PLS_INTEGER := NULL, iPPWayID PLS_INTEGER := NULL, iPPPWayID PLS_INTEGER := NULL, rkItem uszn.TRgnKey := NULL) RETURN PLS_INTEGER;

Описание

Возвращает общее количество назначений к оплате с использованием опционального фильтра по:

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

iMode:

  • null - общее количество
  • 0 - за текущее время
  • 1 - за прошлое время.

MassAmounts_GetAsgDates

FUNCTION MassAmounts_GetAsgDates(iAID PLS_INTEGER, rkPKAF uszn.TRgnKey := NULL, iPWID PLS_INTEGER := NULL, iPPWID PLS_INTEGER := NULL, iPPPWID PLS_INTEGER := NULL, rkItem uszn.TRgnKey := NULL) RETURN VARCHAR2;

Описание

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

MassAmounts_NeedTotals

FUNCTION MassAmounts_NeedTotals(rkPKind uszn.TRgnKey, rkPKAF uszn.TRgnKey, iPWID PLS_INTEGER, iPPWID PLS_INTEGER, iPPPWID PLS_INTEGER, iMode PLS_INTEGER) RETURN PLS_INTEGER;

Описание

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

  • 0 - по дню
  • 1 - по участку
  • 2 - по отделению
  • 3 - по всей ведомости.

MassAmounts_GetPayrollTotals

FUNCTION MassAmounts_GetPayrollTotals(iRegionID PLS_INTEGER, sWhere VARCHAR2, iCountMode PLS_INTEGER, iTimeMode PLS_INTEGER, dCurrentDate DATE) RETURN NUMBER;

Описание

Выполняет подсчёт количеств и сумм по временной таблице массовой выплаты R$_PO_MASS_AMOUNTS
iRegionID - район
sWhere - дополнительно задаваемое условие WHERE (без слова WHERE), накладываемое на учитываемые суммы
iCountMode - режим подсчёта:

  • 0 - сумма
  • 1 - количество назначений
  • 2 - количество субъектов назначения
  • 3 - количество получателей сумм
  • 4 - количество получателей в параметрах выплаты

iTimeMode - режим учёта по времени:

  • 0 - все суммы
  • 1 - за прошлое время
  • 2 - за текущее время

dCurrentDate - дата, начиная с которой считается текущее время (если null, то отчётная дата по виду выплаты)
Возвращает результат подсчёта.
При подсчёте количества учитываются только объекты, имеющие общую положительную сумму.

MassAmounts_GetPayoutDocID

FUNCTION MassAmounts_GetPayoutDocID(iStrict PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает ID документа об оплате у сумм, выбранных во временную таблицу. Если суммы не выбраны или принадлежат разным документам оплаты сумм, поведение определяется параметром iStrict.

MassAmounts_GetPayoutDocDate

FUNCTION MassAmounts_GetPayoutDocDate(iRegionID PLS_INTEGER, iStrict PLS_INTEGER) RETURN DATE;

Описание

Возвращает номер документа об оплате у сумм, выбранных во временную таблицу. Если суммы не выбраны или принадлежат разным документам оплаты сумм, поведение определяется параметром iStrict.

MassAmounts_GetPayoutDocNumber

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

Описание

Возвращает номер документа об оплате у сумм, выбранных во временную таблицу. Если суммы не выбраны или принадлежат разным документам оплаты сумм, поведение определяется параметром iStrict.

MassAmounts_GetPayoutDocNotes

FUNCTION MassAmounts_GetPayoutDocNotes(iRegionID PLS_INTEGER, iStrict PLS_INTEGER) RETURN VARCHAR2;

Описание

Возвращает описание документа об оплате у сумм, выбранных во временную таблицу. Если суммы не выбраны или принадлежат разным документам оплаты сумм, поведение определяется параметром iStrict.

GetPayeeAddressStr

FUNCTION GetPayeeAddressStr(iRegionID PLS_INTEGER, iPayeePCID PLS_INTEGER, iStrict PLS_INTEGER := 1) RETURN VARCHAR2;

Описание

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