Документация 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 присутствуют реквизиты вложенной таблицы, то загружается несколько значений (при их наличии).