Подскажите кто знает?
Наша замечательная, шикарная настройка, которая легко позволяет творить с базой все что угодно - имеет один маленький но существенный недостаток в виде кнопки 'Del' и контекстного меню 'Добавить.../Удалить из проекта' применяемых на дереве проекта. И наши веселые пользователи так и норовят удалить что-нибудь из дерева проекта - внести так-сказать свой вклад в общее дело.
Как защитить дерево проекта от разрушения пользователем если это самое дерево создал он сам и по умолчанию является автором объектов??? да и вообще как отучить его от этой ужасной привычки - думать? когда за него все уже придумано
Этот вопрос неоднократно задавался на конференциях-но...
Как Вы решаете эту проблему?
Ахилесова пята...
- Александр
- Активный участник
- Сообщения: 1652
- Зарегистрирован: 24 авг 2006, 08:06
- Используемое ПО: Lotsia PDM PLUS
- Откуда: 55.745578,37.665825
Ахилесова пята...
Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный
- Старик Крупский
- Активный участник
- Сообщения: 803
- Зарегистрирован: 27 июл 2006, 22:17
- Откуда: Москва
- Александр
- Активный участник
- Сообщения: 1652
- Зарегистрирован: 24 авг 2006, 08:06
- Используемое ПО: Lotsia PDM PLUS
- Откуда: 55.745578,37.665825
Это понятно, но вот-в чем проблема. Наша настройка эмулирует WorkFlow-действиями Party.
И кроме непреднамеренного вредительства со стороны пользователей в плане разрушения деревьев-некоторые наши действия производят самостоятельную, множественную перепревязку объектов меджу деревьями с удалением из одних и дбавлением в другие и все это в фоновом режиме(без вывода дерева на экран).
В связи с этим два вопроса:
1.-Можно ли считать два связанных объекта - деревом проекта если они НЕ отображаются на экране (т.е. не выведены в отдельное окно дерева проекта)? Соответственно действует ли в этот момент ограничение на удаление???? Или все ограничения действительны для конкретного открытого окна-дерево проектов???
2.-Если мы все-таки запретим удаление-как защиту от дурака, но в действиях нам тем не менее нужно это делать от имени пользователя. Что делать в этом случае?
Как физически работает сервер автопереходов -который может дать пользователю на время административные права?? Можно ли использовать эту возможность в Party?, если да- то как? Нужно в действии писать какую то функцию??? или что?
Не поможете разобраться
И кроме непреднамеренного вредительства со стороны пользователей в плане разрушения деревьев-некоторые наши действия производят самостоятельную, множественную перепревязку объектов меджу деревьями с удалением из одних и дбавлением в другие и все это в фоновом режиме(без вывода дерева на экран).
В связи с этим два вопроса:
1.-Можно ли считать два связанных объекта - деревом проекта если они НЕ отображаются на экране (т.е. не выведены в отдельное окно дерева проекта)? Соответственно действует ли в этот момент ограничение на удаление???? Или все ограничения действительны для конкретного открытого окна-дерево проектов???
2.-Если мы все-таки запретим удаление-как защиту от дурака, но в действиях нам тем не менее нужно это делать от имени пользователя. Что делать в этом случае?
Как физически работает сервер автопереходов -который может дать пользователю на время административные права?? Можно ли использовать эту возможность в Party?, если да- то как? Нужно в действии писать какую то функцию??? или что?
Не поможете разобраться
Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный
- Старик Крупский
- Активный участник
- Сообщения: 803
- Зарегистрирован: 27 июл 2006, 22:17
- Откуда: Москва
Безусловно! Если связь "деревянная", т.е. не горизонтальная, то это дерево.Александр писал(а): 1.-Можно ли считать два связанных объекта - деревом проекта если они НЕ отображаются на экране (т.е. не выведены в отдельное окно дерева проекта)? Соответственно действует ли в этот момент ограничение на удаление???? Или все ограничения действительны для конкретного открытого окна-дерево проектов???
Александр писал(а):2.-Если мы все-таки запретим удаление-как защиту от дурака, но в действиях нам тем не менее нужно это делать от имени пользователя. Что делать в этом случае?
Это сложнее. Нужно фантазировать... Например, вот что. Нужно сделать бизнес-правило (БП), которе будет проверять у объекта наличие какого-либо атрибута. По умолчанию этого атрибута нет. Соответственно, при удалении руками БП ласково пошлет пользователя А когда запускаем действие, то можно на первом шаге добавлять атрибут, а на последнем, после разрыва связи, удалять. Здоровски? Какой я умный! Сам себя не похвалишь - никто не похвалит Вот только в БП я не силен
Александр писал(а):Как физически работает сервер автопереходов -который может дать пользователю на время административные права?? Можно ли использовать эту возможность в Party?, если да- то как? Нужно в действии писать какую то функцию??? или что?
Сервер автопереходов используется в документообороте и выполняет все действия от имени администратора (или того пользователя, от имени которого он запущен). Соответственно, у админа есть все права и сервер автопереходов все замечательно проделывает.
- Anderyt
- Активный участник
- Сообщения: 777
- Зарегистрирован: 15 июл 2004, 13:15
- Используемое ПО: Lotsia PDM PLUS
- Откуда: Тюмень
- Контактная информация:
ух ты, неплохая идея про бизнес-правило возможно, придется дополнительно использовать функцию update(), но в целом - ощущение такое, что должно сработать.
автосервер в этом плане тоже многое может, у него права (обычно) есть на все. единственное неудобство - для обработки какого-либо действия на автосервере нужно запустить работу. и пока эта работа дойдет до автосервера - пройдет какое то время. интерактивность будет страдать. но это тоже вариант. хотя и выглядит менее изящно, чем БП
автосервер в этом плане тоже многое может, у него права (обычно) есть на все. единственное неудобство - для обработки какого-либо действия на автосервере нужно запустить работу. и пока эта работа дойдет до автосервера - пройдет какое то время. интерактивность будет страдать. но это тоже вариант. хотя и выглядит менее изящно, чем БП
лучше день потерять, потом за пять минут долететь!
- Старик Крупский
- Активный участник
- Сообщения: 803
- Зарегистрирован: 27 июл 2006, 22:17
- Откуда: Москва
Вот в функции update собака как раз и порылась. Хорошо бы обойтись без нее. Т.к. если мы в начале сделали update, а потом пользователь нажал отмену, то атрибут так и останется и тогда можно будет руками все удалять. Короче, необходимость update надо проверять и хранить это в тайне от пользователей
Конечно, можно на автосервере запустить работку, которая в конце дня или утром будет проверять наличие этого атрибута у всех объектов и удалять его.
Вывод такой: все проверить, и если нельзя без update, принять обет молчания
Конечно, можно на автосервере запустить работку, которая в конце дня или утром будет проверять наличие этого атрибута у всех объектов и удалять его.
Вывод такой: все проверить, и если нельзя без update, принять обет молчания