Изменения в платформе DIRECTUM 4.9.1

18 13

Описание основных изменений описано в официальном пресс-релизе - Развитие администрирования, масштабируемости и межкорпоративного обмена вDIRECTUM 4.9.1

Подробное описание всех изменений версии смотрите на сайте support.directum.ru.

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

Возможность вызова сторонней справки

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

Первое, что было сделано для реализации данного функционала – две новые установки системы:

  1. Установка ExternalHelpSystemSettings, в которой хранится код прикладного справочника «Ссылки на стороннюю справочную систему», и код реквизита, в котором хранится контекст справки (хранятся в одной установке, разделяются через символ «#»).
  2. Установка MB_ASystemName. Во всех местах, где есть пункт меню «Справка», появится пункт меню «Справка: <Значение установки MB_ASystemName из Установок системы>» для внешней справки.

Еще одно изменение состоит в том, что во всех местах платформы, где работает вызов справки по клавише F1, теперь работает вызов внешней справки по Shift+F1, если существует статья для текущего контекста справки.

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

Ограничение на количество объектов семейства задач

При разработке DIRECTUM 4.9.1 для предотвращения создания задач, с деревом которых работать будет невозможно в силу большого числа объектов, было принято решение ввести новую установку системы – максимальное количество объектов семейства задач (MaxTaskFamilyObjectCount). За объект принимаются задачи, задания, уведомления и задания-контроль. Настройка рассчитана на сценарий постепенно растущего семейства задач.

Возможные значения:

  • Значение по умолчанию: 0 (ограничений нет);
  • Рекомендуемое значение: 1000-10000.

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

Превышение максимального количества объектов

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

  • Максимум достигнут, на службе workflow создаётся задание-контроль. В данном случае нет смысла прекращать задачу и посылать уведомление, т.к. итоговое количество объектов будет одинаковым;
  • Максимум не влияет на служебные задачи и уведомления, создаваемые службой workflow как реакция на некоторые типы ошибок (задача ответственному за календарь рабочего времени, за DICS и т.п.);
  • В условиях репликации ограничение будет срабатывать не всегда корректно: ограничение сработает только с учетом количества объектов семейства, которое в данный момент есть на текущем сервере (например, одновременно создаются подзадачи к задаче на разных серверах). Если в каждой из таких задач количество исполнителей будет близко к максимуму, то общее количество объектов сильно его превысит.

Предотвращение превышения максимального количества объектов

Возможны случаи, когда исключение будет сгенерировано до превышения максимального количества объектов, а не после него. Примеры:

  • Служба workflow обрабатывает блок, в рамках которого будет создано такое количество объектов, которое превысит разрешенный максимум (обработка блока уведомления для 1000 сотрудников, если максимум – 900);
  • Создание подзадачи к задаче, в семействе которой уже (max-1) объектов;
  • Добавление в маршрут или список наблюдателей нового пользователя или группы, если в совокупности с уже добавленными в маршрут пользователями (и настроенным списком наблюдателей), задача заведомо не пройдет по ограничению.

В случае попытки превышения ограничения будет выдано соответствующее сообщение.

Ограничение на число участников задачи

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

Возможные значения:

  • Значение по умолчанию: 0 (ограничений нет);
  • Рекомендуемое значение: 100-1000 (устанавливается с учетом настроек Workflow и ресурсов сервера).

Настройка применяется при:

  • Сохранении задачи;
  • Настройке маршрута через строку маршрута и диалог;
  • Настройке списка наблюдателей через строку списка наблюдателей и диалог.

Ограничение разворачивания больших групп

В рамках работ по скрытию оргструктуры предприятия (на тех предприятиях, где это необходимо) выполнена еще одна важная модификация. И вновь введена новая установка системы - максимальное число пользователей групп с запретом на просмотр списка входящих в них пользователей (RestrictedGroupUserCount). В зависимости от режима добавления учитываются либо все пользователи подгрупп, либо только пользователи группы непосредственно. Настройка предназначена ограничения возможности узнать состав больших групп.

Возможные значения:

  • Значение по умолчанию: 0 (ограничений нет);
  • Рекомендуемое значение: 10-100 (рекомендуется устанавливать по размеру единицы оргструктуры первого уровня).

Некоторые примечания относительно данной настройки:

  • Настройка не применяется при отсутствии скрытия оргструктуры в правах на компоненты;
  • Настройку имеет смысл устанавливать только, когда в системе есть большие группы пользователей;
  • Настройка срабатывает только на уровне пользовательского интерфейса.

Настройка применяется:

  • При настройке маршрута и списка наблюдателей через карточку задачи;
  • В диалогах настройки маршрута и наблюдателей;
  • В диалогах настройки списков пользователей в параметрах ТМ, мастеров и правил типа «Список пользователей» и «Коллекция пользователей».

При срабатывании ограничения пользователю выводится предупреждающее сообщение об ошибке.

Изменения в правах пользователей

Настройка «Минимальный тип прав для подписания» в видах документов

Существенные изменения коснулись прав на электронные документы. Раньше для того, чтобы поставить визирующую подпись на документ, нужно было как минимум обладать правами на изменение этого документа. Теперь в компоненте «Виды электронных документов» для каждого вида документов можно указать минимальный уровень прав, которыми должен обладать пользователь для подписания документа этого вида визирующей подписью. Возможные варианты:

  • Полный;
  • Изменение (по умолчанию);
  • Просмотр.

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

Примечание. Программную проверку на наличие прав на подписание документа достаточно было заменить проверкой прав на изменение. Сейчас необходимо использовать метод IEDocument.TryEdit() для режима emSign.

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

Делегирование прав на документы - это реализация одной из популярнейших идей нашего Club'а

Приведем пример, вероятность возникновения которого при работе с системой DIRECTUM велика: у пользователя, имеющего права только на просмотр документа, появляется необходимость ознакомить с этим документом других пользователей, не имеющих прав на просмотр. Раньше для выдачи прав на просмотр другим пользователям потребовались бы полные права. Но теперь этого можно избежать, потому что в окне прав документа появился новый флаг – «Разрешить передавать права». Установить или снять его может только пользователь с полными правами на документ.

Если данный флаг установлен – любой пользователь, имеющий права на документ, сможет выдавать на него права, не выше своих. Понижать права он не сможет, в т.ч. не сможет отобрать права, которые сам же выдал, после их сохранения. Понижать права по-прежнему сможет только пользователь, имеющий полные права на документ.

Примечание. В формах настройки прав на несколько объектов одновременно, а так же настройки прав на вложения – данный флаг отсутствует.

Добавляются следующие настройки для администратора:

  • В справочнике «Виды электронных документов» – возможность настройки значения этого флага по умолчанию для новых документов этого вида. Т.е. при создании документа значение для флага будет браться из вида документа, но после создания пользователь с полными правами может в любой момент изменить значение флага. Изменение настройки в виде документа никак не влияет на уже созданные документы этого вида. При смене флага у существующего вида документа флаг в правах этого документа не изменяется;
  • В «Установках системы» имеется возможность полностью отключить данный функционал. При включении этой установки (DelegateAccessRightsEnabled) – флаг в окне прав на документ скрывается, возможность настройки в видах документов скрывается, платформа в своей работе игнорирует значение флага у документа. По умолчанию настройка включена – т.е. новый функционал доступен.

Для программной работы будут доступны следующие механизмы:

  • Во всех типах карточек документов появится новый системный реквизит, в котором будет храниться значение флага в правах. При создании новых типов карточек реквизит будет появляться автоматически. С этим реквизитом можно будет работать программно – как читать, так и изменять значение реквизита. Изменение значения реквизита можно будет сохранить только в том случае, если текущий пользователь обладает полными правами на документ;
  • В методе IEDocument.TryEdit появится новый режим проверки (новое значение перечислимого типа TEditMode) – возможность расширять права документа не выше прав текущего пользователя;
  • В видах электронных документов появляется новый реквизит, отвечающий за значение по умолчанию. С ним можно работать программно – читать под любым пользователем, изменять под администратором;
  • В установках системы появляется новая настройка, с ней так же можно работать программно.

Заключение

В качестве завершения статьи хотелось бы напомнить о том, что начиная с DIRECTUM 4.9.1 полностью прекращается поддержка SQL 2000.

Отредактировал Елена Питомцева, 06.03.2013 в 11:32
Андрей Девятьяров
Настройка не применяется при отсутствии скрытия оргструктуры в правах на компоненты;
Дополню, что собственно скрытие оргструктуры - это тип прав доступа, в котором у пользователя нет доступа на реквизит "Родительская группа" (такой реквизит есть у справочника Группы пользователей). У типа прав есть приоритет, он должен быть выше всех остальных типов прав доступа к конкретной компоненте, чтобы скрытие заработало.
Марина Белокрылова

спасибо за статью, было полезно!

Александр Павлов

А можно пример как добавить свой файл справки ? Ничего не понял - какие коды и где они есть?

Андрей Подкин
А можно пример как добавить свой файл справки ? Ничего не понял - какие коды и где они есть?
Просто файл добавить нельзя. Можно сделать вызов своей справки из ISBL-кода. Вас такой вариант устроит?
Александр Павлов

Возможно. В каком формате должна быть справка? И как же её вызвать?

Андрей Подкин

А это уже вопросы к вам wink

Новая версия платформы только реализует механизм по выполнению нужного вам ISBL-кода, когда пользователь захотел вызвать внешнюю справку. Если интересно, могу рассказать, как что настраивать и где писать этот код для вызова вашей справки.

Александр Павлов

Да, раскажите пожалуйста, что надо настоить и где писать код для вызова внешней справки.

Андрей Подкин

Написал материал. Ждем, пока его одобрят

Андрей Подкин
Александр Павлов

Что-то я ещё не понял - установка MB_ASystemName и раньше ведь была?  Но вот менять её никак нельзя - регистрация слетит и никто не сможет залогиниться.

Дмитрий Чепель
Что-то я ещё не понял - установка MB_ASystemName и раньше ведь была? Но вот менять её никак нельзя - регистрация слетит и никто не сможет залогиниться.

В статье указана неверная информация.

Установка MB_ASystemName была и раньше, менять её нельзя, слетит ключ.

Корректная информация:

  1. В пункте меню справка действие "Справка: DIRECTUM" открывает стандартную справочную систему.
  2. Действие "Справка: <Значение MB_ASystemName>" открывает внешнюю справочную систему. Действие доступно, если настроена внешняя справочная система.
     
 
Александр Павлов

Теперь понятно smiley

Андрей Манаков

А как быть, если <Значение MB_ASystemName> = DIRECTUM?

Авторизуйтесь, чтобы написать комментарий