БИТ.ФИНАНС

Рекомендации по настройке алгоритмов визирования

Сокращайте количество точек алгоритмов
1. Сокращайте количество точек алгоритмов. Чем больше точек в алгоритме тем дольше будут происходить действия с алгоритмом. Пример: был настроен простой алгоритм визирования для документа «Проект договора», в котором было 48 точек. Алгоритм состоял из 6 пользовательских условий, которые определяли тип договора и 7 согласующих по каждому типу договора. Т.е. весь процесс согласования договора был введен в один алгоритм визирования в системе
Этот алгоритм будет работать гораздо быстрее если его разбить на 6 алгоритмов согласно каждому условию
После такого разбиения алгоритма необходимо каждый алгоритм назначить документу согласно условиям
Не ограничивайте права на установку виз пользовательскими условиями, если это можно сделать другими способами
2. Не ограничивайте права на установку виз пользовательскими условиями, если это можно сделать другими способами (RLS, Роли исполнителей).

Пример: в регистре сведений «Права установки виз» у пользователя «Иванов И.И.» есть права на установки визы «Руководитель ЦФО», но с условием - если в документе ЦФО = Атлантика. И аналогичная ситуация складывается для группы пользователей.
Подобные ситуации лучше решать с помощью назначения прав установки виз для Роли исполнителя.
Используя пользовательские условия, можно назначить права установки виз для Роли исполнителя, например, для роли «Руководитель ЦФО». Тогда в маршруте визирования может быть создана одна точка действия – виза «Руководитель ЦФО», а для каждого конкретного документа система будет подбирать пользователя, который должен визировать данный документ, исходя из принадлежности его к определенной роли и конкретному объекту адресации.
В справочнике «Роли исполнителей» задаются роли, которые будут использоваться в организации для механизма визирования, а также могут использоваться для механизма бизнес-процессов (адресация задач исполнителям).
Для каждой роли может быть указано до трех объектов адресации. Виды объектов адресации хранятся в плане видов характеристик «Виды объектов адресации задач», для каждого вида указывается один из трех типов данных: Организация, ЦФО или Проект. Флаг «Обязательный» устанавливается, если данный объект адресации обязательно должен быть указан при назначении роли исполнителям задач. В нашем примере рекомендуется установить флаг «Обязательный», чтобы избежать ошибок при назначении ролей исполнителям в регистре «Исполнители задач».
Например, для роли «Руководитель ЦФО» объектом адресации будет являться ЦФО. Для добавления объекта адресации, необходимо в колонке «Вид» выбрать соответствующее значение из списка «Виды объектов адресации задач».

В регистре «Исполнители задач» необходимо указать исполнителей, которые будут согласовывать документы, их роли и объекты адресации.
Далее, в регистре «Права установки виз» создается новая запись, в которой будут установлены права для роли «Руководитель ЦФО». В качестве пользователя выбирается группа «Руководители ЦФО»
В справочнике «Пользовательские условия» необходимо добавить новый элемент справочника. Указать для него наименование, контекст=Текущий объект. В конструкторе произвольно условия выбрать «Прочее» – функция «ДоступнаРольИсполнителя», вид сравнения = значение «Да».
Нажать кнопку «ОК», затем выбрать роль «Руководитель ЦФО».
Теперь для роли «Руководитель ЦФО» назначены права установки визы «Руководитель ЦФО». Причем несмотря на то, что мы создали пользовательское условие для документа «Заявка на расходование денежных средств», данное условие будет применяться для всех документов БИТ.ФИНАНС, в которых присутствует реквизит «ЦФО», а в маршруте визирования которых присутствует виза «Руководитель ЦФО».

Важно
При назначении прав на установку виз с использованием ролевой модели крайне не рекомендуем выбирать в качестве пользователя группу "Все пользователи". Наиболее оптимально с точки зрения производительности системы создать отдельные группы по специализации и назначать их. К примеру, группы могут быть следующими: "Руководители ЦФО", "Бухгалтерия", "Инициаторы заявок" и так далее.
Ограничение прав на установку виз с помощью RLS

Так же, если пользователь должен видеть только документы своего ЦФО (а не видеть все документы, с правом установки только по своему ЦФО), то эту задачу можно решить с помощью настройки прав доступа на уровне записей, ограничив для пользователя видимость документов (в т.ч. и для согласования) по ЦФО. При таком ограничении пользователь просто не видит в базе документов, в которых теоретически мог бы установить визу «Руководитель ЦФО».

Настройки прав доступа на уровне записей (RLS) подойдет в том случае, если пользователь должен видеть документы только своего ЦФО, а не всех, и, соответственно, право на установку виз аналогично должно распространяться только на эти документы. Разберем настройку механизма RLS на примере:

Предположим, пользователю «Иванову И.И.» должна быть доступна виза «Бухгалтерия» по некоторым статьям БДДС для ЦФО «Атлантика-Трейдинг».

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

В единичном случае данная настройка слабо отразится на производительности программы, однако, если аналогичные настройки установлены каждому пользователю, то производительность сильно просядет. Более оптимальным методом является использование RLS.

Для использования механизма RLS в первую очередь требуется открыть раздел
Настройки (БИТ) -> Константы (БИТ) и на закладке «Права доступа» установить следующие флаги:
После их установки и записи можно перейти непосредственно к настройке прав доступа на уровне записи.
Для этого в разделе Настройки (БИТ) требуется открыть обработку «Настройка прав доступа на уровне записей (БИТ)».