Группы таблиц...

Что представляют из себя группы таблиц (сервис TableGroup) в версии 3.0.2.244? Я понимаю, что они нужны, как минимум, для раздачи прав, но вот пример - смотрю группу таблиц - Счета, там есть только одна (основная таблица раздела) - tbl_Invoice, какая же это группа? С ней (tbl_Invoice) связаны еще минимум три таблицы - tbl_InvoiceGroup, tbl_InvoiceInGroup и tbl_InvoiceRight, на них права распространять не нужно?
Вопрос связан с тем, что сегодня у одного из пользователей возникла ошибка о невозможности добавления в таблицу tbl_AccountRight. Кстати, в TableGroup tg_Accounts вообще не перечислено ни каких таблиц.

Нравится

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

Группа таблиц представляет из себя некую сущность, объединяющую в себе управление правами на доступ к таблицам, привязанным к этой сущности. Под правами на доступ имеются в виду права на следующие действия : чтение, добавление, редактирование и удаление. Тут речь идет о правах на действия на уровне СУБД. Т.е. при создании группы таблиц, с именем объекта SQL "TG_INVOICE", создаются роли в СУБД с именами "TG_INVOICE" (общая), "TG_INVOICE_CR" (чтение), "TG_INVOICE_CI" (добавление), "TG_INVOICE_CU" (редактирование) и "TG_INVOICE_CD" (удаление).

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

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

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

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

Марховский Алексей.
Служба технической поддержки Terrasoft.

Ответ довольно развернутый, спасибо.
Но - я говорю о версии 3.0.2.244, разве в ней предусмотрено создание в СУБД указанных Вами ролей? Во всяком случае в нашей СУБД этих ролей нет.

В версии 3.0.2 группы таблиц реализованы не с помощью ролей СУБД, а на уровне сервисов. На основе этих сервисов реализуется реестр раздела "Администрирование".

Ситуация с невозможностью добавления в таблицу tbl_AccountRight, скорее всего, связана с тем, что в данную таблицу выполняется попытка добавления записи, у которой совпадают значения как по полю RecordID, так и по полю AdminUnitID с некоторой, уже существующей, записью. По данным двум полям формируется первичный ключ для данной таблицы.

Марховский Алексей.
Служба технической поддержки Terrasoft.

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

это врядли, ибо я, как имеющий права администратора, запись добавить смог...

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

Пожалуйста, предоставьте параметры удаленного доступа или бэкап Вашей Базы, вместе с описанием проблемы, отправив эти данные по адресу support@tscrm.com.

Марховский Алексей.
Служба технической поддержки Terrasoft.

предоставление удаленного доступа нужно согласовывать, архивированный бэкап базы весит больше 7-ми гигов... ошибка возникла один раз и больше не проявлялась, так что пока радикальных мер принимать не будем...
моё непонимание в другом - мне казалось, что работа с таблицами типа tbl_***Right происходит абсолютно прозрачно для рядового пользователя, и если у него нет права записи в какую-то администрируемую по записям таблицу, то система не даст ему этого сделать, поведает ему сей печальный факт и продолжит дальше работать в штатном режиме...

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