Документация 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
Описание
Генерирует 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
Описание
Проверяет отсутствие отрицательных групп сумм по заданной группировке. Если такие есть, генерирует 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.