Права НА РАЗДЕЛ

Переименовал тему, ибо именно права на раздел сейчас интересуют больше всего.

Откуда в реестр "Права по умолчанию на таблицы" поступает информация? Что сия информация означает? Мне кажется, что я не до конца понимаю суть этой сущности. Если в указанном реестре отображаются таблицы, то почему не все, которые есть в системе? По какому критерию они туда отбираются?
И еще - каким образом раздаются права на разделы?
Версия 3.0.2.244

Нравится

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

с таблицами разобрался - в реестр "Права по умолчанию на таблицы" попадают те, у которых установлено администрирование...
а вот с разделами непонятно...

"SSV" написал:а вот с разделами непонятно...

Права на раздел = права на соответствующую группу таблиц, вроде как

"Александр Кудряшов" написал:Права на раздел = права на соответствующую группу таблиц, вроде как

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

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

спасибо...
попробовал на тестовой базе проверить утверждение - "Права на раздел = права на соответствующую группу таблиц", что-то получается... но до конца всё равно непонятно...

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

Не совсем понятна Ваша проблема. Вы пишете

"SSV" написал:попробовал на тестовой базе проверить утверждение - "Права на раздел = права на соответствующую группу таблиц", что-то получается... но до конца всё равно непонятно

Что именно не получается/не понятно? Если Вы раздаете права на группу таблиц (устанавливаете значения в соответствующей строчке), то раздел получает эти права. По поводу того, что Сервис-деска нет в группе таблиц -- так его в то время еще не было (для версии 3.0.2), он появился позже. Возможно у Вас в администраторе есть такой корневой узел и это Вас смущает.

"Стоян Виталий" написал:Что именно не получается/не понятно? Если Вы раздаете права на группу таблиц (устанавливаете значения в соответствующей строчке), то раздел получает эти права. По поводу того, что Сервис-деска нет в группе таблиц -- так его в то время еще не было (для версии 3.0.2), он появился позже. Возможно у Вас в администраторе есть такой корневой узел и это Вас смущает.

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

"SSV" написал:можно накидать таблиц из разных разделов

можно... и внесет это как раз путаницу, и немалую, лучше не накидывать:smile:
система раздачи прав в старой версии несовершенна, да...

Сервисы в конфигурации сохраняются в древовидной структуре. Причем таким образом, чтобы сгруппировать похожие сервисы в отдельные папки, подпапки: главные сервисы раздела, сервисы деталей, сервисы отчетов, сервисы справочников,... Все можно разбросать по разным корневым узлам, по всей иерархии папок. Но нужно ли? Это только затруднит разработку, особенно при увеличении количества созданных сервисов.

"Стоян Виталий" написал:Сервисы в конфигурации сохраняются в древовидной структуре. Причем таким образом, чтобы сгруппировать похожие сервисы в отдельные папки, подпапки: главные сервисы раздела, сервисы деталей, сервисы отчетов, сервисы справочников,... Все можно разбросать по разным корневым узлам, по всей иерархии папок. Но нужно ли? Это только затруднит разработку, особенно при увеличении количества созданных сервисов.

честно говоря, не уловил связи этого поста с моими двумя последними... какое отношение древовидная структура имеет к правам на разделы?

Возможно я Вас немного запутал. Отвечаю по существу. В Администрировании записи во вкладке "Группы таблиц" формируются динамически на основании информации из базы, а точнее из таблицы tbl_TableGroup. В ней есть одна родительская группа "Table Group" с нулевым ParentID. Все записи, у которых родительской является "Table Group", и выносятся в список.
Далее, в сервисе каждой таблицы вы в поле "Группа таблиц" указываете, к какой группе таблиц относится данная группа. Соответственно на эту таблицу будут распространяться права, розданные на группу, в которую входит конкретная таблица.
В таблице tbl_TableGroup существуют также дочерние записи с названием *_CR, *_CI, *_CU, *_CD. Соответственно оно соотносятся с правами на чтение, добавление, изменение, удаление.

это Вы наверное про другую версию говорите, у меня нет таблицы tbl_TableGroup, у меня есть три таблицы tbl_TableDefaultRight, tbl_TableFieldRight и tbl_TableGroupRight, по их названиям можно догадаться, что в них хранится... но меня интересуют права на разделы, что является решающим фактором для того чтобы кнопка раздела отображалась в интерфейсе пользователя и была доступна?

Да, прошу прощения. Для версии 3.0.2 несколько иначе. В конфигурации присутствуют сервисы tg_*, которые содержат в себе подчиненные таблицы. Изменить структуру можно из самой подчиненной таблицы, указав нужное значение в поле "Группа родительской таблицы". Все эти сервисы tg_* собираются и выносятся в клиентскую часть в "Администрирование". Раздав права там Вы автоматически регулируете права на все подчиненные таблицы определенной группы.
Для скрытия раздела Вам нужно в wnd_Main в невизуальных компонентах для определенного ActionMenuItem установить свойство IsVisible = False

"Стоян Виталий" написал:Для скрытия раздела Вам нужно в wnd_Main в невизуальных компонентах для определенного ActionMenuItem установить свойство IsVisible = False

ну так в этом случае раздел не увидит никто...
нет, что-то тут не так, на видимость кнопки раздела влияет что-то другое...

Вы пробовали убрать для определенного пользователя все права на определенную группу таблиц? Разве после этого раздел виден в системе?

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

Кроме создания самого сервиса группы таблиц tg_* нужно в таблицах раздела также указать принадлежность к созданной группе таблиц. Посмотрите, как это прописано для базовых разделов.

"Стоян Виталий" написал:Кроме создания самого сервиса группы таблиц tg_* нужно в таблицах раздела также указать принадлежность к созданной группе таблиц.

это свойство заполняется у таблиц автоматически...

Последовательность действий (проверил на тестовой версии 3.0.2):
1. создаем сервис группы таблиц
2. для нужных таблиц в свойстве "Группа родительской таблицы" указываем созданный сервис группы таблиц.
3. в разделе "Администрирование" в новом пункте, соответствующем новому сервису группы таблиц указываем необходимые права.
У Вас не появился пункт в администрировании? Возможно Вы что-то упустили, потому что он появляется сразу же после создания сервиса группы таблиц, а уж при прописывании необходимых таблиц начинает работать механизм ограничения прав.

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

"SSV" написал:Новый пункт появляется, даю на него конкретному пользователю права, кнопка раздела в интерфейсе не появляется...

Правильно ли я Вас понимаю, что после выполнения описанных Виталием действий, для администратора кнопка раздела появилась, а для определенного пользователя (которому розданы права на данную группу таблиц) - нет?
Возможно, данную проблему будет удобнее решать, если Вы вышлите нам на support@tscrm.com подробное пошаговое описание Ваших действий.

Инна Безверхняя,
II линия службы поддержки Terrasoft.

так Виталий все действия описал, добавить нечего...

прилагаю сервисы...

Здравствуйте.
Высланных Вами сервисов недостаточно для воспроизведения и анализа ситуации, если речь идет о целом разделе.

Поскольку данный вопрос выходит за рамки форума, и так как все возможные общие рекомендации уже были даны, еще раз предлагаю Вам решать данную проблему в рамках технической поддержки, написав нам письмо с ее подробным описанием на support@tscrm.com

Инна Безверхняя,
II линия службы поддержки Terrasoft.

"Bezverkhnia Inna" написал:...так как все возможные общие рекомендации уже были даны...

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

Вы не ответили на этот вопрос:

"Bezverkhnia Inna" написал:Правильно ли я Вас понимаю, что после выполнения описанных Виталием действий, для администратора кнопка раздела появилась, а для определенного пользователя (которому розданы права на данную группу таблиц) - нет?

Если кнопка раздела не появляется ни для администратора, ни для пользователя, то наверное кнопки нет.
В главном окне кнопки разделов сами не появляются, их надо создавать самому.
А в зависимости от прав пользователя эти кнопки либо спрячутся, либо нет.
В сервисе wnd_Main надо добавить кнопку (невизуальные компоненты, ActionMenu amWorkspace), а в scr_Main в функции InitializeWorkspacesInfo строчку с инициализацией своего раздела (смотрите по аналогии с другими разделами).

Для того, чтобы кнопка раздела отображалась (или не отображалась) в интерфейсе пользователя, этот пользователь должен иметь (или не иметь) право на чтение группы таблиц, в которую входит основная таблица данного раздела.
Однако, при этом, группа таблиц сама по себе не является разделом, и, создав определенную группу таблиц, Вы при этом еще не создали раздел. Раздел представляет собой набор сервисов, таких как сервис основного окна, главная таблица раздела, датасет, sq, а также все необходимые скрипты и вспомогательные элементы. Кроме того, саму кнопку раздела необходимо непосредственно добавить в форму Main, как это описал Валерий.

Инна Безверхняя,
II линия службы поддержки Terrasoft.

"Валерий Андрусик" написал:Вы не ответили на этот вопрос

кнопка раздела не появляется только у пользователя, при входе под администратором кнопка видна и активна.
"Bezverkhnia Inna" написал:Раздел представляет собой набор сервисов, таких как сервис основного окна, главная таблица раздела, датасет, sq, а также все необходимые скрипты и вспомогательные элементы. Кроме того, саму кнопку раздела необходимо непосредственно добавить в форму Main, как это описал Валерий

это всё есть...
получается, что понятие "Раздел", как таковой, это только абстрактный элемент? ведь есть разделы с десятками сервисов, таблиц, датасетов и тд и тп, а есть разделы с минимальным набором элементов, но при этом являются разделами, значит должно быть что-то, что однозначно определяет набор элементов как понятие "РАЗДЕЛ"...
или я не прав?

Здравствуйте!
Фактически, раздел - это некоторая сущность, которая минимально может состоять из одного окна и невизуальной компоненты в wnd_Main (+ инициализация этого раздела в scr_Main), которая будет отображать данный раздел. При этом он будет видим для всех пользователей. Максимального ограничения на количество и сложность сервисов для раздела нет.
А права на раздел определяются сервисом tg_*, который связан с одной или несколькими таблицами данного раздела.

Инна Безверхняя,
II линия службы поддержки Terrasoft.

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