<< Click to Display Table of Contents >> Администрирование (Windows) > Обновление системы > Обновление среды разработки > Изменения базового решения Directum RX Изменения в версии 4.9 |
Изменение обложек и дерева модулей
1.В модули добавлены вычисляемые папки:
Модуль |
Вычисляемые папки |
---|---|
Docflow (Документооборот) |
PowerOfAttorneyList (Реестр доверенностей) |
Contracts (Договорные документы) |
ContractsList (Реестр договоров) |
ExpiringSoonContracts (Договоры на завершении) |
|
ContractsAtContractors (Документы у контрагентов) |
|
ContractsHistory (История договоров) |
|
IssuanceJournal (Документы у сотрудников) |
|
FinancialArchive (Финансовые документы) |
FinContractList (Договоры и доп. соглашения) |
DocumentsWithoutScan (Отсутствуют скан-копии) |
|
SignAwaitedDocuments (Ожидают подписания) |
|
Meetings (Документы по совещаниям) |
Minutes (Протоколы совещаний) |
RecordManagement (Делопроизводственные документы) |
DocumentsToReturn (Документы к возврату) |
OrdersCompanyDirectives (Приказы и распоряжения) |
2.Вычисляемые папки помечены как устаревшие в модулях:
Модуль |
Вычисляемые папки |
---|---|
ContractsUI (Договоры) |
ContractsList (Реестр договоров) |
ExpiringSoonContracts (Договоры на завершении) |
|
ContractsAtContractors (Документы у контрагентов) |
|
ContractsHistory (История договоров) |
|
IssuanceJournal (Документы у сотрудников) |
|
FinancialArchiveUI (Финансовый архив) |
FinContractList (Договоры и доп. соглашения) |
DocumentsWithoutScan (Отсутствуют скан-копии) |
|
SignAwaitedDocuments (Ожидают подписания) |
|
MeetingsUI (Совещания) |
Minutes (Протоколы совещаний) |
RecordManagementUI (Делопроизводство) |
DocumentsToReturn (Документы к возврату) |
3.Из модулей ContractsUI (Договоры), FinancialArchiveUI (Финансовый архив) и RecordManagementUI (Делопроизводство) удалена папка PowerOfAttorneyList (Реестр доверенностей).
4.В проводнике скрыты модули: FinancialArchiveUI (Финансовый архив), Docflow (Документооборот), Commons (Общие справочники), MeetingsUI (Совещания), Company (Компания), Parties (Контрагенты), ContractsUI (Договоры) и RecordManagementUI (Делопроизводство).
5.При инициализации для каждой роли создается внешняя ссылка (external link), если она не была создана ранее.
Вид документа, удостоверяющего личность
В модуле Parties (Контрагенты):
1.Добавлен тип справочника IdentityDocumentKind (Вид документа, удостоверяющего личность) со свойствами:
Свойства |
Описание |
---|---|
Name |
Имя |
ShortName |
Сокращенное имя |
Code |
Код |
SID |
SID |
Note |
Примечание |
SpecifyIdentitySeries |
Указывать серию |
SpecifyIdentityExpirationDate |
Указывать срок действия |
SpecifyIdentityAuthorityCode |
Указывать код подразделения |
SpecifyBirthPlace |
Указывать место рождения |
IdentitySeriesPattern |
Формат серии |
IdentityNumberPattern |
Формат номера |
IdentityAuthorityCodePattern |
Формат кода подразделения |
2.Добавлена серверная функция CanEditIdentificationDocuments() – проверка права текущего сотрудника на редактирование данных документов, удостоверяющих личность.
Персона
В модуле Parties (Контрагенты) в типе справочника Person (Персона) добавлены новые свойства:
Свойства |
Описание |
---|---|
IdentityKind |
Вид документа |
IdentitySeries |
Серия |
IdentityNumber |
Номер |
IdentityDateOfIssue |
Дата выдачи |
IdentityExpirationDate |
Срок действия |
IdentityAuthority |
Кем выдан |
IdentityAuthorityCode |
Код подразделения |
BirthPlace |
Место рождения |
Доступность, обязательность и логика проверки корректности новых полей зависят от значения поля IdentityKind (Вид документа). При смене значения IdentityKind (Вид документа) недоступные для редактирования поля очищаются.
Генерация содержимого доверенности в формате XML
За генерацию содержимого доверенности отвечает метод CreateFormalizedPowerOfAttorneyXml(). Он содержит два метода генерации доверенностей, которые применяются в зависимости от ее формата:
• | CreateFormalizedPowerOfAttorneyXmlV2() – для доверенностей в формате 002; |
• | CreateFormalizedPowerOfAttorneyXmlV3() – для доверенностей в формате 003. |
Если формат доверенности не поддерживается в Directum RX, возвращается значение null.
В обоих методах генерации создаются пустые экземпляры модели доверенности и с помощью отдельных перекрываемых методов заполняются узлы. После этого объект преобразуется в формат XML. Например, порядок генерации доверенности в формате 002:
1.Функция PoAV2Builder.CreateEmptyPoA() создает пустой объект с помощью сторонней библиотеки FormalizeDocumentParser.
2.Заполняется поле ИдФайл.
3.Функция FillFPoAInfoV2() заполняет основную информации о доверенности.
4.Функция AddLegalEntityPrincipalV2() добавляет информацию о доверителе (юридическом лице).
5.Добавляется информация о представителе. В зависимости от типа представителя могут использоваться различные функции:
•AddIndividualAgentV2() – для физического лица и сотрудника;
•AddLegalEntityAgentV2() – для юридического лица;
•AddEntrepreneurAgentV2() – для индивидуального предпринимателя.
6.Функция FillPowersV2() заполняет полномочия, передающиеся по доверенности.
7.Метод Sungero.FormalizeDocumentsParser.Extension.GetPowerOfAttorneyXmlV2() преобразует объект в формат XML.
Импорт и заполнение карточки электронной доверенности
Импорт доверенности обрабатывается в перекрываемом методе ImportFormalizedPowerOfAttorneyFromXmlAndSign().
За заполнение карточки доверенности отвечает перекрываемый метод FillFormalizedPowerOfAttorney(). В зависимости от формата доверенности могут использоваться различные методы:
• | FillFPoAV2() – для доверенностей в формате 002; |
• | FillFPoAV3() – для доверенностей в формате 003. |
Если версию определить не удалось, используется обработка по умолчанию.
Электронная доверенность
В модуле Docflow (Документооборот):
1.В тип документа FormalizedPowerOfAttorney (Электронная доверенность) добавлено свойство FormatVersion – Версия формата.
2.В абстрактном типе документа PowerOfAttorneyBase (Базовая доверенность) изменен тип свойства Powers (Полномочия) со строки на текст.
3.Обновлена библиотека FormalizeDocumentParser.
МКДО. Аннулирование документов
В модуле Exchange (Электронный обмен):
1.Добавлен тип документа CancellationAgreement (Соглашение об аннулировании), наследник от Sungero.Docflow.ContractualDocumentBase, со свойствами:
Свойства |
Описание |
---|---|
Reason |
Причина аннулирования |
ServiceDocumentId |
ИД документа в сервисе обмена |
2.В типе справочника ExchangeDocumentInfo (Сведения о документе обмена) добавлено свойство ParentDocumentInfo (Сведения об осн. документе обмена).
В модулях Exchange и ExchangeCore и (Электронный обмен. Настройки) обновлены сторонние библиотеки DCX.
В модуле Workflow (Управление бизнес-процессами) тип задачи на обработку соглашения об аннулировании с SimpleTask (Простая задача) изменен на ExchangeDocumentProcessingTask (Задача на обработку входящих документов эл. обмена).
Передача прав доступа от закрытых сотрудников руководителю
Чтобы минимизировать количество неактуальных замещений по закрытым сотрудникам, в модуль Company (Компания) добавлен новый фоновый процесс «Компания. Передача прав закрытых сотрудников». Он отбирает подходящие системные замещения по закрытым сотрудникам и создает из них очередь и запускает передачу прав.
Замещение считается подходящим, если сотрудник уволился более 180 дней назад. Для настройки этого периода в таблицу Sungero_Docflow_Params добавлен параметр SubstitutionAccessRightsWaitingDaysCount.
Асинхронный обработчик CheckTransferSubstitutedAccessRights отслеживает процесс передачи прав и закрывает системное замещение после завершения копирования.
Работать с системными замещениями также можно с помощью утилиты RxCmd. Для этого администратору нужно выполнить одну из команд:
•rxcmd syssubs transfer-ar – запускает передачу прав от сотрудника руководителю;
•rxcmd syssubs show – показывает информацию о системном замещении между двумя пользователями;
•rxcmd syssubs bulk-transfer-ar – запускает передачу прав от закрытых сотрудников руководителю;
•rxcmd syssubs show-stat – показывает информацию о системных замещениях для руководителя.
Создание и удаление системных замещений
Переработана логика создания и удаления системных замещений:
1.Системное замещение создается:
•руководителю нашей организации на руководителя подразделения первого уровня;
•руководителю ведущего подразделения на руководителя подчиненного подразделения;
•руководителю подразделения на сотрудника подразделения.
2.Теперь не создаются дубли системных замещений.
3.Неактуальные замещения удаляются асинхронно. Вместо удаления системных замещений, которые настроены на руководителя, теперь создается очередь на их удаление. Например, при смене руководителя системные замещения между предыдущим руководителем и сотрудниками подразделения считаются устаревшими и их нужно удалить. Системные замещения попадают в очередь на удаление. Фоновый процесс «Компания. Удаление системных замещений» периодически обрабатывает элементы очереди и удаляет устаревшие. Таким образом снижается нагрузка на веб-сервер.
4.Системное замещение считается устаревшим, если оно не может быть выполнено. Например, руководитель подразделения не сможет замещать своего сотрудника, если тот уволился из организации.
5.Актуальность системного замещения проверяется перед попыткой его удаления фоновым процессом.
В модуль Company (Компания) добавлены:
•справочник элементов очереди из системных замещений, которые переданы на удаление, SystemSubstitutionQueueItem;
•константа DeleteSystemSubstitutionBatchSize. Она определяет количество элементов очереди, которые обрабатываются за один раз фоновым процессом «Компания. Удаление устаревших системных замещений». Константа имеет значение 100.
Фильтрация списков в два этапа
Для оптимизации нагрузки на базу данных при работе с большим количеством записей добавлено новое серверное событие «Предварительная фильтрация». Событие применяется:
•в списках:
•Задачи на исполнение поручения (ActionItemExecutionTask);
•Финансовые документы(AccountingDocumentBase);
•Входящие документы (IncomingDocumentBase);
•Внутренние документы (InternalDocumentBase);
•Исходящие документы (OutgoingDocumentBase);
•Базовые доверенности (PowerOfAttorneyBase);
•Входящие счета (IncomingInvoice);
•Исходящие счета (OutgoingInvoice).
•в вычисляемых папках:
•Документы по проектам (ProjectDocuments);
•Протоколы совещаний (Minutes);
•Договоры и доп.соглашения (FinContractList);
•Реестр доверенностей (PowerOfAttorneyList);
•Реестр договоров (ContractsList);
•История договоров (ContractsHistory);
•Договоры на завершении (ExpiringSoonContracts);
•Документы у контрагентов (ContractsAtContractors);
•Документы у сотрудников (IssuanceJournal);
•Приказы и распоряжения (OrdersCompanyDirectives).
Событие выполняется каждый раз при получении сущности или списка сущностей и разделяется на предварительный и окончательный отбор элементов
Событие «Предварительная фильтрация» формирует отдельный запрос к базе данных. Поэтому рекомендуется в предварительной фильтрации использовать критерии из панели фильтрации, а также логику самого списка или папки, чтобы значительно сузить выборку данных. Например, фильтрация по критерию Наша организация подойдет для компании с большим количеством наших организаций. Для критериев из панели фильтрации в базе данных должны быть созданы индексы. Также предварительная фильтрация не должна:
•фильтровать список по логическим свойствам;
•полностью сканировать таблицу.
Кроме того переработаны индексы для оптимального выполнения запросов фильтрации. Удалены индексы для таблицы Sungero_Content_EDoc:
•idx_EDoc_AccCParty;
•idx_EDoc_BusinessUnit;
•idx_EDoc_Department;
•idx_EDoc_Counterparty;
•idx_EDoc_DocRegister;
•idx_EDoc_DocumentKind;
•idx_EDoc_DocumentGroup;
•idx_EDoc_InCorr;
•idx_EDoc_RespEmpl;
•idx_EDoc_RegState;
•idx_EDoc_Discr_DocDate_LifeCycleState_IntApprState_SecureObject;
•idx_EDoc_Discr_DocDate_RegState_DocKind_SecureObject;
•idx_EDoc_Discriminator_DocumentDate_RegState_SecureObject.
Добавлены индексы для таблицы Sungero_Content_EDoc:
•idx_EDoc_DocumentDate_Discriminator;
•idx_EDoc_CaseFile_Discriminator;
•idx_EDoc_SchedRetDate_Discriminator;
•idx_EDoc_DaysToFinishWo_Discriminator;
•idx_EDoc_IssuedToParty_Discriminator;
•idx_EDoc_RegDate_Discriminator;
•idx_EDoc_AccCParty_Discriminator;
•idx_EDoc_BusinessUnit_Discriminator;
•idx_EDoc_Department_Discriminator;
•idx_EDoc_Counterparty_Discriminator;
•idx_EDoc_DocRegister_Discriminator;
•idx_EDoc_DocumentGroup_Discriminator;
•idx_EDoc_InCorr_Discriminator;
•idx_EDoc_RespEmpl_Discriminator;
•idx_EDoc_RegState_Discriminator.
Добавлены индексы для таблицы Sungero_Docflow_OffDocTracking:
•idx_Tracking_ReturnDeadline_Discriminator;
•idx_Tracking_ReturnResult_Discriminator.
Несовместимости. Отчет «Контроль сроков исполнения поручений»
1.В модуле RecordManagement (Делопроизводственные документы) структура LightActionItem при выборке получает только ID автора и исполнителя. Значения сущностей и вычисление фамилии и инициалов соисполнителей заполняются после основной выборки метода GetActionItemCompletionData(). Для этого выделены методы:
•public virtual List FillLightActionItemListAuthors(List);
•public virtual List FillLightActionItemListAssignees(List);
•public virtual List FillLightActionItemListCoAssigneeShortNames(List).
2.Если таблица Sungero_Content_EDoc содержит много документов, новые индексы можно создать вручную перед инициализацией стандартной прикладной разработки.
Прочие изменения
1.В предметном модуле Content методы для получения связанных документов GetRelated() и GetRelatedFrom() помечены устаревшими и оставлены для совместимости. Вместо них рекомендуется использовать новые методы GetRelatedDocuments(), GetRelatedFromDocuments() и GetRelatedAndRelatedFromDocuments().
2.В модуле Company (Компания):
•в типе сущности Department (Подразделение) удалена серверная функция CreateSystemSubstitutions();
•функция CreateSorageProcedures() переименована в CreateStoredProcedures().
3.Помечены устаревшими серверные функции:
Серверная функция |
Описание |
Рекомендуемая замена |
---|---|---|
GetBuyerTitle() |
Получение титула покупателя |
GetBuyerTitleOrSecondSignatureReportRow() |
GetExchangeOrderInfo() |
Получить данные для формирования отчета «Протокол эл. обмена» |
GetExchangeOrderReportRows() |
CreateMessage() |
Создать сообщение для отправки в сервис обмена |
Новая функция CreateMessage(), в которой есть дополнительные параметры для ИД подразделений контрагента и абонентского ящика нашей организации |
Тип сущности DocumentReviewTask (Задача на рассмотрение документа) |
||
StartActionItemsForDraftResolution() |
Отправить проект резолюции на исполнение |
GetChildActionItemsForDraftResolution() |
© Компания Directum, 2024 |