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

pkPerson.sql

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

Error_InvalidDocClass

PROCEDURE Error_InvalidDocClass(iClassID PLS_INTEGER);

Описание

Вызывает ошибку «Класс документа не найден».

Error_InvalidCollClass

PROCEDURE Error_InvalidCollClass(iClassID PLS_INTEGER);

Описание

Вызывает ошибку «Класс коллектива не найден».

Error_InvalidPDocFileKind

PROCEDURE Error_InvalidPDocFileKind(iFileKindID PLS_INTEGER);

Описание

Вызывает ошибку «Вид файла персонального документа не найден».

Error_InvalidPCFileKind

PROCEDURE Error_InvalidPCFileKind(iFileKindID PLS_INTEGER);

Описание

Вызывает ошибку «Вид файла человека/коллектива не найден».

Error_NoDocInstance

PROCEDURE Error_NoDocInstance(iRegionID PLS_INTEGER, iDIID PLS_INTEGER);

Описание

Вызывает ошибку «Экземпляр документа не найден».

Error_NoDocInstanceReq

PROCEDURE Error_NoDocInstanceReq(iRegionID PLS_INTEGER, iID PLS_INTEGER);

Описание

Вызывает ошибку «Реквизит документа не найден».

Error_NoPDocFile

PROCEDURE Error_NoPDocFile(iRegionID PLS_INTEGER, iID PLS_INTEGER);

Описание

Вызывает ошибку «Файл персонального документа не существует».

Error_NoPCFile

PROCEDURE Error_NoPCFile(iRegionID PLS_INTEGER, iID PLS_INTEGER);

Описание

Вызывает ошибку «Файл человека/коллектива не существует».

Error_PCDoesDotExist

PROCEDURE Error_PCDoesDotExist(iRegionID PLS_INTEGER, iPCID PLS_INTEGER);

Описание

Вызывает ошибку «Человек/коллектив не существует».

Error_NotACollInstance

PROCEDURE Error_NotACollInstance(iRegionID PLS_INTEGER, iPCID PLS_INTEGER);

Описание

Вызывает ошибку «Запись ... не является экземпляром коллектива».

Error_NotAPerson

PROCEDURE Error_NotAPerson(iRegionID PLS_INTEGER, iPCID PLS_INTEGER);

Описание

Вызывает ошибку «Запись ... не является экземпляром человека».

Error_NoMainPersonIdentity

PROCEDURE Error_NoMainPersonIdentity(iRegionID PLS_INTEGER, iPCID PLS_INTEGER);

Описание

Вызывает ошибку «Основной ДУЛ человека не задан».

Error_PDocIsNotIdentity

PROCEDURE Error_PDocIsNotIdentity(iRegionID PLS_INTEGER, iDocInstanceID PLS_INTEGER);

Описание

Вызывает ошибку «Документ не является документом, удостоверяющим личность».

Error_MultipleDocClassInstance

PROCEDURE Error_MultipleDocClassInstance(iDocClassID PLS_INTEGER);

Описание

Вызывает exception «Нельзя создавать более одного экземпляра документа данного класса».

Error_NoDocReqWithAttrib

PROCEDURE Error_NoDocReqWithAttrib(iDocClassID PLS_INTEGER, iAttribID PLS_INTEGER);

Описание

Вызывает ошибку «В документе ... отсутствуют реквизиты с атрибутом...».

Error_TooManyDocReqsWithAttrib

PROCEDURE Error_TooManyDocReqsWithAttrib(iDocClassID PLS_INTEGER, iAttribID PLS_INTEGER);

Описание

Вызывает ошибку «В документе ... имеется несколько реквизитов с атрибутом...».

Error_NoDocReqValue

PROCEDURE Error_NoDocReqValue(iRegionID PLS_INTEGER, iDocInstanceID PLS_INTEGER, iReqClassID PLS_INTEGER);

Описание

Вызывает ошибку «Значение реквизита экземпляра персонального документа не найдено».

Error_TooManyDocReqValues

PROCEDURE Error_TooManyDocReqValues(iRegionID PLS_INTEGER, iDocInstanceID PLS_INTEGER, iReqClassID PLS_INTEGER);

Описание

Вызывает ошибку «Несколько значений реквизита экземпляра персонального документа».

Error_NoPCReqValue

PROCEDURE Error_NoPCReqValue(iRegionID PLS_INTEGER, iPCID PLS_INTEGER, iReqClassID PLS_INTEGER);

Описание

Вызывает ошибку «Отсутствует значение реквизита у человека/коллектива».

Error_TooManyPCReqValues

PROCEDURE Error_TooManyPCReqValues(iRegionID PLS_INTEGER, iPCID PLS_INTEGER, iReqClassID PLS_INTEGER);

Описание

Вызывает ошибку «Слишком много значений реквизита у человека/коллектива».

Error_NoPCDocInstance

PROCEDURE Error_NoPCDocInstance(iRegionID PLS_INTEGER, iPCID PLS_INTEGER, iDocClassID PLS_INTEGER);

Описание

Вызывает ошибку «Отсутствует экземпляр документа у человека/коллектива».

Error_TooManyPCDocInstances

PROCEDURE Error_TooManyPCDocInstances(iRegionID PLS_INTEGER, iPCID PLS_INTEGER, iDocClassID PLS_INTEGER);

Описание

Вызывает ошибку «Слишком много экземпляров документа у человека/коллектива».

Error_ReqsFromDifferentDocs

PROCEDURE Error_ReqsFromDifferentDocs(iReqClassIDs uszn.TIntegerList);

Описание

Вызывает ошибку «Реквизиты ... принадлежат разным документам».

Error_NotADocument

PROCEDURE Error_NotADocument(iClassID PLS_INTEGER);

Описание

Вызывает ошибку «Элемент структуры персонального документа не является документом».

Error_NotAStorage

PROCEDURE Error_NotAStorage(iClassID PLS_INTEGER);

Описание

Вызывает ошибку «Элемент структуры персонального документа не является ни документом, ни таблицей».

Error_NotATable

PROCEDURE Error_NotATable(iClassID PLS_INTEGER);

Описание

Вызывает ошибку «Элемент структуры персонального документа не является таблицей».

Error_NotAReq

PROCEDURE Error_NotAReq(iClassID PLS_INTEGER);

Описание

Вызывает ошибку «Элемент структуры персонального документа не является реквизитом».

Error_NotATableReq

PROCEDURE Error_NotATableReq(iClassID PLS_INTEGER);

Описание

Вызывает ошибку «Элемент структуры персонального документа не является табличным реквизитом».

Error_NotALookupReq

PROCEDURE Error_NotALookupReq(iClassID PLS_INTEGER);

Описание

Вызывает ошибку «Элемент структуры персонального документа не является lookup-реквизитом».

Error_NotAChildReqClass

PROCEDURE Error_NotAChildReqClass(iOwnerClassID PLS_INTEGER, iClassID PLS_INTEGER);

Описание

Вызывает ошибку «Элемент структуры персонального документа не является дочерним элементом...».

Error_StorageWithoutReqs

PROCEDURE Error_StorageWithoutReqs(iClassID PLS_INTEGER);

Описание

Вызывает ошибку «Документ или таблица не содержит реквизитов».

Проверки структуры классов персональных документов

CheckPDocClassOwnerValid

PROCEDURE CheckPDocClassOwnerValid(iOwnerClassID PLS_INTEGER, iClassID PLS_INTEGER);

Описание

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

Привилегии на работу с данными людей/коллективов

GetUserGroupPCPrivs

FUNCTION GetUserGroupPCPrivs(iUserGroupID PLS_INTEGER, iIsPermission PLS_INTEGER) RETURN PLS_INTEGER;

Описание

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

  • iUserGroupID - ID группы пользователей;
  • iIsPermission - какой вид привилегий требуется получить: 0 - запрещение, 1 - разрешение.

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

SetUserGroupPCPrivs

PROCEDURE SetUserGroupPCPrivs(iUserGroupID PLS_INTEGER, iPermittedPrivs PLS_INTEGER, iRestrictedPrivs PLS_INTEGER);

Описание

Устанавливает привилегии группы пользователей на работу с данными людей/коллективов.
Параметры:

  • iUserGroupID - ID группы пользователей;
  • iPermittedPrivs - набор разрешений в виде битовой маски;
  • iRestrictedPrivs - набор запрещений в виде битовой маски.

GetPCUserPrivs

FUNCTION GetPCUserPrivs(sUserName VARCHAR2 := USER) RETURN PLS_INTEGER;

Описание

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

CheckPCPrivs

PROCEDURE CheckPCPrivs(iPrivs PLS_INTEGER, sOperation VARCHAR2 := NULL);

Описание

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

  • iPrivs - сумма битовых флагов проверяемых привилегий.

Привилегии на персональные документы

GetUserGroupPDocPrivs

FUNCTION GetUserGroupPDocPrivs(iUserGroupID PLS_INTEGER, iPDocClassID PLS_INTEGER, iPrivSubjectID PLS_INTEGER, iIsPermission PLS_INTEGER) RETURN PLS_INTEGER;

Описание

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

  • iUserGroupID - ID группы пользователей;
  • iPDocClassID - ID класса персонального документа;
  • iPrivSubjectID - ID субъекта предоставления привилегий;
  • iIsPermission - какой вид привилегий требуется получить: 0 - запрещение, 1 - разрешение.

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

SetUserGroupPDocPrivs

PROCEDURE SetUserGroupPDocPrivs(iUserGroupID PLS_INTEGER, iPDocClassID PLS_INTEGER, iPrivSubjectID PLS_INTEGER, iIsPermission PLS_INTEGER, iPrivileges PLS_INTEGER);

Описание

Устанавливает привилегии группы пользователей на экземпляры документов указанного класса.
Параметры:

  • iUserGroupID - ID группы пользователей;
  • iPDocClassID - ID класса персонального документа;
  • iPrivSubjectID - ID субъекта предоставления привилегий;
  • iIsPermission - какой вид привилегий требуется получить: 0 - запрещение, 1 - разрешение.
  • iPrivileges - набор привилегий в виде битовой маски.

GetMinPDocClassUserPrivs

FUNCTION GetMinPDocClassUserPrivs(iPDocClassID PLS_INTEGER, sUserName VARCHAR2 := USER) RETURN PLS_INTEGER;

Описание

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

GetMaxPDocClassUserPrivs

FUNCTION GetMaxPDocClassUserPrivs(iPDocClassID PLS_INTEGER, sUserName VARCHAR2 := USER) RETURN PLS_INTEGER;

Описание

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

GetDocInstanceUserPrivs

FUNCTION GetDocInstanceUserPrivs(iRegionID PLS_INTEGER, iDocInstanceID PLS_INTEGER, sUserName VARCHAR2 := USER) RETURN PLS_INTEGER;

Описание

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

CheckMinPDocClassPrivs

PROCEDURE CheckMinPDocClassPrivs(iPDocClassID PLS_INTEGER, iPrivs PLS_INTEGER, sOperation VARCHAR2 := NULL);

Описание

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

  • iPDocClassID - ID класса документа;
  • iPrivs - набор привилегий в виде битовой маски; если хоть какой-нибудь привилегии нет, возникает exception;
  • sOperation - наименование выполняемой операции для отображения в сообщении об ошибке.

CheckMaxPDocClassPrivs

PROCEDURE CheckMaxPDocClassPrivs(iPDocClassID PLS_INTEGER, iPrivs PLS_INTEGER, sOperation VARCHAR2 := NULL);

Описание

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

  • iPDocClassID - ID класса документа;
  • iPrivs - набор привилегий в виде битовой маски; если хоть какой-нибудь привилегии нет, возникает exception;
  • sOperation - наименование выполняемой операции для отображения в сообщении об ошибке.

CheckDocInstancePrivs

PROCEDURE CheckDocInstancePrivs(iRegionID PLS_INTEGER, iDocInstanceID PLS_INTEGER, iPrivs PLS_INTEGER, sOperation VARCHAR2 := NULL);

Описание

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

  • iRegionID, iDocInstanceID - ключ экземпляра документа;
  • iPrivs - набор привилегий в виде битовой маски; если хоть какой-нибудь привилегии нет, возникает exception;
  • sOperation - наименование выполняемой операции для отображения в сообщении об ошибке.

CheckDocInstanceReqValuesAvail

PROCEDURE CheckDocInstanceReqValuesAvail(iRegionID PLS_INTEGER, iDocInstanceID PLS_INTEGER);

Описание

Проверяет доступность значений реквизитов данного экземпляра персонального документа для просмотра. Пока проверяем только право на просмотр наличия и просмотр значений реквизитов экземпляров документов, на которые ссылаются реквизиты типа «Ссылка на экземпляр документа».

CheckLookupIsNotUsed

PROCEDURE CheckLookupIsNotUsed(iRegionID PLS_INTEGER, iAttribID PLS_INTEGER, iLookupValueID PLS_INTEGER, sEntityName VARCHAR2);

Описание

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

  • iRegionID - ID района персональных документов;
  • iAttribID - ID атрибута проверяемых реквизитов;
  • iLookupValueID - ID значения lookup-реквизита;
  • sEntityName - наименование сущности (используется в сообщении об ошибке).

CheckLookupEntityIsNotUsed

PROCEDURE CheckLookupEntityIsNotUsed(iRegionID PLS_INTEGER, iEntityID PLS_INTEGER, iLookupValueID PLS_INTEGER);

Описание

Проверяет, что в персональных документах отсутствуют lookup-реквизиты с указанным значением сущности.
Если такие реквизиты имеются, вызывает exception со списком классов документов, содержащих реквизит.
Параметры:

  • iRegionID - ID района персональных документов;
  • iEntityID - ID сущности, используемой при импорте XML-дампов людей/коллективов;
  • iLookupValueID - ID значения lookup-реквизита;
  • sLookupName - наименование lookup-реквизита (используется в сообщении об ошибке).

Документы

GetPDocTableLevel

FUNCTION GetPDocTableLevel(iClassID PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает уровень вложенности таблицы для указанного реквизита.

GetDocClassName

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

Описание

Возвращает наименование класса документа iID.

GetDocClassAbbrName

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

Описание

Возвращает краткое (или полное, если краткое отсутствует) наименование класса документа iID.

DocInstanceExists

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

Описание

Проверяет, существует ли экземпляр персонального документа. Возвращает 1, если существует, в противном случае 0.

CheckDocInstanceExists

PROCEDURE CheckDocInstanceExists(iRegionID PLS_INTEGER, iID PLS_INTEGER);

Описание

Проверяет существование экземпляра персонального документа; при отсутствии такого экземпляра вызывает exception.

GetDocInstanceClass

FUNCTION GetDocInstanceClass(iDocInstanceID PLS_INTEGER, iRegionID PLS_INTEGER, iStrict PLS_INTEGER := 1) RETURN PLS_INTEGER;

Описание

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

GetDocInstancePC

FUNCTION GetDocInstancePC(iDocInstanceID PLS_INTEGER, iRegionID PLS_INTEGER, iStrict PLS_INTEGER := 1) RETURN PLS_INTEGER;

Описание

Возвращает ID человека/коллектива, являющегося владельцем документа iDocInstanceID. iStrict определяет поведение при отсутствии экземпляра документа.

GetDocInstanceClassAndPC

PROCEDURE GetDocInstanceClassAndPC(iRegionID PLS_INTEGER, iDocInstanceID PLS_INTEGER, iDocClassID OUT PLS_INTEGER, iPeopleCollID OUT PLS_INTEGER, iStrict PLS_INTEGER := 1);

Описание

Возвращает в out-параметрах ID класса экземпляра документа iDocInstanceID, а также ID его владельца. iStrict определяет поведение при отсутствии экземпляра документа.

GetDocInstanceClassAndOwners

PROCEDURE GetDocInstanceClassAndOwners(iRegionID PLS_INTEGER, iDocInstanceID PLS_INTEGER, iDocClassID OUT PLS_INTEGER, iPeopleCollID OUT PLS_INTEGER, sOwnerUser OUT VARCHAR2, rOwnerUserGroupGUID OUT RAW, iStrict PLS_INTEGER := 1);

Описание

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

  • iRegionID, iDocInstanceID - ключ экземпляра;

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

  • iDocClassID - ID класса документа;
  • iPeopleCollID - ID человека/коллектива - владельца документа;
  • sOwnerUser - имя пользователя-владельца;
  • rOwnerUserGroupGUID - GUID группы-владельца.

iStrict определяет поведение при отсутствии экземпляра документа.

GetDocInstanceID

FUNCTION GetDocInstanceID(iRegionID PLS_INTEGER, iPCID PLS_INTEGER, iDocClassID PLS_INTEGER, iStrictNotFound PLS_INTEGER, iStrictMultiple PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает ID экземпляра персонального документа для указанного человека/коллектива.
Параметры:

  • iRegionID, iPCID - ключ человека/коллектива;
  • iDocClassID - ID класса документа;
  • iStrictNotFound - определяет поведение при отсутствии экземпляра документа;
  • iStrictMultiple - определяет поведение при наличии более одного экземпляра документа.

GetDocInstanceIDsByReqValue

FUNCTION GetDocInstanceIDsByReqValue(iRegionID PLS_INTEGER, iPCID PLS_INTEGER, iDocClassID PLS_INTEGER, ssRecValues IN uszn.pkGen.TStrings255) RETURN uszn.TIntegerList;

Описание

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

  • iRegionID, iPCID - ключ человека/коллектива, у которого ищутся документы;
  • iDocClassID - ID класса документа;
  • ssRecValues - список значений поисковых реквизитов; индекс - ID класса, значение - искомое значение.

GetPDocIDsByReqValueForRegion

FUNCTION GetPDocIDsByReqValueForRegion(iRegionID PLS_INTEGER, iDocClassID PLS_INTEGER, ssRecValues IN uszn.pkGen.TStrings255, iOwnerClassID PLS_INTEGER := NULL) RETURN uszn.TIntegerList;

Описание

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

  • iRegionID - район, в котором ищутся документы;
  • iDocClassID - ID класса документа;
  • ssRecValues - список значений поисковых реквизитов; индекс - ID класса, значение - искомое значение;
  • iOwnerClassID - ID класса владельца (null - все люди и коллективы, 0 - люди, иначе коллективы с таким ID класса).

GetLastDocInstanceID

FUNCTION GetLastDocInstanceID(iRegionID PLS_INTEGER, iPCID PLS_INTEGER, iDocClassID PLS_INTEGER, iStrict PLS_INTEGER := 1) RETURN PLS_INTEGER;

Описание

Возвращает максимальный ID экземпляра документа класса iDocClassID для человека/коллектива iPCID. iStrict определяет поведение при отсутствии экземпляра документа.

GetDocNameByReq

FUNCTION GetDocNameByReq(iReqClassID PLS_INTEGER) RETURN VARCHAR2;

Описание

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

GetDocReqName

FUNCTION GetDocReqName(iReqClassID PLS_INTEGER, iIncludeDocName PLS_INTEGER, iStrict PLS_INTEGER := 1) RETURN VARCHAR2;

Описание

Возвращает полное наименование реквизита документа. При iIncludeDocName=0 наименование самого документа не включается в строку результата.

GetFullDocReqName

FUNCTION GetFullDocReqName(iReqClassID PLS_INTEGER, iIncludeStorageName PLS_INTEGER, iStrict PLS_INTEGER := 1) RETURN VARCHAR2;

Описание

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

GetDocReqClassID

FUNCTION GetDocReqClassID(iRegionID PLS_INTEGER, iID PLS_INTEGER, iStrict PLS_INTEGER := 0) RETURN PLS_INTEGER;

Описание

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

GetDocReqClassIDByAttrib

FUNCTION GetDocReqClassIDByAttrib(iDocClassID PLS_INTEGER, iAttribID PLS_INTEGER, iStrict PLS_INTEGER := 1) RETURN PLS_INTEGER;

Описание

Возвращает class_id реквизита документа, имеющего заданный атрибут.
Параметры:

  • iDocClassID - ID класса элемента структуры документов, для которого (у него и среди его дочерних реквизитов) осуществляется поиск;
  • iAttribID - ID атрибута;
  • iStrict - определяет поведение при отсутствии такого реквизита и при неоднозначном соответствии.

DocClassHasAttrib

FUNCTION DocClassHasAttrib(iDocClassID PLS_INTEGER, iAttribID PLS_INTEGER, iStrict PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает, имеет ли указанный элемент структуры документа заданный атрибут.
Параметры:

  • iDocClassID - ID класса элемента структуры документов, для которого осуществляется поиск;
  • iAttribID - ID атрибута;
  • iStrict - определяет поведение при отсутствии такого элемента структуры.

Если атрибут имеется, возвращает 1, иначе 0.

GetPDocUniqueKeyReqIDs

FUNCTION GetPDocUniqueKeyReqIDs(iStorageClassID PLS_INTEGER) RETURN uszn.TIntegerList;

Описание

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

  • iStorageClassID - ID класса документа или таблицы документа, среди реквизитов которого выполняется поиск.

GetDocClsIDByReq

FUNCTION GetDocClsIDByReq(iReqClassID PLS_INTEGER, iStrict PLS_INTEGER := 0) RETURN PLS_INTEGER;

Описание

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

GetDocClsIDByReqs

FUNCTION GetDocClsIDByReqs(iReqClassIDs uszn.TIntegerList) RETURN PLS_INTEGER;

Описание

Возвращает ID класса документа, к которому принадлежат все реквизиты iReqClassID.

GetPDocTableClsIDForReq

FUNCTION GetPDocTableClsIDForReq(iReqClassID PLS_INTEGER, iStrict PLS_INTEGER := 0) RETURN PLS_INTEGER;

Описание

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

GetStorageClassID

FUNCTION GetStorageClassID(iReqClassID PLS_INTEGER, iSkipLevelCount PLS_INTEGER := 0) RETURN PLS_INTEGER;

Описание

То же самое, что GetPDocTableClsIDForReq, но для нетабличных реквизитов возвращает ID класса документа.
iSkipLevelCount - количество пропускаемых уровней хранилища, т.е.:

  • 0 - возвращается class_id хранилища, содержащего реквизит iReqClassID
  • 1 - возвращается class_id хранилища, в котором находится хранилище, содержащее реквизит iReqClassID
  • и т.д.

Если хранилища соответствующего уровня нет, возвращает null.

GetPDocTablePrimaryReqClsID

FUNCTION GetPDocTablePrimaryReqClsID(iTableClassID PLS_INTEGER, iStrict PLS_INTEGER := 0) RETURN PLS_INTEGER;

Описание

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

GetPDocTableReqIDs

FUNCTION GetPDocTableReqIDs(iTableClassID PLS_INTEGER) RETURN uszn.TIntegerList;

Описание

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

CheckCanAddDocInstance

PROCEDURE CheckCanAddDocInstance(iRegionID PLS_INTEGER, iPeopleCollID PLS_INTEGER, iDocClassID PLS_INTEGER, iCheckUniqueness PLS_INTEGER);

Описание

Проверяет, что текущий пользователь имеет право создать персональный документ. При iCheckUniqueness!=0 также проверяет, что документ вводится впервые или допускает повторения для человека/коллектива.

LockDocInstance

PROCEDURE LockDocInstance(iRegionID PLS_INTEGER, iPDocID PLS_INTEGER, iNoWait PLS_INTEGER, iLockReqs PLS_INTEGER := 1, iLockFiles PLS_INTEGER := 1);

Описание

Блокирует указанный экземпляр персонального документа.
Параметры:

  • iRegionID, iPDocID - ключ экземпляра документа, который необходимо заблокировать;
  • iNoWait - если !=0, то при неудачной попытке блокировки возникает exception;
  • iLockReqs - блокировать ли реквизиты документа (0/1);
  • iLockFiles - блокировать ли файлы, связанные с экземпляром документа (0/1).

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

LockPDocReqs

PROCEDURE LockPDocReqs(iRegionID PLS_INTEGER, iPDocID PLS_INTEGER, iWait PLS_INTEGER);

Описание

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

AllocateNewPDocID

FUNCTION AllocateNewPDocID(iRegionID PLS_INTEGER) RETURN PLS_INTEGER;

Описание

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

AddDocInstance

PROCEDURE AddDocInstance(iRegionID PLS_INTEGER, iID PLS_INTEGER, iPeopleCollID PLS_INTEGER, iDocClassID PLS_INTEGER, iCheckUniqueness PLS_INTEGER);

Описание

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

  • iRegionID, iID - ключ создаваемого экземпляра документа;
  • iPeopleCollID - ID владельца документа;
  • iDocClassID - ID класса документа;
  • iCheckUniqueness - проверять ли отсутствие других экземпляров документов данного класса, если наличие нескольких экземпляров не допускается (0/1).

Процедура является «низкоуровневой»: НЕ ВЫЗЫВАЕТ триггеров документов и НЕ СОЗДАЁТ записей в истории документа.

CreateDocInstance

FUNCTION CreateDocInstance(iRegionID PLS_INTEGER, iPeopleCollID PLS_INTEGER, iDocClassID PLS_INTEGER, iCheckUniqueness PLS_INTEGER := 1) RETURN PLS_INTEGER;

Описание

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

  • iRegionID - ID района;
  • iPeopleCollID - ID владельца документа;
  • iDocClassID - ID класса документа;
  • iCheckUniqueness - проверять ли отсутствие других экземпляров документов данного класса, если наличие нескольких экземпляров не допускается (0/1).

Функция является «низкоуровневой»: НЕ ВЫЗЫВАЕТ триггеров документов и НЕ СОЗДАЁТ записей в истории документа.

DeletePCRefReqs

PROCEDURE DeletePCRefReqs(iRegionID PLS_INTEGER, iPCID PLS_INTEGER, iEntireRows PLS_INTEGER, iForPeopleCollID PLS_INTEGER, iAudOriginID PLS_INTEGER, sAudNotes VARCHAR2 := NULL);

Описание

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

  • iRegionID, iPCID - ключ человека;
  • iEntireRows - удалять ли строки таблицы документа целиком, если это табличные реквизиты (0/1);
  • iForPeopleCollID - ID человека/коллектива, среди документов которого производить удаление (null - у всех);
  • iAudOriginID - ID источника события для аудита;
  • sAudNotes - примечания для аудита.

BeforeDocInstanceAdd

PROCEDURE BeforeDocInstanceAdd(iRegionID PLS_INTEGER, iPCID PLS_INTEGER, iClassID PLS_INTEGER);

Описание

Вызывает событие на добавление нового экземпляра персонального документа.

AfterDocInstanceAdd

PROCEDURE AfterDocInstanceAdd(iRegionID PLS_INTEGER, iDIID PLS_INTEGER);

BeforeDocInstanceChange

PROCEDURE BeforeDocInstanceChange(iRegionID PLS_INTEGER, iDIID PLS_INTEGER);

Описание

Вызывает событие на изменения экземпляра персонального документа.

AfterDocInstanceChange

PROCEDURE AfterDocInstanceChange(iRegionID PLS_INTEGER, iDIID PLS_INTEGER);

BeforeDocInstanceDelete

PROCEDURE BeforeDocInstanceDelete(iRegionID PLS_INTEGER, iDIID PLS_INTEGER, iDeletingPC PLS_INTEGER := 0);

Описание

Вызывает событие на удаление экземпляра персонального документа

  • iDeletingPC=1, если удаление документа вызвано удалением его владельца.

AfterDocInstanceDelete

PROCEDURE AfterDocInstanceDelete(iRegionID PLS_INTEGER, iPCID PLS_INTEGER, iClassID PLS_INTEGER, iDeletingPC PLS_INTEGER := 0);

TransferDocInstanceToPC

FUNCTION TransferDocInstanceToPC(iRegionID PLS_INTEGER, iDIID PLS_INTEGER, iNewPCID PLS_INTEGER, iOriginID PLS_INTEGER, iDoCopy PLS_INTEGER, iStrictUniqueness PLS_INTEGER) RETURN PLS_INTEGER;

Описание

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

  • iRegionID, iDIID - ключ исходного документа;
  • iNewPCID - ID нового владельца (может совпадать с текущим владельцем);
  • iOriginID - ID источника операции перемещения;
  • iDoCopy - Если 0, то переносит документ; если не 0, то копирует;
  • iStrictUniqueness: Если 0, то всегда создаёт документ, независимо от наличия у нового владельца таких документов; Если 1, то при попытке добавить второй и все последующие экземпляры документа, не позволяющего создания более одного экземпляра, вызывает exception; Если 2, то, если документ не позволяет иметь несколько экземпляров, то удаляет все существующие экземпляры документа, кроме одного, а этот единственный заменяет на скопированный.

Возвращает:

  • при создании нового экземпляра документа - ID созданного экземпляра документа;
  • при сохранении существующего экземпляра документа - ID исходного экземпляра документа.

CloneDocInstance

FUNCTION CloneDocInstance(iRegionID PLS_INTEGER, iDIID PLS_INTEGER, iOriginID PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Клонирует экземпляр персонального документа. Возвращает ID созданного экземпляра.
Параметры:

  • iRegionID, iDIID - ключ клонируемого экземпляра документа;
  • iOriginID - ID источника операции.

Если класс документа не допускает создания нескольких экземпляров, возникает exception.

ReplacePCRefReqs

PROCEDURE ReplacePCRefReqs(iRegionID PLS_INTEGER, iPDocID PLS_INTEGER, iReqClassID PLS_INTEGER, iOldValue PLS_INTEGER, iNewValue PLS_INTEGER, iAudOriginID PLS_INTEGER, sAudNotes VARCHAR2 := NULL);

Описание

Заменяет значения ссылочных реквизитов типа “человек/коллектив” в экземпляре персонального документа.
Параметры:

  • iRegionID, iPDocID - ключ экземпляра документа, в котором производится замена;
  • iReqClassID - ID класса реквизита; если null, замена производится во всех реквизитах-ссылках на человека/коллектив;
  • iOldValue - старое значение (ID человека/коллектива);
  • iNewValue - новое значение (ID человека/коллектива);
  • iAudOriginID - ID источника события для аудита;
  • sAudNotes - примечания для аудита.

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

Файлы персональных документов

GetPDocFileKindName

FUNCTION GetPDocFileKindName(iFileKindID PLS_INTEGER, iStrict PLS_INTEGER) RETURN VARCHAR2;

Описание

Возвращает наименование вида файла документа по его ID.

LockPDocFiles

PROCEDURE LockPDocFiles(iRegionID PLS_INTEGER, iPDocID PLS_INTEGER, iWait PLS_INTEGER);

Описание

Блокирует файлы, связанные с экземпляром персонального документа. При iWait=0 при неудачной попытке блокировки возникает exception. Если документ не существует, ничего не происходит.

AllocateNewPDocFileID

FUNCTION AllocateNewPDocFileID(iRegionID PLS_INTEGER) RETURN PLS_INTEGER;

Описание

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

AddPDocFile

PROCEDURE AddPDocFile(
    iRegionID PLS_INTEGER, iID PLS_INTEGER, iPDocID PLS_INTEGER, iFileKindID PLS_INTEGER, sDesc VARCHAR2,
    iFileID PLS_INTEGER, iOriginID PLS_INTEGER, sNotes VARCHAR2 := NULL);
-- Обновляет файл персонального документа.
-- Параметры:
--   iRegionID, iID - ключ обновляемого файла персонального документа;
--   iPDocID        - ID экземпляра персонального документа;
--   iFileKindID    - ID вида файла;
--   sDesc          - описание файла;
--   iFileID        - ID файла в таблице файлов (null, если содержимое файла не меняется);
--   iOriginID      - ID источника события для аудита;
--   sNotes         - примечания для аудита.
PROCEDURE UpdatePDocFile(
    iRegionID PLS_INTEGER, iID PLS_INTEGER, iPDocID PLS_INTEGER, iFileKindID PLS_INTEGER, sDesc VARCHAR2,
    iFileID PLS_INTEGER, iOriginID PLS_INTEGER, sNotes VARCHAR2 := NULL);
-- Удаляет файл персонального документа. Если файл больше нигде не используется, он также удаляется.
-- Параметры:
--   iRegionID, iID - ключ файла персонального документа;
--   iOriginID      - ID источника события для аудита;
--   sNotes         - примечания для аудита.
PROCEDURE DeletePDocFile(iRegionID PLS_INTEGER, iID PLS_INTEGER, iOriginID PLS_INTEGER, sNotes VARCHAR2 := NULL);

Описание

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

  • iRegionID, iID - ключ создаваемого файла персонального документа;
  • iPDocID - ID экземпляра персонального документа;
  • iFileKindID - ID вида файла;
  • sDesc - описание файла;
  • iFileID - ID файла в таблице файлов;
  • iOriginID - ID источника события для аудита;
  • sNotes - примечания для аудита.

UpdatePDocFile

PROCEDURE UpdatePDocFile(
    iRegionID PLS_INTEGER, iID PLS_INTEGER, iPDocID PLS_INTEGER, iFileKindID PLS_INTEGER, sDesc VARCHAR2,
    iFileID PLS_INTEGER, iOriginID PLS_INTEGER, sNotes VARCHAR2 := NULL);
-- Удаляет файл персонального документа. Если файл больше нигде не используется, он также удаляется.
-- Параметры:
--   iRegionID, iID - ключ файла персонального документа;
--   iOriginID      - ID источника события для аудита;
--   sNotes         - примечания для аудита.
PROCEDURE DeletePDocFile(iRegionID PLS_INTEGER, iID PLS_INTEGER, iOriginID PLS_INTEGER, sNotes VARCHAR2 := NULL);
 
/*********************************************************************************************************************
 Коллективы
*********************************************************************************************************************/
 
-- Устанавливает новый порядковый номер для класса коллектива iClassID: если iInsertAfter=0, то перед iNewClassID, иначе - после iNewClassID
PROCEDURE SetNewCollClassOrder(iClassID PLS_INTEGER, iNewClassID PLS_INTEGER, iInsertAfter PLS_INTEGER);
-- Удаляет класс коллектива iClassID из дерева, перенумеровывая остаток классов
PROCEDURE DeleteCollClass(iClassID PLS_INTEGER);
-- Возвращает наименование класса коллектива
FUNCTION  GetCollClassName(iID PLS_INTEGER, iStrict PLS_INTEGER := 0) RETURN VARCHAR2;

Описание

Обновляет файл персонального документа.
Параметры:

  • iRegionID, iID - ключ обновляемого файла персонального документа;
  • iPDocID - ID экземпляра персонального документа;
  • iFileKindID - ID вида файла;
  • sDesc - описание файла;
  • iFileID - ID файла в таблице файлов (null, если содержимое файла не меняется);
  • iOriginID - ID источника события для аудита;
  • sNotes - примечания для аудита.

DeletePDocFile

PROCEDURE DeletePDocFile(iRegionID PLS_INTEGER, iID PLS_INTEGER, iOriginID PLS_INTEGER, sNotes VARCHAR2 := NULL);

Описание

Удаляет файл персонального документа. Если файл больше нигде не используется, он также удаляется.
Параметры:

  • iRegionID, iID - ключ файла персонального документа;
  • iOriginID - ID источника события для аудита;
  • sNotes - примечания для аудита.

Коллективы

SetNewCollClassOrder

PROCEDURE SetNewCollClassOrder(iClassID PLS_INTEGER, iNewClassID PLS_INTEGER, iInsertAfter PLS_INTEGER);

Описание

Устанавливает новый порядковый номер для класса коллектива iClassID: если iInsertAfter=0, то перед iNewClassID, иначе - после iNewClassID.

DeleteCollClass

PROCEDURE DeleteCollClass(iClassID PLS_INTEGER);

Описание

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

GetCollClassName

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

Описание

Возвращает наименование класса коллектива.

GetCollClassType

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

Описание

Возвращает ID типа класса коллектива (0-папка, 1-коллектив, 2-роль).

GetCollClassHelpContext

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

Описание

Возвращает контекст справки для класса коллектива iID.

GetFullCollClassName

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

Описание

Возвращает полное наименование класса коллектива iID. Для папки и коллектива это будет их наименование; для роли -

  • наименование класса коллектива/наименование роли.

CheckIsPerson

PROCEDURE CheckIsPerson(iRegionID PLS_INTEGER, iPCID PLS_INTEGER);

Описание

Вызывает exception, если запись r_people_and_colls не существует или не является человеком.

CheckIsCollInstance

PROCEDURE CheckIsCollInstance(iRegionID PLS_INTEGER, iPCID PLS_INTEGER);

Описание

Вызывает exception, если запись r_people_and_colls не существует или не является коллективом.

GetCollInstanceClass

FUNCTION GetCollInstanceClass(iCollID PLS_INTEGER, iRegionID PLS_INTEGER, iStrict PLS_INTEGER := 1) RETURN PLS_INTEGER;

Описание

Возвращает ID класса экземпляра коллектива iCollID. Если коллектив не существует, поведение определяется iStrict.

GetCollInstanceClsName

FUNCTION GetCollInstanceClsName(iCollID PLS_INTEGER, iRegionID PLS_INTEGER, iStrict PLS_INTEGER := 1) RETURN VARCHAR2;

Описание

Возвращает наименование класса экземпляра коллектива iCollID.

IsPDocCompatibleWithColl

FUNCTION IsPDocCompatibleWithColl(iPDocClassID PLS_INTEGER, iCollRoleClassID PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает 1, если документ, к которому относится реквизит, совместим с указанным классом коллектива (роли). Если iCollRoleClassID=0, проверяется совместимость с отдельным индивидом. В противном случае возвращает 0.

IsDocReqForPeople

FUNCTION IsDocReqForPeople(iDocClsID PLS_INTEGER) RETURN PLS_INTEGER;

Описание

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

IsDocReqForColl

FUNCTION IsDocReqForColl(iDocClsID PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает 1, если документ, к которому относится реквизит, совместим с коллективами, в противном случае возвращает 0.

Люди

PCExists

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

Описание

Проверяет, существует ли человек/коллектив. Возвращает 1, если существует, в противном случае 0.

CheckPCExists

PROCEDURE CheckPCExists(iRegionID PLS_INTEGER, iID PLS_INTEGER);

Описание

Проверяет, существует ли человек/коллектив, и если нет, то возникает exception.

IsColl

FUNCTION IsColl(iRegionID PLS_INTEGER, iID PLS_INTEGER, iStrict INTEGER := 0) RETURN PLS_INTEGER;

Описание

Возвращает 1, если iID - коллектив, иначе 0.

  • Если нет такой записи о человеке/коллективе, то при iStrict=0 возвращает null, при =1 вызывает Exception.

AllocateNewPCID

FUNCTION AllocateNewPCID(iRegionID PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает новый свободный ID человека/коллектива.

AddManOrColl

PROCEDURE AddManOrColl(iRegionID PLS_INTEGER, iPCID PLS_INTEGER, iIsCollInstance PLS_INTEGER, iCollClassID PLS_INTEGER := NULL);

Описание

Создаёт запись для человека или коллектива. Если iIsCollInstance=1, то должен быть задан класс коллектива iCollClassID.

DeletePC

PROCEDURE DeletePC(iRegionID PLS_INTEGER, iPCID PLS_INTEGER, iCheckLastRole PLS_INTEGER := 1, iDelRefReqs PLS_INTEGER := 1, sNotes VARCHAR2 := NULL);

Описание

Удаляет запись человека или коллектива из R_PEOPLE_AND_COLLS, если у него нет назначений и он не получатель какой-либо выплаты. При iCheckLastRole=1 удаляет также все коллективы, где больше не остаётся ролей. Если iDelRefReqs=1, то удаляет также все реквизиты документов, ссылающиеся на человека.

IsCollWithCloseRelations

FUNCTION IsCollWithCloseRelations(iRegionID PLS_INTEGER, iCollID PLS_INTEGER, iStrict INTEGER := 0) RETURN PLS_INTEGER;

Описание

Возвращает 1, если коллектив iRegionID-iCollID представляет собой коллектив с родственными отношениями.

GetReqLookupList

FUNCTION GetReqLookupList(iReqClassID PLS_INTEGER, iRegionID PLS_INTEGER, iPCID PLS_INTEGER) RETURN uszn.TValueIDObjList;

Описание

Выполняет lookup_sql для реквизита и возвращает список VALUE-VOBJ.

GetTopRawValues

FUNCTION GetTopRawValues(iRegionID PLS_INTEGER, iReqClassID PLS_INTEGER, iTopCount PLS_INTEGER := NULL) RETURN uszn.TStringList255;

Описание

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

  • iRegionID - ID района;
  • iReqClassID - ID класса реквизита;
  • iTopCount - ограничение на количество возвращаемых значений; bnull - нет ограничений.

SetMainPersonIdentity

PROCEDURE SetMainPersonIdentity(iRegionID PLS_INTEGER, iPersonID PLS_INTEGER, iDocInstanceID PLS_INTEGER);

Описание

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

  • iRegionID - ID района;
  • iPersonID - ID человека;
  • iDocInstanceID - ID экземпляра документа, который должен стать документом, удостоверяющим личность.

GetMainPersonIdentity

FUNCTION GetMainPersonIdentity(iRegionID PLS_INTEGER, iPersonID PLS_INTEGER, iStrict PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает doc_instance_id основного документа, удостоверяющего личность человека. Если основной ДУЛ не задан, поведение определяется параметром iStrict.

GetBirthDate

FUNCTION GetBirthDate(iRegionID PLS_INTEGER, iPersonID PLS_INTEGER) RETURN DATE;

Описание

Возвращает дату рождения человека iPersonID.

GetDeathDate

FUNCTION GetDeathDate(iRegionID PLS_INTEGER, iPersonID PLS_INTEGER) RETURN DATE;

Описание

Возвращает дату смерти человека iPersonID.

GetSex

FUNCTION GetSex(iRegionID PLS_INTEGER, iPersonID PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает пол человека iPersonID: 0=муж., 1=жен.

GetCloseDate

FUNCTION GetCloseDate(iRegionID PLS_INTEGER, iPCID PLS_INTEGER) RETURN DATE;

Описание

Возвращает дату снятия человека/коллектива iPCID с учёта.

GetPersonalReq

FUNCTION GetPersonalReq(iRegionID PLS_INTEGER, iPeopleID PLS_INTEGER, iReqType PLS_INTEGER) RETURN VARCHAR2;

Описание

Возвращает для человека iPeopleID, если iReqType =

  • 0: Фамилия
  • 1: Имя
  • 2: Отчество
  • 3: Дата рождения
  • 4: Пол (0=муж., 1=жен.)
  • 5: Дата смерти
  • 6: Гражданство
  • 7: Место рождения
  • 8: ID Населённый пункт адреса регистрации
  • 9: ID Улица адреса регистрации

10: Дом адреса регистрации
11: Корпус адреса регистрации
12: Квартира адреса регистрации
13: Дата «С» последнего периода адреса регистрации
14: Дата «По» последнего периода адреса регистрации
15: Собранный адрес регистрации
16: Населённый пункт адреса регистрации (декодированный)
17: Улица адреса регистрации (декодированная)
18: Документ, удостоверяющий личность (внешний ID по справочнику соответствия, вид соответствия PersonalReq_IdentityTypes, ID=66)
19: Серия ДУЛ
20: Номер ДУЛ
21: Наименование документа, удостоверяющего личность
22: Кем выдан документ, удостоверяющий личность
23: Дата выдачи документа, удостоверяющего личность
24: Дата снятия с учёта в органах соцзащиты
25: СНИЛС (с форматированием)
26: СНИЛС (без форматирования).

DescribeManColl

FUNCTION DescribeManColl(iRegionID PLS_INTEGER, iPCID PLS_INTEGER, iMode PLS_INTEGER, iStrict PLS_INTEGER := 0) RETURN VARCHAR2;

Описание

Описывает человека или коллектив на основе их документов.
Для коллектива:

  • iMode=0 - полное описание;
  • iMode=1 - краткое описание.

Если функция описания коллектива отсутствует, выводит список членов коллектива (не более трёх).
Для человека:

  • iMode=0 - возвращает [Фамилия Имя Отчество + дата рождения + дата смерти]
  • iMode=1 - возвращает [Фамилия И. О.]
  • iMode=2 - возвращает [Фамилия Имя Отчество]
  • iMode=3 - возвращает [Ключ + (Фамилия Имя Отчество + дата рождения + дата смерти)]

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

GetShortCollMemberList

FUNCTION GetShortCollMemberList(iRegionID PLS_INTEGER, iCollID PLS_INTEGER, iRoleClassID PLS_INTEGER := NULL, iStrict PLS_INTEGER := 0) RETURN VARCHAR2;

Описание

Возвращает краткий список членов коллектива без учёта периодов пребывания. Если в составе коллектива больше 3
человек, возвращает ФИО первых трёх и текст “и др.”.
Параметры:

  • iRegionID, iCollID - ключ коллектива;
  • iRoleClassID - ID класса возвращаемой роли; null - возвращаются все роли;
  • iStrict - определяет поведение при отсутствии такого коллектива.

ReqValueDecode

FUNCTION ReqValueDecode(iRegionID PLS_INTEGER, iPeopleCollID PLS_INTEGER, iReqClassID PLS_INTEGER, sValue VARCHAR2, iStrict PLS_INTEGER := 1) RETURN VARCHAR2;

Описание

Возвращает декодированное значение реквизита ссылочного типа на основе его списка выбора.
Для пустого значения возвращает null (без проверок на существование класса реквизита).
Значения нессылочного типа возвращает без изменения.
Параметры:

  • iRegionID, iPeopleCollID - ключ владельца документа;
  • iReqClassID - ID класса реквизита;
  • sValue - значение реквизита;
  • iStrict - определяет поведение при возникновении любых ошибок.

ReqValueDecode

FUNCTION ReqValueDecode(iRegionID PLS_INTEGER, iReqID PLS_INTEGER, iStrict PLS_INTEGER) RETURN VARCHAR2;

Описание

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

  • iRegionID, iReqID - ключ реквизита;
  • iStrict - определяет поведение при возникновении любых ошибок.

SetRawDocReqValue

PROCEDURE SetRawDocReqValue(iRegionID PLS_INTEGER, iDocInstanceID PLS_INTEGER, iReqClassID PLS_INTEGER, sValue VARCHAR2, iCheckValueValidity PLS_INTEGER := 1);

Описание

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

  • iRegionID, iDocInstanceID - ключ экземпляра документа;
  • iReqClassID - ID класса реквизита;
  • sValue - значение реквизита (null, если реквизит удаляется);
  • iCheckValueValidity - проверять ли корректность сохраняемого значения (0/1).

SetRawDocReqValueEx

PROCEDURE SetRawDocReqValueEx(PDocChange IN OUT NOCOPY TPDocDataChange, iRegionID PLS_INTEGER, iDocInstanceID PLS_INTEGER, iReqClassID PLS_INTEGER, sValue VARCHAR2, iCheckValueValidity PLS_INTEGER := 1);

Описание

Аналогична pkPerson.SetRawDocReqValue, но с автоматическим учётом изменений.

SetRawDocEnReqValue

FUNCTION SetRawDocEnReqValue(iRegionID PLS_INTEGER, iDocInstanceID PLS_INTEGER, iReqClassID PLS_INTEGER, iOwnerID PLS_INTEGER, iOrderNum PLS_INTEGER, sValue VARCHAR2, iCheckValueValidity PLS_INTEGER := 1) RETURN PLS_INTEGER;

Описание

Записывают значение табличного реквизита персонального документа.
Параметры:

  • iRegionID, iDocInstanceID - ключ экземпляра документа;
  • iReqClassID - ID класса реквизита;
  • iOwnerID - ID записи первичного реквизита вышестоящей таблицы (null для таблиц верхнего уровня);
  • iOrderNum - порядковый номер строки таблицы;
  • sValue - значение реквизита (null, если реквизит удаляется);
  • iCheckValueValidity - проверять ли корректность сохраняемого значения (0/1).

Функции возвращают ID созданного/обновлённого/удалённого реквизита.
Следует учитывать, что автоматическая перенумерация строк при удалении пореквизитно всей строки не производится,
следовательно, в нумерации по order_num при этом появятся “дырки”.

SetRawDocEnReqValue

PROCEDURE SetRawDocEnReqValue(iRegionID PLS_INTEGER, iDocInstanceID PLS_INTEGER, iReqClassID PLS_INTEGER, iOwnerID PLS_INTEGER, iOrderNum PLS_INTEGER, sValue VARCHAR2, iCheckValueValidity PLS_INTEGER := 1);

SetRawDocEnReqValueEx

FUNCTION SetRawDocEnReqValueEx(PDocChange IN OUT NOCOPY TPDocDataChange, iRowAction PLS_INTEGER, iRegionID PLS_INTEGER, iDocInstanceID PLS_INTEGER, iReqClassID PLS_INTEGER, iOwnerID PLS_INTEGER, iOrderNum PLS_INTEGER, sValue VARCHAR2, iCheckValueValidity PLS_INTEGER := 1) RETURN PLS_INTEGER;

Описание

Аналогичны pkPerson.SetRawDocEnReqValue, но с автоматическим учётом изменений.
Дополнительные параметры:

  • PDocChange - информация об изменениях в реквизитах документа;
  • iRowAction - действие, выполняемое над строкой таблицы: 1 - добавление, 2 - изменение, 3 - удаление.

SetRawDocEnReqValueEx

PROCEDURE SetRawDocEnReqValueEx(PDocChange IN OUT NOCOPY TPDocDataChange, iRowAction PLS_INTEGER, iRegionID PLS_INTEGER, iDocInstanceID PLS_INTEGER, iReqClassID PLS_INTEGER, iOwnerID PLS_INTEGER, iOrderNum PLS_INTEGER, sValue VARCHAR2, iCheckValueValidity PLS_INTEGER := 1);

DeletePDocTableTrailingRows

FUNCTION DeletePDocTableTrailingRows(iOwnerID PLS_INTEGER, iRegionID PLS_INTEGER, iReqClassID PLS_INTEGER, iDocInstanceID PLS_INTEGER, iOrderNum PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Удаляет все строки таблицы документа с номером свыше iOrderNum. iReqClassID может быть как классом табличного реквизита, так и классом самой таблицы или контейнера, содержащего реквизиты данной таблицы. Функция возвращает количество удалённых реквизитов.

DeletePDocTableTrailingRows

PROCEDURE DeletePDocTableTrailingRows(iOwnerID PLS_INTEGER, iRegionID PLS_INTEGER, iReqClassID PLS_INTEGER, iDocInstanceID PLS_INTEGER, iOrderNum PLS_INTEGER);

GetPDocTableRowCount

FUNCTION GetPDocTableRowCount(iRegionID PLS_INTEGER, iPDocID PLS_INTEGER, iTableClassID PLS_INTEGER, iOwnerID PLS_INTEGER, iStartOrderNum PLS_INTEGER) RETURN PLS_INTEGER;

Описание

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

  • iRegionID, iPDocID - ключ экземпляра документа;
  • iTableClassID - ID класса таблицы;
  • iOwnerID - ID первичного реквизита вышестоящей таблицы (null для таблиц верхнего уровня);
  • iStartOrderNum - минимальный порядковый номер строки, начиная с которого выполняется подсчёт.

DeleteDocInstance

PROCEDURE DeleteDocInstance(iRegionID PLS_INTEGER, iPDocID PLS_INTEGER, iOriginID PLS_INTEGER, sNotes VARCHAR2 := NULL);

Описание

Удаляет экземпляр документа.
Параметры:

  • iRegionID, iPDocID - ключ удаляемого документа;
  • iOriginID - ID источника операции удаления;
  • sNotes - примечания к операции удаления.

SetDocInstanceOwners

PROCEDURE SetDocInstanceOwners(iRegionID PLS_INTEGER, iPDocID PLS_INTEGER, sOwnerUser VARCHAR2, rOwnerUserGroupGUID RAW, iOriginID PLS_INTEGER, sNotes VARCHAR2 := NULL, iStrict PLS_INTEGER := 0);

Описание

Выполняет замену пользователя-владельца и группы-владельца экземпляра персонального документа.
Параметры:

  • iRegionID, iPDocID - ключ удаляемого документа;
  • sOwnerUser - новый пользователь-владелец;
  • rOwnerUserGroupGUID - новая группа-владелец;
  • iOriginID - ID источника операции удаления;
  • sNotes - примечания к операции удаления;
  • iStrict - определяет поведение при отсутствии экземпляра документа.

GetRawDocReqValue

FUNCTION GetRawDocReqValue(iRegionID PLS_INTEGER, iReqClassID PLS_INTEGER, iDocInstanceID PLS_INTEGER, iOrderNum PLS_INTEGER := 0, iOwnerID PLS_INTEGER := NULL, iStrict PLS_INTEGER := 0) RETURN VARCHAR2;

Описание

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

GetRawDocReqValueByAttrib

FUNCTION GetRawDocReqValueByAttrib(iRegionID PLS_INTEGER, iAttribID PLS_INTEGER, iDocInstanceID PLS_INTEGER, iOrderNum PLS_INTEGER := 0, iOwnerID PLS_INTEGER := NULL, iStrict PLS_INTEGER := 0) RETURN VARCHAR2;

Описание

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

GetRawDocReqValuesConcatCLOB

FUNCTION GetRawDocReqValuesConcatCLOB(iRegionID PLS_INTEGER, iReqClassID PLS_INTEGER, iDocInstanceID PLS_INTEGER, iOwnerID PLS_INTEGER := NULL, iStrict PLS_INTEGER := 0) RETURN CLOB;

Описание

Возвращает сконкатенированные значения реквизита из всех строк таблицы.

GetRawDocReqValuesConcat

FUNCTION GetRawDocReqValuesConcat(iRegionID PLS_INTEGER, iReqClassID PLS_INTEGER, iDocInstanceID PLS_INTEGER, iOwnerID PLS_INTEGER := NULL, iStrict PLS_INTEGER := 0) RETURN VARCHAR2;

Описание

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

SetRawDocReqValuesConcatCLOB

PROCEDURE SetRawDocReqValuesConcatCLOB(iRegionID PLS_INTEGER, iReqClassID PLS_INTEGER, iDocInstanceID PLS_INTEGER, iOwnerID PLS_INTEGER := NULL, cValue IN CLOB);

Описание

Сохраняет сконкатенированные значения реквизита из всех строк таблицы.

SetRawDocReqValuesConcat

PROCEDURE SetRawDocReqValuesConcat(iRegionID PLS_INTEGER, iReqClassID PLS_INTEGER, iDocInstanceID PLS_INTEGER, iOwnerID PLS_INTEGER := NULL, sValue VARCHAR2);

GetDocReqValue

FUNCTION GetDocReqValue(iRegionID PLS_INTEGER, iReqClassID PLS_INTEGER, iDocInstanceID PLS_INTEGER, iOrderNum PLS_INTEGER := 0, iOwnerID PLS_INTEGER := NULL, iStrict PLS_INTEGER := 0) RETURN VARCHAR2;

Описание

Возвращает декодированное значение реквизита iReqClassID для документа iDocInstanceID. Если возникли проблемы при получении значения или при его декодировании, поведение определяется параметром iStrict.

GetDocReqValueByAttrib

FUNCTION GetDocReqValueByAttrib(iRegionID PLS_INTEGER, iAttribID PLS_INTEGER, iDocInstanceID PLS_INTEGER, iOrderNum PLS_INTEGER := 0, iOwnerID PLS_INTEGER := NULL, iStrict PLS_INTEGER := 0) RETURN VARCHAR2;

Описание

То же, для реквизита с атрибутом iAttribID.

GetDocReqValueDate

FUNCTION GetDocReqValueDate(iRegionID PLS_INTEGER, iReqClassID PLS_INTEGER, iDocInstanceID PLS_INTEGER, iOrderNum PLS_INTEGER := 0, iOwnerID PLS_INTEGER := NULL, iStrict PLS_INTEGER := 0) RETURN DATE;

Описание

Возвращают типизированные значения реквизитов iReqClassID для документов iDocInstanceID. Если возникли проблемы, поведение определяется параметром iStrict. Если значение реквизита получено, но не может быть без ошибки приведено к указанному типу, возвращает null.

GetDocReqValueInt

FUNCTION GetDocReqValueInt(iRegionID PLS_INTEGER, iReqClassID PLS_INTEGER, iDocInstanceID PLS_INTEGER, iOrderNum PLS_INTEGER := 0, iOwnerID PLS_INTEGER := NULL, iStrict PLS_INTEGER := 0) RETURN PLS_INTEGER;

GetDocReqValueNumber

FUNCTION GetDocReqValueNumber(iRegionID PLS_INTEGER, iReqClassID PLS_INTEGER, iDocInstanceID PLS_INTEGER, iOrderNum PLS_INTEGER := 0, iOwnerID PLS_INTEGER := NULL, iStrict PLS_INTEGER := 0) RETURN NUMBER;

GetRawDocReqValues

FUNCTION GetRawDocReqValues(iRegionID PLS_INTEGER, iDIID PLS_INTEGER, iiReqClassIDs IN uszn.TIntegerList, iOrderNum PLS_INTEGER := 0, iOwnerID PLS_INTEGER := NULL, iInitMissingValues PLS_INTEGER := 0) RETURN uszn.pkGen.TStrings255;

Описание

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

  • iRegionID, iDIID - ключ документа;
  • iiReqClassIDs - список ID классов реквизитов;
  • iOrderNum - порядковый номер строки документа (0 для скалярных реквизитов);
  • iOwnerID - ID записи первичного реквизита строки родительской таблицы (null для скалярных реквизитов и таблиц первого уровня);
  • iInitMissingValues - инициализировать ли отсутствующие реквизиты значением null (0/1).

В возвращаемом результате индекс - ID класса реквизита, значение - его значение.

GetDocReqValueID

FUNCTION GetDocReqValueID(iRegionID PLS_INTEGER, iReqClassID PLS_INTEGER, iDocInstanceID PLS_INTEGER, iOrderNum PLS_INTEGER := 0, iOwnerID PLS_INTEGER := NULL) RETURN PLS_INTEGER;

Описание

Возвращает ID значения реквизита iReqClassID для документа iDocInstanceID человека/коллектива (если значения реквизита нет, возвращает null).

GetPDocTablePrimaryReqID

FUNCTION GetPDocTablePrimaryReqID(iRegionID PLS_INTEGER, iPDocID PLS_INTEGER, iTableClassID PLS_INTEGER, iOrderNum PLS_INTEGER, iOwnerID PLS_INTEGER := NULL) RETURN PLS_INTEGER;

Описание

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

  • iRegionID, iPDocID - ключ экземпляра документа;
  • iTableClassID - ID класса таблицы;
  • iOrderNum - порядковый номер строки, для которой требуется найти ID;
  • iOwnerID - ID первичного реквизита вышестоящей таблицы (null для таблиц верхнего уровня).

Если реквизит не найден, возвращает null.

GetEnReqCount

FUNCTION GetEnReqCount(iOwnerID PLS_INTEGER, iRegionID PLS_INTEGER, iReqClassID PLS_INTEGER, iDocInstanceID PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает максимальный ORDER_NUM таблицы, содержащей реквизит класса iReqClassID.

GetPDocHTMLContent

FUNCTION GetPDocHTMLContent(iRegionID PLS_INTEGER, iDocInstanceID PLS_INTEGER, iShowNestedTables PLS_INTEGER := 1, iStrict PLS_INTEGER := 0, iShowToggleIcon PLS_INTEGER := 1) RETURN CLOB;

Описание

Возвращает текст документа в виде HTML на основе значений его реквизитов.

ListDocReqValuesScalar

FUNCTION ListDocReqValuesScalar(iRegionID PLS_INTEGER, iPDocID PLS_INTEGER, iStrict PLS_INTEGER, iMode PLS_INTEGER) RETURN VARCHAR2;

Описание

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

  • iRegionID, iPDocID - ключ экземпляра документа;
  • iStrict - определяет поведение при отсутствии документа;
  • iMode - режим вывода списка: 0 - значения реквизитов без их наименований; 1 - значения реквизитов с краткими наименованиями реквизитов; 2 - значения реквизитов с полными наименованиями реквизитов.

ListUniqueDocKeyReqs

FUNCTION ListUniqueDocKeyReqs(iRegionID PLS_INTEGER, iPDocID PLS_INTEGER, iStrict PLS_INTEGER, iMode PLS_INTEGER) RETURN VARCHAR2;

Описание

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

  • iRegionID, iPDocID - ключ экземпляра документа;
  • iStrict - определяет поведение при отсутствии документа;
  • iMode - режим вывода списка: 0 - значения реквизитов без их наименований; 1 - значения реквизитов с краткими наименованиями реквизитов; 2 - значения реквизитов с полными наименованиями реквизитов.

Если таких реквизитов нет, возвращает пустое значение.

DescribeDocInstance

FUNCTION DescribeDocInstance(iRegionID PLS_INTEGER, iDocInstanceID PLS_INTEGER, iStrict PLS_INTEGER, iMode PLS_INTEGER, iClassNameMode PLS_INTEGER := 0) RETURN VARCHAR2;

Описание

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

  • iStrict - если 1, требует существования экземпляра документа
  • iMode - режим вывода описания: 0 - значения реквизитов без их наименований 1 - значения реквизитов с краткими наименованиями реквизитов 2 - значения реквизитов с полными наименованиями реквизитов
  • iClassNameMode - режим вывода наименования класса документа: 0 - не выводить 1 - предварять описание содержимого кратким наименованием класса, а само описание заключить в скобки 2 - предварять описание содержимого полным наименованием класса, а само описание заключить в скобки.

GetRawPCReqValue

FUNCTION GetRawPCReqValue(iRegionID PLS_INTEGER, iPCID PLS_INTEGER, iReqClassID PLS_INTEGER, iStrict PLS_INTEGER := 0, iCheckMultiple PLS_INTEGER := 1) RETURN VARCHAR2;

Описание

Возвращает недекодированное значение скалярного реквизита iReqClassID для человека/коллектива iPCID.
Если реквизит отсутствует, поведение определяется параметром iStrict.
Если таких реквизитов несколько:

  • при iCheckMultiple=0 возвращается null;
  • при iCheckMultiple=1 генерируется exception.

GetPCReqValue

FUNCTION GetPCReqValue(iRegionID PLS_INTEGER, iPCID PLS_INTEGER, iReqClassID PLS_INTEGER, iStrict PLS_INTEGER := 0, iCheckMultiple PLS_INTEGER := 1) RETURN VARCHAR2;

Описание

Возвращает декодированное значение скалярного реквизита iReqClassID для человека/коллектива iPCID.
Если реквизит отсутствует или не может быть успешно декодирован, поведение определяется параметром iStrict.
Если таких реквизитов несколько:

  • при iCheckMultiple=0 возвращается null;
  • при iCheckMultiple=1 генерируется exception.

GetPCReqValueDate

FUNCTION GetPCReqValueDate(iRegionID PLS_INTEGER, iPCID PLS_INTEGER, iReqClassID PLS_INTEGER, iStrict PLS_INTEGER := 0, iCheckMultiple PLS_INTEGER := 1) RETURN DATE;

Описание

Возвращают типизированные значения скалярного реквизита iReqClassID для человека/коллектива iPCID.
Если реквизит отсутствует, поведение определяется параметром iStrict.
Если таких реквизитов несколько:

  • при iCheckMultiple=0 возвращается null;
  • при iCheckMultiple=1 генерируется exception.

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

GetPCReqValueInt

FUNCTION GetPCReqValueInt(iRegionID PLS_INTEGER, iPCID PLS_INTEGER, iReqClassID PLS_INTEGER, iStrict PLS_INTEGER := 0, iCheckMultiple PLS_INTEGER := 1) RETURN PLS_INTEGER;

GetPCReqValueNumber

FUNCTION GetPCReqValueNumber(iRegionID PLS_INTEGER, iPCID PLS_INTEGER, iReqClassID PLS_INTEGER, iStrict PLS_INTEGER := 0, iCheckMultiple PLS_INTEGER := 1) RETURN NUMBER;

GetRawPCReqValueOnDate

FUNCTION GetRawPCReqValueOnDate(iRegionID PLS_INTEGER, iPCID PLS_INTEGER, iReqClsID PLS_INTEGER, iDateFromClsID PLS_INTEGER, iDateToClsID PLS_INTEGER, dDate DATE, iCheckMultiple PLS_INTEGER := 0) RETURN VARCHAR2;

Описание

Возвращает недекодированное значение реквизита iReqClsID для человека/коллектива iPCID.
Реквизит должен быть либо скалярный, либо находящийся в таблице верхнего уровня.
Проверяется, чтобы это значение реквизита было на заданную дату:

  • iDateFromClsID и iDateToClsID - class_id реквизитов с датой «С» и «По» соответственно;
  • если класс реквизита даты «По» не указан, он не проверяется;
  • отсутствие в документе даты «По» трактуется как отсутствие ограничения на дату «По».

Если подходящий реквизит не найден, то возвращается null.
Если имеется несколько реквизитов на заданную дату:

  • при iCheckMultiple=0 возвращается последний по дате подходящий реквизит;
  • при iCheckMultiple=1 генерируется exception.

GetRawPCReqValueWithinPeriod

FUNCTION GetRawPCReqValueWithinPeriod(iRegionID PLS_INTEGER, iPCID PLS_INTEGER, iReqClsID PLS_INTEGER, iDateFromClsID PLS_INTEGER, iDateToClsID PLS_INTEGER, dDateFrom DATE, dDateTo DATE, iCheckMultiple PLS_INTEGER := 0) RETURN VARCHAR2;

Описание

То же, но проверяет наличие реквизита в указанном периоде.

GetPCDocReqRowKeyList

FUNCTION GetPCDocReqRowKeyList(iRegionID PLS_INTEGER, iPCID PLS_INTEGER, iStorageClassID PLS_INTEGER, iDIIDMode PLS_INTEGER := 0) RETURN uszn.TPDocReqRowKeyList;

Описание

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

  • iRegionID, iPCID - ключ человека/коллектива;
  • iStorageClassID - ID класса документа или таблицы, чьи данные возвращаются.
  • iDIIDMode - определяет поведение при наличии нескольких экземпляров документа: 0 - возвращает данные всех имеющихся экземпляров документа; 1 - возвращает данные с минимальным ID экземпляра документа; 2 - возвращает данные с максимальным ID экземпляра документа.

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

RenumberPDocTableRows

PROCEDURE RenumberPDocTableRows(iRegionID PLS_INTEGER, iDocInstanceID PLS_INTEGER, RowsInfo TPDocReorderInfoList);

Описание

Перенумеровывает заданные строки таблицы экземпляра персонального документа.
Параметры:

  • iRegionID, iDocInstanceID - ключ экземпляра документа;
  • RowsInfo - информация о перенумеровываемых строках.

RenumberPDocTableRows

PROCEDURE RenumberPDocTableRows(iRegionID PLS_INTEGER, iDocInstanceID PLS_INTEGER, iTableClassID PLS_INTEGER, iOwnerID PLS_INTEGER);

Описание

Перенумеровывает строки таблицы экземпляра персонального документа, добиваясь нумерации с 1 по N, где N - текущее
количество строк в таблице.
Параметры:

  • iRegionID, iDocInstanceID - ключ экземпляра документа;
  • iTableClassID - ID класса таблицы;
  • iOwnerID - ID записи первичного реквизита строки вышестоящей таблицы (null для таблиц верхнего уровня).

RenumberAllPDocTableRows

PROCEDURE RenumberAllPDocTableRows(iRegionID PLS_INTEGER, iDocInstanceID PLS_INTEGER, iTableClassID PLS_INTEGER);

Описание

Перенумеровывает строки таблицы экземпляра персонального документа, добиваясь нумерации с 1 по N, где N - текущее
количество строк в таблице. Для вложенных таблиц перенумерация выполняется для всех строк вышестоящих таблиц.
Параметры:

  • iRegionID, iDocInstanceID - ключ экземпляра документа;
  • iTableClassID - ID класса таблицы.

RenumberPDocTables

PROCEDURE RenumberPDocTables(iRegionID PLS_INTEGER, iDocInstanceID PLS_INTEGER);

Описание

Перенумеровывает строки всех таблиц экземпляра персонального документа, добиваясь нумерации с 1 по N, где N - текущее количество строк в таблице.

InsertEmptyPDocTableRows

PROCEDURE InsertEmptyPDocTableRows(iRegionID PLS_INTEGER, iDocInstanceID PLS_INTEGER, iTableClassID PLS_INTEGER, iOwnerID PLS_INTEGER, iInsertPos PLS_INTEGER, iRowCount PLS_INTEGER);

Описание

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

  • iRegionID, iDocInstanceID - ключ экземпляра документа;
  • iTableClassID - ID класса таблицы персонального документа;
  • iOwnerID - ID записи первичного реквизита вышестоящей таблицы (null для таблиц верхнего уровня);
  • iInsertPos - порядковый номер первой добавляемой строки;
  • iRowCount - количество добавляемых строк.

DeletePDocTableRows

PROCEDURE DeletePDocTableRows(iRegionID PLS_INTEGER, iDocInstanceID PLS_INTEGER, iTableClassID PLS_INTEGER, iOwnerID PLS_INTEGER, iOrderNum PLS_INTEGER, iRowCount PLS_INTEGER, iRenumberRows PLS_INTEGER);

Описание

Удаляет строки из таблицы персонального документа.
Параметры:

  • iRegionID, iDocInstanceID - ключ экземпляра документа;
  • iTableClassID - ID класса таблицы персонального документа;
  • iOwnerID - ID записи первичного реквизита вышестоящей таблицы (null для таблиц верхнего уровня);
  • iOrderNum - порядковый номер первой удаляемой строки;
  • iRowCount - количество удаляемых строк;
  • iRenumberRows - перенумеровывать ли строки после удаления (0/1).

DeleteDocReq

PROCEDURE DeleteDocReq(iRegionID PLS_INTEGER, iID PLS_INTEGER, iEntireRow PLS_INTEGER, iRenumberRows PLS_INTEGER);

Описание

Удаляет указанный реквизит персонального документа. Если это элемент таблицы, и iEntireRow!=0, то удаляется вся строчка таблицы. Для таблиц при iRenumberRows!=0 вызывается перенумерация строк. Процедура является «низкоуровневой»: НЕ ВЫЗЫВАЕТ триггеров документов и НЕ СОЗДАЁТ записей в истории документа.

ClonePDocTableRow

PROCEDURE ClonePDocTableRow(iRegionID PLS_INTEGER, iDocInstanceID PLS_INTEGER, iTableClassID PLS_INTEGER, iOwnerID PLS_INTEGER, iOrderNum PLS_INTEGER, iDestOwnerID PLS_INTEGER, iDestOrderNum PLS_INTEGER, iCascade PLS_INTEGER);

Описание

Клонирует строку таблицы персонального документа.
Параметры:

  • iRegionID, iDocInstanceID - ключ экземпляра документа;
  • iTableClassID - ID класса таблицы, строка которой клонируется;
  • iOwnerID - ID реквизита вышестоящей таблицы для вложенных таблиц, null для таблиц верхнего уровня;
  • iOrderNum - порядковый номер клонируемой строки;
  • iDestOwnerID - ID реквизита вышестоящей таблицы, в которую клонируются строки; null для таблиц верхнего уровня;
  • iDestOrderNum - порядковый номер строки-клона;
  • iCascade - клонировать ли каскадно вложенные таблицы (0/1).

При клонировании не должно быть строки с порядковым номером, совпадающим с порядковым номером строки-клона, в

  • противном случае возникает exception.

Файлы людей/коллективов

GetPCFileKindName

FUNCTION GetPCFileKindName(iFileKindID PLS_INTEGER, iStrict PLS_INTEGER) RETURN VARCHAR2;

Описание

Возвращает наименование вида файла человека/коллектива по его ID.

LockPCFiles

PROCEDURE LockPCFiles(iRegionID PLS_INTEGER, iPCID PLS_INTEGER, iWait PLS_INTEGER);

Описание

Блокирует файлы, связанные с человеком/коллективом. При iWait=0 при неудачной попытке блокировки возникает exception. Если человек/коллектив не существует, ничего не происходит.

AllocateNewPCFileID

FUNCTION AllocateNewPCFileID(iRegionID PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает новый свободный ID файла человека/коллектива.

AddPCFile

PROCEDURE AddPCFile(
    iRegionID PLS_INTEGER, iID PLS_INTEGER, iPCID PLS_INTEGER, iFileKindID PLS_INTEGER, sDesc VARCHAR2,
    iFileID PLS_INTEGER, iOriginID PLS_INTEGER, sNotes VARCHAR2 := NULL);
-- Обновляет файл человека/коллектива.
-- Параметры:
--   iRegionID, iID - ключ создаваемого файла человека/коллектива;
--   iPCID          - ID человека/коллектива;
--   iFileKindID    - ID вида файла;
--   sDesc          - описание файла;
--   iFileID        - ID файла в таблице файлов (null, если содержимое файла не меняется);
--   iOriginID      - ID источника события для аудита;
--   sNotes         - примечания для аудита.
PROCEDURE UpdatePCFile(
    iRegionID PLS_INTEGER, iID PLS_INTEGER, iPCID PLS_INTEGER, iFileKindID PLS_INTEGER, sDesc VARCHAR2,
    iFileID PLS_INTEGER, iOriginID PLS_INTEGER, sNotes VARCHAR2 := NULL);
-- Удаляет файл человека/коллектива. Если файл больше нигде не используется, он также удаляется.
-- Параметры:
--   iRegionID, iID - ключ файла персонального документа;
--   iOriginID      - ID источника события для аудита;
--   sNotes         - примечания для аудита.
PROCEDURE DeletePCFile(iRegionID PLS_INTEGER, iID PLS_INTEGER, iOriginID PLS_INTEGER, sNotes VARCHAR2 := NULL);

Описание

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

  • iRegionID, iID - ключ создаваемого файла человека/коллектива;
  • iPCID - ID человека/коллектива;
  • iFileKindID - ID вида файла;
  • sDesc - описание файла;
  • iFileID - ID файла в таблице файлов;
  • iOriginID - ID источника события для аудита;
  • sNotes - примечания для аудита.

UpdatePCFile

PROCEDURE UpdatePCFile(
    iRegionID PLS_INTEGER, iID PLS_INTEGER, iPCID PLS_INTEGER, iFileKindID PLS_INTEGER, sDesc VARCHAR2,
    iFileID PLS_INTEGER, iOriginID PLS_INTEGER, sNotes VARCHAR2 := NULL);
-- Удаляет файл человека/коллектива. Если файл больше нигде не используется, он также удаляется.
-- Параметры:
--   iRegionID, iID - ключ файла персонального документа;
--   iOriginID      - ID источника события для аудита;
--   sNotes         - примечания для аудита.
PROCEDURE DeletePCFile(iRegionID PLS_INTEGER, iID PLS_INTEGER, iOriginID PLS_INTEGER, sNotes VARCHAR2 := NULL);
 
/*********************************************************************************************************************
 Агрегатные функции
*********************************************************************************************************************/
 
-- Возвращает минимальное значение реквизита iReqClassID типа Date для человека/коллектива iPCID в регионе iRegionID.
-- Если нет ни одного реквизита с ID=iReqClassID, возвращает dDefault
FUNCTION  GetMinPCReqValueDate(iRegionID PLS_INTEGER, iPCID PLS_INTEGER, iReqClassID PLS_INTEGER, dDefault DATE := NULL) RETURN DATE;

Описание

Обновляет файл человека/коллектива.
Параметры:

  • iRegionID, iID - ключ создаваемого файла человека/коллектива;
  • iPCID - ID человека/коллектива;
  • iFileKindID - ID вида файла;
  • sDesc - описание файла;
  • iFileID - ID файла в таблице файлов (null, если содержимое файла не меняется);
  • iOriginID - ID источника события для аудита;
  • sNotes - примечания для аудита.

DeletePCFile

PROCEDURE DeletePCFile(iRegionID PLS_INTEGER, iID PLS_INTEGER, iOriginID PLS_INTEGER, sNotes VARCHAR2 := NULL);

Описание

Удаляет файл человека/коллектива. Если файл больше нигде не используется, он также удаляется.
Параметры:

  • iRegionID, iID - ключ файла персонального документа;
  • iOriginID - ID источника события для аудита;
  • sNotes - примечания для аудита.

Агрегатные функции

GetMinPCReqValueDate

FUNCTION GetMinPCReqValueDate(iRegionID PLS_INTEGER, iPCID PLS_INTEGER, iReqClassID PLS_INTEGER, dDefault DATE := NULL) RETURN DATE;

Описание

Возвращает минимальное значение реквизита iReqClassID типа Date для человека/коллектива iPCID в регионе iRegionID. Если нет ни одного реквизита с ID=iReqClassID, возвращает dDefault.

GetMaxPCReqValueDate

FUNCTION GetMaxPCReqValueDate(iRegionID PLS_INTEGER, iPCID PLS_INTEGER, iReqClassID PLS_INTEGER, dDefault DATE := NULL) RETURN DATE;

Описание

Возвращает максимальное значение реквизита iReqClassID типа Date для человека/коллектива iPCID в регионе iRegionID. Если нет ни одного реквизита с ID=iReqClassID, возвращает dDefault.

GetMinPCReqValueNumber

FUNCTION GetMinPCReqValueNumber(iRegionID PLS_INTEGER, iPCID PLS_INTEGER, iReqClassID PLS_INTEGER, nDefault NUMBER := NULL) RETURN NUMBER;

Описание

Возвращает минимальное значение реквизита iReqClassID типа Number для человека/коллектива iPCID в регионе iRegionID. Если нет ни одного реквизита с ID=iReqClassID, возвращает nDefault.

GetMaxPCReqValueNumber

FUNCTION GetMaxPCReqValueNumber(iRegionID PLS_INTEGER, iPCID PLS_INTEGER, iReqClassID PLS_INTEGER, nDefault NUMBER := NULL) RETURN NUMBER;

Описание

Возвращает максимальное значение реквизита iReqClassID типа Number для человека/коллектива iPCID в регионе iRegionID. Если нет ни одного реквизита с ID=iReqClassID, возвращает nDefault.

GetMinPCReqValueInt

FUNCTION GetMinPCReqValueInt(iRegionID PLS_INTEGER, iPCID PLS_INTEGER, iReqClassID PLS_INTEGER, iDefault PLS_INTEGER := NULL) RETURN PLS_INTEGER;

Описание

Возвращает минимальное значение реквизита iReqClassID типа Pls_Integer для человека/коллектива iPCID в регионе iRegionID. Если нет ни одного реквизита с ID=iReqClassID, возвращает iDefault.

GetMaxPCReqValueInt

FUNCTION GetMaxPCReqValueInt(iRegionID PLS_INTEGER, iPCID PLS_INTEGER, iReqClassID PLS_INTEGER, iDefault PLS_INTEGER := NULL) RETURN PLS_INTEGER;

Описание

Возвращает максимальное значение реквизита iReqClassID типа Pls_Integer для человека/коллектива iPCID в регионе iRegionID. Если нет ни одного реквизита с ID=iReqClassID, возвращает iDefault.

Кеш элементов структуры персональных реквизитов

ClearPDocElementsCache

PROCEDURE ClearPDocElementsCache;

Описание

Очищает кеш элементов структуры персональных документов.

Обновление кеша персональных реквизитов

UpdatePCReqCache

PROCEDURE UpdatePCReqCache(iRegionID PLS_INTEGER, iPCID PLS_INTEGER, iStrict PLS_INTEGER, iComputeMembershipPeriods PLS_INTEGER, iComputePCAddresses PLS_INTEGER);

Описание

Принудительно обновляет кеш персональных реквизитов человека/коллектива.
Параметры:

  • iRegionID, iPCID - ключ человека/коллектива;
  • iComputeMembershipPeriods - пересчитывать ли периоды нахождения в коллективах после изменения (0/1);
  • iComputePCAddresses - пересчитывать ли адреса человека/коллектива после изменения (0/1);
  • iStrict - определяет поведение при возникновении проблем.

UpdatePCReqCache_Identity

PROCEDURE UpdatePCReqCache_Identity(iRegionID PLS_INTEGER, iPersonID PLS_INTEGER, iStrict PLS_INTEGER, iComputeMembershipPeriods PLS_INTEGER, iComputePCAddresses PLS_INTEGER);

Описание

Обновляет кеш реквизитов человека по ДУЛ.
Параметры:

  • iRegionID, iPersonID - ключ человека;
  • iComputeMembershipPeriods - пересчитывать ли периоды нахождения человека в коллективах после изменения (0/1);
  • iComputePCAddresses - пересчитывать ли адреса человека после изменения (0/1);
  • iStrict - определяет поведение при возникновении проблем.

UpdatePCReqCache_DeathDate

PROCEDURE UpdatePCReqCache_DeathDate(iRegionID PLS_INTEGER, iPersonID PLS_INTEGER, iStrict PLS_INTEGER, iComputeMembershipPeriods PLS_INTEGER, iComputePCAddresses PLS_INTEGER);

Описание

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

  • iRegionID, iPersonID - ключ человека;
  • iComputeMembershipPeriods - пересчитывать ли периоды нахождения человека в коллективах после изменения (0/1);
  • iComputePCAddresses - пересчитывать ли адреса человека после изменения (0/1);
  • iStrict - определяет поведение при возникновении проблем.

UpdatePCReqCache_CloseDate

PROCEDURE UpdatePCReqCache_CloseDate(iRegionID PLS_INTEGER, iPCID PLS_INTEGER, iStrict PLS_INTEGER, iComputeMembershipPeriods PLS_INTEGER, iComputePCAddresses PLS_INTEGER);

Описание

Обновляет кеш реквизитов человека/коллектива по дате снятия с учёта.
Параметры:

  • iRegionID, iPCID - ключ человека/коллектива;
  • iComputeMembershipPeriods - пересчитывать ли периоды нахождения в коллективах после изменения (0/1);
  • iComputePCAddresses - пересчитывать ли адреса человека/коллектива после изменения (0/1);
  • iStrict - определяет поведение при возникновении проблем.

UpdatePCReqCache_SNILS

PROCEDURE UpdatePCReqCache_SNILS(iRegionID PLS_INTEGER, iPersonID PLS_INTEGER, iStrict PLS_INTEGER);

Описание

Обновляет кеш реквизитов человека/коллектива по СНИЛС.
Параметры:

  • iRegionID, iPersonID - ключ человека;
  • iStrict - определяет поведение при возникновении проблем.

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

PDocReqChanged

PROCEDURE PDocReqChanged(PDocDataChange IN OUT NOCOPY TPDocDataChange, iReqClassID PLS_INTEGER, sOldValue VARCHAR2, sNewValue VARCHAR2);

Описание

Фиксирует изменение значения скалярного реквизита персонального реквизита.
Параметры:

  • PDocDataChange - структура со сведениями об изменениях в реквизитах документа;
  • iReqClassID - ID класса реквизита;
  • sOldValue - старое значение реквизита;
  • sNewValue - новое значение реквизита.

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

PDocTableRowChanged

PROCEDURE PDocTableRowChanged(
    PDocDataChange IN OUT NOCOPY TPDocDataChange, iTableClassID PLS_INTEGER,
    iAction PLS_INTEGER, iOrderNum PLS_INTEGER, iOwnerID PLS_INTEGER := NULL, iID PLS_INTEGER := NULL);
PRAGMA restrict_references (PDocTableRowChanged, WNDS, WNPS, RNPS);
-- Фиксирует изменение значения табличного реквизита персонального реквизита.
-- Параметры:
--   PDocDataChange - структура со сведениями об изменениях в реквизитах документа;
--   iReqClassID    - ID класса реквизита;
--   sOldValue      - старое значение реквизита;
--   sNewValue      - новое значение реквизита.
--   iRowAction     - действие, выполняемое над строкой таблицы: 1 - добавление, 2 - изменение, 3 - удаление;
--   iOrderNum      - порядковый номер строки (для вложенных таблиц - в пределах строки вышестоящей таблицы);
--   iOwnerID       - ID первичного реквизита строки вышестоящей таблицы; null для таблиц первого уровня;
--   iID            - ID первичного реквизита изменённой строки; если null, аудит вложенных таблиц невозможен.
-- Если действие над строкой - 1 (добавление), старое значение реквизита игнорируется (заменяется на null).
-- Если действие над строкой - 3 (удаление), новое значение реквизита игнорируется (заменяется на null).
-- Если реквизит не существует или не принадлежит таблице, или же таблица не существует или не принадлежит данному
-- документу, возникает exception.
PROCEDURE PDocTableReqChanged(
    PDocDataChange IN OUT NOCOPY TPDocDataChange, iReqClassID PLS_INTEGER, sOldValue VARCHAR2, sNewValue VARCHAR2,
    iRowAction PLS_INTEGER, iOrderNum PLS_INTEGER, iOwnerID PLS_INTEGER := NULL, iID PLS_INTEGER := NULL);

Описание

Фиксирует наличие изменений в строке таблицы персонального реквизита.
Параметры:

  • PDocDataChange - структура со сведениями об изменениях в реквизитах документа;
  • iRegionID - ID района, в котором находится экземпляр документа;
  • iTableClassID - ID класса таблицы;
  • iAction - действие, выполняемое над строкой таблицы: 1 - добавление, 2 - изменение, 3 - удаление;
  • iOrderNum - порядковый номер строки (для вложенных таблиц - в пределах строки вышестоящей таблицы);
  • iOwnerID - ID первичного реквизита строки вышестоящей таблицы; null для таблиц первого уровня;
  • iID - ID первичного реквизита изменённой строки; если null, аудит вложенных таблиц невозможен.

Если таблица не существует или не принадлежит данному документу, возникает exception.

PDocTableReqChanged

PROCEDURE PDocTableReqChanged(
    PDocDataChange IN OUT NOCOPY TPDocDataChange, iReqClassID PLS_INTEGER, sOldValue VARCHAR2, sNewValue VARCHAR2,
    iRowAction PLS_INTEGER, iOrderNum PLS_INTEGER, iOwnerID PLS_INTEGER := NULL, iID PLS_INTEGER := NULL);
PRAGMA restrict_references (PDocTableReqChanged, WNDS);
-- Фиксирует добавление значения реквизита в добавленную строку таблицы персонального документа.
-- Параметры:
--   PDocDataChange - структура со сведениями об изменениях в реквизитах документа;
--   iReqClassID    - ID класса реквизита;
--   sReqValue      - значение реквизита;
--   iOrderNum      - порядковый номер строки (для вложенных таблиц - в пределах строки вышестоящей таблицы);
--   iOwnerID       - ID первичного реквизита строки вышестоящей таблицы; null для таблиц первого уровня;
--   iID            - ID первичного реквизита изменённой строки; если null, аудит вложенных таблиц невозможен.
-- Если реквизит не существует или не принадлежит таблице, или же таблица не существует или не принадлежит данному
-- документу, возникает exception.
PROCEDURE PDocTableAddedRowReq(
    PDocDataChange IN OUT NOCOPY TPDocDataChange, iReqClassID PLS_INTEGER, sReqValue VARCHAR2,
    iOrderNum PLS_INTEGER, iOwnerID PLS_INTEGER := NULL, iID PLS_INTEGER := NULL);
-- Фиксирует удаление значения реквизита из удалённой строки таблицы персонального документа.
-- Параметры:
--   PDocDataChange - структура со сведениями об изменениях в реквизитах документа;
--   iReqClassID    - ID класса реквизита;

Описание

Фиксирует изменение значения табличного реквизита персонального реквизита.
Параметры:

  • PDocDataChange - структура со сведениями об изменениях в реквизитах документа;
  • iReqClassID - ID класса реквизита;
  • sOldValue - старое значение реквизита;
  • sNewValue - новое значение реквизита.
  • iRowAction - действие, выполняемое над строкой таблицы: 1 - добавление, 2 - изменение, 3 - удаление;
  • iOrderNum - порядковый номер строки (для вложенных таблиц - в пределах строки вышестоящей таблицы);
  • iOwnerID - ID первичного реквизита строки вышестоящей таблицы; null для таблиц первого уровня;
  • iID - ID первичного реквизита изменённой строки; если null, аудит вложенных таблиц невозможен.

Если действие над строкой - 1 (добавление), старое значение реквизита игнорируется (заменяется на null).
Если действие над строкой - 3 (удаление), новое значение реквизита игнорируется (заменяется на null).
Если реквизит не существует или не принадлежит таблице, или же таблица не существует или не принадлежит данному
документу, возникает exception.

PDocTableAddedRowReq

PROCEDURE PDocTableAddedRowReq(
    PDocDataChange IN OUT NOCOPY TPDocDataChange, iReqClassID PLS_INTEGER, sReqValue VARCHAR2,
    iOrderNum PLS_INTEGER, iOwnerID PLS_INTEGER := NULL, iID PLS_INTEGER := NULL);
-- Фиксирует удаление значения реквизита из удалённой строки таблицы персонального документа.
-- Параметры:
--   PDocDataChange - структура со сведениями об изменениях в реквизитах документа;
--   iReqClassID    - ID класса реквизита;
--   sReqValue      - значение реквизита;
--   iOrderNum      - порядковый номер строки (для вложенных таблиц - в пределах строки вышестоящей таблицы);
--   iOwnerID       - ID первичного реквизита строки вышестоящей таблицы; null для таблиц первого уровня;
--   iID            - ID первичного реквизита изменённой строки; если null, аудит вложенных таблиц невозможен.
-- Если реквизит не существует или не принадлежит таблице, или же таблица не существует или не принадлежит данному
-- документу, возникает exception.
PROCEDURE PDocTableDeletedRowReq(
    PDocDataChange IN OUT NOCOPY TPDocDataChange, iReqClassID PLS_INTEGER, sReqValue VARCHAR2,
    iOrderNum PLS_INTEGER, iOwnerID PLS_INTEGER := NULL, iID PLS_INTEGER := NULL);
-- Фиксирует добавление строки таблицы персонального документа вместе со всеми её реквизитами и дочерними таблицами.
-- Параметры:
--   PDocDataChange     - структура со сведениями об изменениях в реквизитах документа;
--   iTableClassID      - ID класса таблицы;
--   iRegionID, iPDocID - ключ экземпляра документа;

Описание

Фиксирует добавление значения реквизита в добавленную строку таблицы персонального документа.
Параметры:

  • PDocDataChange - структура со сведениями об изменениях в реквизитах документа;
  • iReqClassID - ID класса реквизита;
  • sReqValue - значение реквизита;
  • iOrderNum - порядковый номер строки (для вложенных таблиц - в пределах строки вышестоящей таблицы);
  • iOwnerID - ID первичного реквизита строки вышестоящей таблицы; null для таблиц первого уровня;
  • iID - ID первичного реквизита изменённой строки; если null, аудит вложенных таблиц невозможен.

Если реквизит не существует или не принадлежит таблице, или же таблица не существует или не принадлежит данному
документу, возникает exception.

PDocTableDeletedRowReq

PROCEDURE PDocTableDeletedRowReq(
    PDocDataChange IN OUT NOCOPY TPDocDataChange, iReqClassID PLS_INTEGER, sReqValue VARCHAR2,
    iOrderNum PLS_INTEGER, iOwnerID PLS_INTEGER := NULL, iID PLS_INTEGER := NULL);
-- Фиксирует добавление строки таблицы персонального документа вместе со всеми её реквизитами и дочерними таблицами.
-- Параметры:
--   PDocDataChange     - структура со сведениями об изменениях в реквизитах документа;
--   iTableClassID      - ID класса таблицы;
--   iRegionID, iPDocID - ключ экземпляра документа;
--   iOrderNum          - порядковый номер строки (для вложенных таблиц - в пределах строки вышестоящей таблицы);
--   iOwnerID           - ID первичного реквизита строки вышестоящей таблицы; null для таблиц первого уровня.
-- Если таблица не существует или не принадлежит данному документу, возникает exception.
PROCEDURE PDocTableRowAdded(
    PDocDataChange IN OUT NOCOPY TPDocDataChange, iTableClassID PLS_INTEGER,
    iRegionID PLS_INTEGER, iPDocID PLS_INTEGER, iOrderNum PLS_INTEGER, iOwnerID PLS_INTEGER := NULL);
-- Удаляет строку таблицы документа, автоматически добавляя данные аудита в структуру.
-- Параметры:
--   PDocDataChange    - структура со сведениями об изменениях в реквизитах документа;
--   iRegionID, iReqID - ключ любого реквизита строки таблицы документа.
-- При этом перенумерации оставшихся строк таблицы документа не выполняется.
-- Если реквизит не существует, ничего не происходит.
-- При удалении проверяются необходимые привилегии пользователя, если их недостаточно, возникает exception.

Описание

Фиксирует удаление значения реквизита из удалённой строки таблицы персонального документа.
Параметры:

  • PDocDataChange - структура со сведениями об изменениях в реквизитах документа;
  • iReqClassID - ID класса реквизита;
  • sReqValue - значение реквизита;
  • iOrderNum - порядковый номер строки (для вложенных таблиц - в пределах строки вышестоящей таблицы);
  • iOwnerID - ID первичного реквизита строки вышестоящей таблицы; null для таблиц первого уровня;
  • iID - ID первичного реквизита изменённой строки; если null, аудит вложенных таблиц невозможен.

Если реквизит не существует или не принадлежит таблице, или же таблица не существует или не принадлежит данному
документу, возникает exception.

PDocTableRowAdded

PROCEDURE PDocTableRowAdded(
    PDocDataChange IN OUT NOCOPY TPDocDataChange, iTableClassID PLS_INTEGER,
    iRegionID PLS_INTEGER, iPDocID PLS_INTEGER, iOrderNum PLS_INTEGER, iOwnerID PLS_INTEGER := NULL);
-- Удаляет строку таблицы документа, автоматически добавляя данные аудита в структуру.
-- Параметры:
--   PDocDataChange    - структура со сведениями об изменениях в реквизитах документа;
--   iRegionID, iReqID - ключ любого реквизита строки таблицы документа.
-- При этом перенумерации оставшихся строк таблицы документа не выполняется.
-- Если реквизит не существует, ничего не происходит.
-- При удалении проверяются необходимые привилегии пользователя, если их недостаточно, возникает exception.
PROCEDURE DeletePDocTableRowEx(PDocDataChange IN OUT NOCOPY TPDocDataChange, iRegionID PLS_INTEGER, iReqID PLS_INTEGER);
-- Сохраняет в БД изменения в персональном документе. Список изменений берётся во временных таблицах.
-- Параметры:
--   iRegionID, iPDocID - ключ персонального документа;
--   PDocChange         - сведения о внесённых изменениях (заполняются процедурой);
-- Если документ не существует или пользователь не имеет прав на его изменение, возникает exception.
PROCEDURE SavePDocChanges(iRegionID PLS_INTEGER, iPDocID PLS_INTEGER, PDocChange OUT TPDocDataChange);
-- Возвращает текст для записи аудита изменений в реквизитах персонального документа.
-- Параметры:
--   PDocDataChange - структура со сведениями об изменениях в реквизитах документа;
--   iMaxLen        - максимальная длина описания в символах; если длина превышена, текст описания усекается.

Описание

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

  • PDocDataChange - структура со сведениями об изменениях в реквизитах документа;
  • iTableClassID - ID класса таблицы;
  • iRegionID, iPDocID - ключ экземпляра документа;
  • iOrderNum - порядковый номер строки (для вложенных таблиц - в пределах строки вышестоящей таблицы);
  • iOwnerID - ID первичного реквизита строки вышестоящей таблицы; null для таблиц первого уровня.

Если таблица не существует или не принадлежит данному документу, возникает exception.

DeletePDocTableRowEx

PROCEDURE DeletePDocTableRowEx(PDocDataChange IN OUT NOCOPY TPDocDataChange, iRegionID PLS_INTEGER, iReqID PLS_INTEGER);

Описание

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

  • PDocDataChange - структура со сведениями об изменениях в реквизитах документа;
  • iRegionID, iReqID - ключ любого реквизита строки таблицы документа.

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

SavePDocChanges

PROCEDURE SavePDocChanges(iRegionID PLS_INTEGER, iPDocID PLS_INTEGER, PDocChange OUT TPDocDataChange);

Описание

Сохраняет в БД изменения в персональном документе. Список изменений берётся во временных таблицах.
Параметры:

  • iRegionID, iPDocID - ключ персонального документа;
  • PDocChange - сведения о внесённых изменениях (заполняются процедурой);

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

GetAuditText

FUNCTION GetAuditText(PDocDataChange TPDocDataChange, iMaxLen PLS_INTEGER) RETURN VARCHAR2;

Описание

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

  • PDocDataChange - структура со сведениями об изменениях в реквизитах документа;
  • iMaxLen - максимальная длина описания в символах; если длина превышена, текст описания усекается.

Функции для сбора информации для парсеров

GetCategoriesPresence

PROCEDURE GetCategoriesPresence(iRegionID PLS_INTEGER, iPCID PLS_INTEGER, dDate DATE, PresenceList IN OUT uszn.pkParse.TRgnIDPresenceList);

Описание

Заполняет перечисленные в PresenceList категории информацией об их наличии на дату dDate у человека/коллектива

  • Дата dDate должна быть указана!

GetDocReqValues

PROCEDURE GetDocReqValues(iRegionID PLS_INTEGER, iClassID PLS_INTEGER, iDocInstanceID PLS_INTEGER, iOrderNum PLS_INTEGER := 0, iOwnerID PLS_INTEGER := NULL, InfoList IN OUT uszn.pkParse.TPDocReqInfoList, DocReqList IN OUT uszn.pkParse.TPDocValueList);

Описание

Загружает значения реквизитов указанного персонального документа или строчки таблицы в DocReqList.
Если загружаются скалярные реквизиты документа, то:

  • iClassID - class_id документа, iOrderNum=0, iOwnerID=null;

Если загружаются реквизиты из строчки таблицы, то:

  • iClassID - class_id таблицы, iOrderNum и iOwnerID - соответствующие параметры строчки

Загружаются только те классы реквизитов, которые перечислены в InfoList;

  • Если в InfoList присутствуют реквизиты вложенной таблицы, то загружается несколько значений (при их наличии).