Доступ в реестре Процессов

Добрый день!

TS 3.4.0.180

В реестре процессов(в отличие от других реестров) нет детали
"Доступ", таким образом невозможно настроить права доступа к чужим
процессам, каждый видит только свои процессы. Если вообще такая
возможность в данной конфигурации и как решить эту проблему?

Нравится

9 комментариев

Добрый день Андрей!!!

по умолчанию в конфигурациях Terrasoft CRM, XRM 3.4 таблица tbl_Workflow не "Администрируется по полям", т.е по умолчанию пользователи системы видят все процессы без ограничения. Максимум, что Администрируется это Только раздел "Процессы", т.е кому разрешено видеть данный раздел, а кому запрещено.

пожалуйста через посмотрите в таблице tbl_Workflow случайно не включена опция "Администрируется по записям". если включена я расскажу как в раздел Процессы добавить новую деталь. Если у вас не дорабатывались сервисы, то и поделюсь уже доработанными 2-мя сервисами. Спасибо!!!

У меня, к сожалению, не XRM версия, а CRM. Там есть настройка для администрирования записей - Права доступа по умолчанию. Я выделил группу процессов и сделал доступ на всех пользователей, тем не менее, каждый видит только свои процессы, кроме админов.
А насчет этого

"Власов Михаил Викторович" написал:пожалуйста через посмотрите в таблице tbl_Workflow случайно не включена опция "Администрируется по записям".
я не понял где это смотреть.

Требуется открыть Террасофт Администратор, в Реестре Модулей открыть: "Workflow --> General --> Main Grid". В открывшейся ветви находим таблицу tbl_Workflow, Открываем ее и смотрим установлена голочка или нет "Администрируется по полям". Если установлена и вам действительна нужна данная деталь, тогда да пожалуйста я вам расскажу как ее добавить. Только прежде всего Андрей вы для себя определитесь действительно ли вам требуется, чтобы каждый сотрудник видел только свои процессы. Если да тогда еще раз повторюсь помогу вам создать в Разделе "Процессы" деталь "Доступ". Но если вам не требуется Чтобы каждый пользователь видел только свои "Процессы", то мой вам совет снимите галочку с "Администрируется по полям" в таблице tbl_Workflow и после сохраните и обновите Таблицу.

Во вложение прилагаю Скриншот таблицы tbl_Workflow где вы сможите найти Опцию "Администрируется по полям"

Провел ряд экспериментов. В сервисе таблицы tbl_Workflow ни одна галочка не установлена, тем не менее я вижу только свои процессы, под Админом вижу все процессы. То есть такая ситуация

"Власов Михаил Викторович" написал:по умолчанию в конфигурациях Terrasoft CRM, XRM 3.4 таблица tbl_Workflow не "Администрируется по полям", т.е по умолчанию пользователи системы видят все процессы без ограничения.

не воспроизводится. Тем не менее мне нужно дать доступ на процессы, чтобы часть пользователей видела все процессы в системе, а часть нет. Поможет ли в этой ситуации деталь Доступ? И почему в моей конфигурации все пользователи не видят всех, если не установлено администрирование по записям?

"Рябенко Андрей" написал:

Тем не менее мне нужно дать доступ на процессы, чтобы часть пользователей видела все процессы в системе, а часть нет. Поможет ли в этой ситуации деталь Доступ? И почему в моей конфигурации все пользователи не видят всех, если не установлено администрирование по записям?

Отвечая на вопрос "почему пользователи не видят всех бизнес-процессов"?
в скрипте scr_WorkflowWorkspace есть функция

function ApplyWorkflowsWorkspaceFilter() {
...
	ApplyDatasetFilter(BaseWorkspace.GridDataset, 'OwnerID', 
		Connector.CurrentUser.ContactID, !Connector.CurrentUser.IsAdmin);
}

из кода по данной функции видно, что идет наложение фильтра на таблицу tbl_Workflow по полю "OwnerID". В связи с этим каждый пользователь видет только свои Бизнес-процессы, но при этом - это не разграничение прав по пользователям. Это просто фильтрация. Разграничивать по правам если честно я бы не стал и не советую этого делать, так как еще не известно какие в будущем у вас будут задачи с бизнес-процессами и Разграничение для вас создаст только дополнительную трудность.

Но к примеру если у вас стоит задача увидеть Пользователю1 бизнес-процессы пользователя2, я бы решил данную задачу путем добавление в раздел "бизнес-процессы" нового Lookup поля. Если интересно как это реализовать, то как пример реализации можно подсмотреть в разделе "Задачи".

А можно ли сделать это через деталь доступ, как в остальных реестрах? Чтобы гибко настраивать права на записи в реестре процессов?

Да безпроблем все это сделать можно. Только вот проблема которая у вас возникнет Андрей - это разграничение прав Одного бизнес-процесса на разное количество пользователей. К примеру вы создали бизнес-процесс. Внутри бизнес-процесса разрисовали логику в которой будут взаимодействовать 3 разных отдела и вам заранее будет требоваться разграничить права на отделы, на отдельных пользователей. И к примеру вы доработали этот бизнес-процесс и забыли включить права для новых групп и пользователей и ваша работа бизнес-процесса встала. Поэтому если вас это не пугает что я разрисовал, то я готов для вас поделиться доработанными скриптами.

Мне интересен этот вариант, хотелось бы посмотреть на скрипты. А фильтр в этом случае нужно вообще отключить,

function ApplyWorkflowsWorkspaceFilter() {
...
        ApplyDatasetFilter(BaseWorkspace.GridDataset, 'OwnerID', 
                Connector.CurrentUser.ContactID, !Connector.CurrentUser.IsAdmin);
}

как я понял?

"Рябенко Андрей" написал:А фильтр в этом случае нужно вообще отключить

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

Показать все комментарии