Права доступа!

Здесь обсуждаем систему TDM/PDM/Workflow Lotsia PDM PLUS (PartY PLUS).
Aleksey
Новый участник
Сообщения: 17
Зарегистрирован: 11 апр 2012, 12:00
Используемое ПО: Lotsia PDM PLUS

Права доступа!

Сообщение Aleksey »

Добрый день!
У меня вот такой вопрос!
На документ в лоции имеют права все пользователи, группы и собственно тот кто создал документ!
Все пользователи в организации относятся к какой либо группе!
Я меняю права на все группы (кроме одной), т.е. запрещаю им изменение документа!
Мне необходимо изменить права и тому кто создал документ (создателя нужно ещё и вычислить, т.к. мы не знаем кто это) так, чтобы можно было ему их вернуть при необходимости!

И ещё небольшой вопрос!
У документа есть список тех, кому назначены какие либо права доступа на этот документ!
Можно ли его программно оттуда удалить, точнее как его оттуда удалить (есть кнопка удаления, но это вручную)!
Аватара пользователя
Старик Крупский
Активный участник
Сообщения: 803
Зарегистрирован: 27 июл 2006, 22:17
Откуда: Москва

Re: Права доступа!

Сообщение Старик Крупский »

Не на "раз-два", но задачи вполне решаемы!
Для начала: "документ" - это объект или именно документ? От этого и пляшем!

Вычислить автора несложно! Там в таблице с объектами (документами) должна быть колонка с автором! f_ExecSQLSelect_3 в данном случае рулит, айдишник объекта (документа) ведь известен...

Вторая задача сложнее, но не намного! Той же f_ExecSQLSelect_3 вытаскиваем правообладателей, организуем цикл и удаляем права! Есть еще функция в действиях "Отобрать права у всех пользователей"! Только надо проверить, что в данном случае "Все пользователи" - одноименная группа или все правообладатели!
"Лучше меньше, да лучше" (C)
Aleksey
Новый участник
Сообщения: 17
Зарегистрирован: 11 апр 2012, 12:00
Используемое ПО: Lotsia PDM PLUS

Re: Права доступа!

Сообщение Aleksey »

Старик Крупский, спасибо за толчок в нужное направление!
У меня ещё глупый вопрос! (Я с Lotsia работаю всего пол года и то сильно глубоко пока не лез)
В Lotsia есть дерево проектов, как узнать, в какой таблице базы, хранится тот или иной объект?
Аватара пользователя
Старик Крупский
Активный участник
Сообщения: 803
Зарегистрирован: 27 июл 2006, 22:17
Откуда: Москва

Re: Права доступа!

Сообщение Старик Крупский »

Это проще всего - объекты хранятся в одной таблице (object_reference), документы в другой, типы объектов в третьей, атрибуты, значения атрибутов - все отдельно и очень удобно и компактно. В документации есть файл, описывающий структуру БД.
"Лучше меньше, да лучше" (C)
Aleksey
Новый участник
Сообщения: 17
Зарегистрирован: 11 апр 2012, 12:00
Используемое ПО: Lotsia PDM PLUS

Re: Права доступа!

Сообщение Aleksey »

Старик Крупский писал(а):Это проще всего - объекты хранятся в одной таблице (object_reference), документы в другой, типы объектов в третьей, атрибуты, значения атрибутов - все отдельно и очень удобно и компактно. В документации есть файл, описывающий структуру БД.
Ок! Спасибо! Сегодня посмотрю!
Aleksey
Новый участник
Сообщения: 17
Зарегистрирован: 11 апр 2012, 12:00
Используемое ПО: Lotsia PDM PLUS

Re: Права доступа!

Сообщение Aleksey »

Наконец то добрался снова до Лоции!
Но что то плохо пока воспринимается она!
Старик Крупский, помоги строчкой кода, как в действии прописать поиск по базе?
Что то я совсем запутался :(
Аватара пользователя
Старик Крупский
Активный участник
Сообщения: 803
Зарегистрирован: 27 июл 2006, 22:17
Откуда: Москва

Re: Права доступа!

Сообщение Старик Крупский »

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

ЗЫ. Поглядел Ваш сайт, Вы же из Тюмени, с anderyt (http://www.lplm.ru/phpBB2/memberlist.ph ... ofile&u=10) случайно не знакомы?
"Лучше меньше, да лучше" (C)
Aleksey
Новый участник
Сообщения: 17
Зарегистрирован: 11 апр 2012, 12:00
Используемое ПО: Lotsia PDM PLUS

Re: Права доступа!

Сообщение Aleksey »

Старик Крупский писал(а):Вот это вопрос! Начать и кончить. Это от версии зависит и еще много от чего. Универсальный базовый способ найти объект - в свойствах объектной переменной нажать на Условия отбора и там задать условия по типу и атрибутам. Потом переменную вытащить на форму. Ну и все, запускаем действие и смотрим, что оно находит. Если все в порядке, начинаем с возвращенным значением переменной (с объектом) выполнять разные функции - присваивать атрибуты, связи курочить. В современных версиях действия умеют искать с помощью запросов.

ЗЫ. Поглядел Ваш сайт, Вы же из Тюмени, с anderyt (http://www.lplm.ru/phpBB2/memberlist.ph ... ofile&u=10) случайно не знакомы?

Ок, посижу по разбираюсь!
С этим пользователем не знаком!
Аватара пользователя
Старик Крупский
Активный участник
Сообщения: 803
Зарегистрирован: 27 июл 2006, 22:17
Откуда: Москва

Re: Права доступа!

Сообщение Старик Крупский »

Ничего сложного, но специфика определенная есть. Как и во всем.
"Лучше меньше, да лучше" (C)
Aleksey
Новый участник
Сообщения: 17
Зарегистрирован: 11 апр 2012, 12:00
Используемое ПО: Lotsia PDM PLUS

Re: Права доступа!

Сообщение Aleksey »

Старик Крупский писал(а):Не на "раз-два", но задачи вполне решаемы!
Для начала: "документ" - это объект или именно документ? От этого и пляшем!

Вычислить автора несложно! Там в таблице с объектами (документами) должна быть колонка с автором! f_ExecSQLSelect_3 в данном случае рулит, айдишник объекта (документа) ведь известен...

Вторая задача сложнее, но не намного! Той же f_ExecSQLSelect_3 вытаскиваем правообладателей, организуем цикл и удаляем права! Есть еще функция в действиях "Отобрать права у всех пользователей"! Только надо проверить, что в данном случае "Все пользователи" - одноименная группа или все правообладатели!
Старик Крупский, а в какой табличке или в каком виде хранятся права на объект?
Если мы знаем Id документа, то мы же можем такую информацию о нем вытащить из базы? или нет???
Может какая то связующая табличка есть?
Аватара пользователя
Старик Крупский
Активный участник
Сообщения: 803
Зарегистрирован: 27 июл 2006, 22:17
Откуда: Москва

Re: Права доступа!

Сообщение Старик Крупский »

в какой табличке или в каком виде хранятся права на объект?
Если мы знаем Id документа, то мы же можем такую информацию о нем вытащить из базы? или нет???
Может какая то связующая табличка есть?
Про табличку с правами не знаю. Надо читать описание, это вы и сами можете сделать. Если id документа есть, то информацию можно вытащить абсолютно всю. В каждой табличке, которая касается документа, есть ссылка на его id.
"Лучше меньше, да лучше" (C)
Аватара пользователя
Disillusioned
Активный участник
Сообщения: 420
Зарегистрирован: 15 июл 2004, 15:12
Используемое ПО: Lotsia PDM PLUS
Откуда: Подольск
Контактная информация:

Re: Права доступа!

Сообщение Disillusioned »

По правам описания полей таблиц вроде как нет.
Права хранятся в таблице EmplRight: ObjID_N - код объекта или документа, ObjType - тип привилегии, user_id - код пользователя, GrantS GrantI GrantU GrantD - права на доступ создание изменение удаление.
Ах и с ними невозможно
И без них никак нельзя
Aleksey
Новый участник
Сообщения: 17
Зарегистрирован: 11 апр 2012, 12:00
Используемое ПО: Lotsia PDM PLUS

Re: Права доступа!

Сообщение Aleksey »

Disillusioned писал(а):По правам описания полей таблиц вроде как нет.
Права хранятся в таблице EmplRight: ObjID_N - код объекта или документа, ObjType - тип привилегии, user_id - код пользователя, GrantS GrantI GrantU GrantD - права на доступ создание изменение удаление.
Спасибо!
Да, нашел такую табличку! Уже с ней плотно работаю))
Аватара пользователя
Disillusioned
Активный участник
Сообщения: 420
Зарегистрирован: 15 июл 2004, 15:12
Используемое ПО: Lotsia PDM PLUS
Откуда: Подольск
Контактная информация:

Re: Права доступа!

Сообщение Disillusioned »

Есть еще функция в действиях "Отобрать права у всех пользователей"! Только надо проверить, что в данном случае "Все пользователи" - одноименная группа или все правообладатели!
Отбираются ВСЕ права по указанной привилегии. Только надо помнить, что в Лоции PDM нельзя отобрать права у самого себя.
Ах и с ними невозможно
И без них никак нельзя
Aleksey
Новый участник
Сообщения: 17
Зарегистрирован: 11 апр 2012, 12:00
Используемое ПО: Lotsia PDM PLUS

Re: Права доступа!

Сообщение Aleksey »

Написал в базе процедуру, удаляющую строку с правами создателя документа!
Всё работает, всё удаляет, но это в SQL!
И вот собственно говоря вопрос, как вызвать процедуру из базы через Lotsia :?:
Ответить