|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
Есть вот такая ситуация: заказчик захотел, чтобы доступ к справочнику клиентов разграничивался по вертикали. Тоесть пользователи подразделения А не видели и даже не догадывались о клиентах подразделения В. Складывается пренеприятнейшая ситуация с общими клиентами - когда пользователь создает клиента, а при вставке записи мы обнаруживаем, что такой клиент уже есть, но у этого пользователя к нему нет доступа.... Кроме варианта посоветовать пользователю обратиться в соседний отдел за правами доступа, в голову ничего не приходит, но тогда права доступа теряют всякий смысл - достаточно всего-лишь тупо пытаться добавить клиента и получать отказ в доступе, чтобы узнать, что такой клиент есть и он является клиентом соседнего подразделения... Заказчика убедить в комичности и нелогичности ситуации не получается. :-( Может кто подскажет дельную мысль? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2006, 17:04 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
Пара вопросов: 1.Каким образом осуществляется разграничение прав доступа 2.Кто имеет право добавлять клиентов. Простой способ - выделить еще одну группу пользователей, которые имеют право добавлять контрагентов независимо от подразделение А и Б. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2006, 17:12 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
Hibernateзаказчик захотел, чтобы доступ к справочнику клиентов разграничивался по вертикали. Тоесть пользователи подразделения А не видели и даже не догадывались о клиентах подразделения В. Хм. А это называется "по вертикали"? HibernateМожет кто подскажет дельную мысль? Я бы выяснил, как именно заказчик представляет себе работу с одним клиентом из нескольких подразделений. Я готов допустить (видел такое), что они реально работают с ними как с разными клиентами, абсолютно независимо, и соответственно надо заводить две записи. В общем же случае, полагаю, стоит чуть усложнить логическую модель, и сказать, что пользователь не "добавляет клиента", а "делает запрос на добавление клиента". Результатом этого запроса может быть в том числе и предоставление доступа к уже имеющейся записи. Физически при этом, возможно, следует заводить "временную запись" клиента (дабы пользователь сразу мог цеплять к нему дополнительную информацию), а по результатам запроса либо переводить запись в статус "постоянной", либо выполнять слияние информации с уже имеющейся записью о клиенте. Благо, операция слияния клиентов все равно потребуется, специально ее делать не придется. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2006, 17:21 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
sergey888Пара вопросов: 1.Каким образом осуществляется разграничение прав доступа 2.Кто имеет право добавлять клиентов. Простой способ - выделить еще одну группу пользователей, которые имеют право добавлять контрагентов независимо от подразделение А и Б. 1.разграничение осуществляется просто - есть еще одна табличка: UserID int ClientID int IsView bit IsEdit bit IsClose bit соотетственно, при выводе списка клиентов идет джоин к этой таблице с выборкой по текущему пользователю и флагу, соответствующему данной операции. 2.Клиентов добавлять может любой менеджер. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2006, 17:28 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
Значит менеджера надо обязать при добавлении нового клиента давать доступ к этому клиенту группа А или Б, т.е. заполнять таблицу прав. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2006, 17:32 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
2 softwarer: спасибо за дельные мысли. в принципе, работа с клиентами ведется очень хитро - балансы подбиваются по подразделению, но клиент может прислать деньги на разные подразделения одним платежом - есть отдельный человек, который потом разносит эти деньги по подразделениям. Соответственно, запись должна быть одна... Хотя мне очень понравилась мысль с двумя разными записями....с небольшой добавкой - они должны иметь хотя-бы ссылку друг на друга, тогда в принципе если что, можно будет свести и общий баланс и сделат ьперезачет денег между подразделениями. Наверно етак и сделаем - спасибо за наводку! ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2006, 17:34 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
Hibernateно клиент может прислать деньги на разные подразделения одним платежом C разноской платежей в любом случае будет много веселья. Скажем, платеж может прийти вообще от третьей фирмы. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2006, 17:41 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
2 записи на одного контрагента - не советую. Лучше все-таки подумать об организации прав доступа. А если появится еще 2-3 группы пользователей, то в таблице будет 4-5 записей для одного конрагента? Бред. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2006, 18:08 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
> тогда права доступа теряют всякий смысл Конечно, нет. > такой клиент есть и он является клиентом соседнего подразделения А зачем отдавать такие данные всем желающим? > Заказчика убедить в комичности и нелогичности ситуации не получается. Требование заказчика в данном случае - абсолютно уместно. Ничего комичного. > Может кто подскажет дельную мысль? Из Вашего описания - два источника проблем. Первая проблема: логическая модель доступа; попросите заказчика уточнить, на каком уровне детализации (контрагент, подразделение контрагента, персонал подразделения контрагента) какие ограничения доступа нужны. Вторая проблема: собственно модель бизнеса заказчика. Imho невероятная тупость - не координировать деятельность своих сотрудников. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2006, 18:25 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
sergey8882 записи на одного контрагента - не советую. Лучше все-таки подумать об организации прав доступа. А если появится еще 2-3 группы пользователей, то в таблице будет 4-5 записей для одного конрагента? Бред. да, бред - мы тут внутри уже пришли к такому заключению. Бредовая постановка приводит к бреду в реализации... пока думаем в направлении поиска аргументов чтобы разубедить заказчика в таком подходе. Пока стоим на том, что разграничивать надо не справочники, а движения. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2006, 18:29 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
guest_20040621> тогда права доступа теряют всякий смысл Конечно, нет. > такой клиент есть и он является клиентом соседнего подразделения А зачем отдавать такие данные всем желающим? > Заказчика убедить в комичности и нелогичности ситуации не получается. Требование заказчика в данном случае - абсолютно уместно. Ничего комичного. > Может кто подскажет дельную мысль? Из Вашего описания - два источника проблем. Первая проблема: логическая модель доступа; попросите заказчика уточнить, на каком уровне детализации (контрагент, подразделение контрагента, персонал подразделения контрагента) какие ограничения доступа нужны. Вторая проблема: собственно модель бизнеса заказчика. Imho невероятная тупость - не координировать деятельность своих сотрудников. дело в том, что там подразделения - весьма далеки друг от друга, это холдинг, со всеми вытекающими. по поводу ценности инфы о клиенте - конечно она ценная, но мы разделили эту информацию - сделали название и некоторые реквизиты общими, а вот всякие там контакты, финансовая инфа - отдельно по подразделению, и по правам доступа. то, что общение с заказчиком предстоит длительное - в этом и не сомневался никто :-) просто аргументов и идей не хватало. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2006, 18:36 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
> дело в том, что там подразделения - весьма далеки друг от друга, > это холдинг, со всеми вытекающими. Не принципиально для этой задачи. > а вот всякие там контакты, финансовая инфа - отдельно по подразделению, > и по правам доступа. Imho напрасно. > общение с заказчиком предстоит длительное Это обычная задача, ничего сложного. Важно задать заказчику правильные вопросы. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2006, 18:50 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
2 Hibernate -- А что Вам мешает к клиенту привязать список подразделений(сотрудников), которым разрешен доступ. При создании новой записи в контрагентах ее автор прописывается автоматом, остальным разрешения раздаются путем добавления в список. Автора можно записывать непосредственно в запись клиента. Показываются записи автора + все у которых он есть в списке разрешений. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2006, 18:52 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
iscrafm2 Hibernate -- А что Вам мешает к клиенту привязать список подразделений(сотрудников), которым разрешен доступ. При создании новой записи в контрагентах ее автор прописывается автоматом, остальным разрешения раздаются путем добавления в список. Автора можно записывать непосредственно в запись клиента. Показываются записи автора + все у которых он есть в списке разрешений. +1. При чем разрешения могут быть не простые, а с атрибутами баланса и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2006, 19:12 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
> к клиенту привязать список подразделений(сотрудников) ACL - худшее из возможных решений данной задачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2006, 21:11 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
guest_20040621> к клиенту привязать список подразделений(сотрудников) ACL - худшее из возможных решений данной задачи. Почему? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2006, 21:21 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
iscrafm2 Hibernate -- А что Вам мешает к клиенту привязать список подразделений(сотрудников), которым разрешен доступ. При создании новой записи в контрагентах ее автор прописывается автоматом, остальным разрешения раздаются путем добавления в список. Автора можно записывать непосредственно в запись клиента. Показываются записи автора + все у которых он есть в списке разрешений. дело в другом, задача тоньше - подразделение А никаким образом не должно узнать, что клиент является или являлся клиентом другого подразделения. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2006, 23:18 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
guest_20040621 > а вот всякие там контакты, финансовая инфа - отдельно по подразделению, > и по правам доступа. Imho напрасно. почему, если не секрет? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2006, 23:19 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
bas iscrafm2 Hibernate -- А что Вам мешает к клиенту привязать список подразделений(сотрудников), которым разрешен доступ. При создании новой записи в контрагентах ее автор прописывается автоматом, остальным разрешения раздаются путем добавления в список. Автора можно записывать непосредственно в запись клиента. Показываются записи автора + все у которых он есть в списке разрешений. +1. При чем разрешения могут быть не простые, а с атрибутами баланса и т.д. я о другом. вот сотруднику отдела А надо узнать, является ли "Рога и копыта" клиентом отдела В. По сути ему достаточно попытаться создать этого клиента в БД - по ее реакции можно получить ответ на поставленный вопрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2006, 23:21 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
> iscrafm: Почему? Вкратце: ACL - как модель ограничения доступа - есть смысл использовать (применительно к реляционным структурам данных) только и исключительно для описания исключений ограничения доступа. > Hibernate: почему, если не секрет? Любые заранее определенные правила вне модели ограничения доступа есть плохо по определению. Вообще говоря, развитие CRM-подобного софта (его элементы мы и обсуждаем) рано или поздно будет связано с интеграцией данных из внешних источников, - на основании каких критериев Вы собираетесь раздавать к ним доступ? Модель бизнеса может измениться (т. е. заказчик может определить другие правила ограничения доступа). Это не должно сопровождаться переписыванием софта. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2006, 23:53 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
Hibernate я о другом. вот сотруднику отдела А надо узнать, является ли "Рога и копыта" клиентом отдела В. По сути ему достаточно попытаться создать этого клиента в БД - по ее реакции можно получить ответ на поставленный вопрос. Я на этот пост отвечу за два. Помимо записи клиента есть еще и записи по клиенту (платежи, отгрузки, договоры и т.п.). К записи клиента имеет доступ автор и те, кому дано разрешение. Разрешение выдается админ. способом (добавлением в список разрешений руками) или автоматом, если пользователь обращается к записи клиента. Однако это не означает, что он получает доступ к данным клиента. К данным клиента доступ имеет только автор. Никакая реакция не даст доступ. Реакция "засветит" наличие клиента, но не содержимое записей по нему. Гемморой с двумя (тремя и более записями), насильственное их объединение в дальнейшем не нужен. Введите простое правило "авторство и права доступа" и применяйте его на любом уровне. Правда если у Вас само наличие клиента А является секретной информацией, а не взаимодействие с ним, тогда да - только дублирование записей и объединение в отчетности. p.s. Хотелось бы все таки услышать аргументы guest_20040621 против ACL. плз. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2006, 00:01 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
guest_20040621, не заметил Ваш пост. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2006, 00:02 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
guest_20040621> iscrafm: Почему? Вкратце: ACL - как модель ограничения доступа - есть смысл использовать (применительно к реляционным структурам данных) только и исключительно для описания исключений ограничения доступа. имхо, нужно использовать принцип наименьшего ввода. В ситуации автора таковым является наоборот раздача прав. По умолчанию доступ имеет автор и только автор. Но в некоторых ситуациях еще и кто-то кроме автора. В общем-то это правило работает везде. Записи разрешений по умолчанию создавать не нужно. Исключением в данном случае является параллельный доступ. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2006, 00:06 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
> нужно использовать принцип наименьшего ввода Поделитесь источником этого глубокого умозаключения, pls. > По умолчанию доступ имеет автор и только автор. Это Вы так решили? > Но в некоторых ситуациях еще и кто-то кроме автора. В общем-то это > правило работает везде. Может, Вам есть смысл сначала что-нибудь прочесть по поводу моделей ограничения доступа? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2006, 00:50 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
>> Поделитесь источником этого глубокого умозаключения, pls. << Я это только что придумал :) А если серьезно - это очевидно. >> Это Вы так решили? << презумпция авторства, однако. :) >>Может, Вам есть смысл сначала что-нибудь прочесть по поводу моделей ограничения доступа? << Обязательно почитаю авторитетов. Ссылки дайте плз. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2006, 00:58 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
> А если серьезно - это очевидно. А мне очевидно, что модель ограничения доступа должна быть не противоречивой, полной и удобной в реализации. И это никак не связано с количеством движений мышью или количеством символов, набираемых в консоли. > презумпция авторства, однако. :) Я и говорю, может, лучше почитать что-нибудь? > Ссылки дайте плз. Google -> access control model для реляционных структур, операционных и файловых систем соответственно. Дочитаете до SE Linux, - возвращайтесь, с удовольствием выслушаю Ваше мнение о вопросе автора треда. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2006, 02:11 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
>>А мне очевидно, что модель ограничения доступа должна быть не противоречивой, полной и удобной в реализации. Тогда Вы бы наверное задумались на тему единичного пересечения по клиентам нескольких отделов и что по умолчанию: разрешить или запретить. >> Я и говорю, может, лучше почитать что-нибудь? <<Читал. Много думал. >> Google -> access control model для реляционных структур, операционных и файловых систем соответственно. Дочитаете до SE Linux, - возвращайтесь, с удовольствием выслушаю Ваше мнение о вопросе автора треда. << Не дочитал, придумал свое. Вернуться можно? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2006, 02:20 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
p.s. Кстати с производительностью AVC проверок решили что-нибудь? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2006, 02:30 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
> Тогда Вы бы наверное задумались на тему единичного пересечения > по клиентам нескольких отделов А что с ними не так? Не вижу ни одной проблемы. > и что по умолчанию: разрешить или запретить. Что разрешить и что запретить? > Не дочитал, придумал свое. Напрасно. Дочитайте. Легко заметите, что комбинацией четырех наиболее распространенных моделей ограничения доступа можно реализовать любые самые идиотские ограничения. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2006, 11:22 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
guest_20040621Не вижу ни одной проблемы. Да я в общем-то тоже. Простой случай. Только тему с SE не понял, к чему она? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2006, 11:33 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
> SE не понял, к чему она? Документированный пример контекстного ограничения доступа. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2006, 11:48 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
guest_20040621 Документированный пример контекстного ограничения доступа. И чем он круче и полезней обычного списка разрешений (для указанной задачи)? p.s. Что ж из Вас слова вытягивать приходится.. :) Вы уж доведите до логического конца свою точку зрения. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2006, 11:51 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
Если клиент будет один, а пользователей его много, и они не должны знать об этом, то как объяснить пользователям подразделения А, почему изменился телефон клиент, если они этого не делали ? Выход один - все же держать две записи, но с указанием равенства между ними (для выполнения различных суммарных отчетов, расчетов и т.п.). ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2006, 12:09 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
> И чем он круче и полезней обычного списка разрешений (для указанной задачи)? Критерии крутизны и полезности приведите, пожалуйста. > Что ж из Вас слова вытягивать приходится. Полагаю, всем (Вам, конечно, тоже) известны наиболее распространенные варианты реализации ограничения доступа, их преимущества, недостатки и область возможного применения. Не думаю, что в моем изложении они будут звучать отлично от уже сформулированных. > Вы уж доведите до логического конца свою точку зрения. Мне казалось, что довел: ACL - для исключений. И в этой задаче, и в любых других. Вы предлагаете сделать ACL основной системой ограничения доступа. Это возможно? - да. Это рационально? - нет. Полагаю, Вы понимаете, почему. На случай, если не понимаете: длина списка доступа = количество контрагентов х количество элементарных сущностей описания контрагента х количество пользователей системы (или количество подразделений - по вкусу). Плюс геморрой, связанный с определением прав доступа для любых новых данных (не говоря уже о новых структурах данных). Плюс необходимость структуры данных для семантического описания содержимого базы данных. Плюс... достаточно? ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2006, 12:49 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
Hibernateдостаточно всего-лишь тупо пытаться добавить клиента и получать отказ в доступе, чтобы узнать, что такой клиент есть и он является клиентом соседнего подразделения... А что, наличие клиента тоже является настолько конфиденциальной информацией ? Одно дело знать, что клиент существует, другое дело иметь доступ к его данным. Если все таки Заказчик настаивает на "пользователи подразделения А не видели и даже не догадывались о клиентах подразделения В", то, боюсь что заказчику придется несколько усложнить свою бизнес модель. Это когда клиентов заводят и распределяют по подразделениям специальные люди. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2006, 13:17 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
iscrafmПравда если у Вас само наличие клиента А является секретной информацией, а не взаимодействие с ним, тогда да - только дублирование записей и объединение в отчетности. Собственно, даже скорее не Вам, а просто комментарий к выделенному фрагменту. Необхоидмо, чтобы не сами сотрудники создавали новых контрагентов, а только лишь формировали заявки о них с указанием всех необходимых реквизитов. А лицо(а), полномочные вести справочник(и), уже должно иметь доступ на изменение и т.п. Все равно никуда не деться от централизованного справочника контрагентов (партнеров,поставщиков,...), ибо неверное его ведение - это реальное попадание на деньги. Как минимум, необходим контроль всех существенных реквизитов, которые используются в первичных платежных и налоговых документах, и в случае неверного указания ИНН/КПП где-нибудь в п/п или сч-ф мало не покажется. И еще. Запись о контрагенте должна быть одна и только одна. Она характеризует именно контрагента, а не взаимоотношения с ним, и вся аналитика собирается именно по этой записи. И вопрос указания какой-то личной информации в разрезе подразеления здесь ни при чем. Это должно быть "рядом". ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2006, 13:24 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
MainframeЕсли клиент будет один, а пользователей его много, и они не должны знать об этом, то как объяснить пользователям подразделения А, почему изменился телефон клиент, если они этого не делали ? Выход один - все же держать две записи, но с указанием равенства между ними (для выполнения различных суммарных отчетов, расчетов и т.п.). А как объяснить ВСЕМ пользователям ВСЕХ записей, что ОКАТО они должны сами менять и следить за этим? А знаете что будет с платежками без ОКАТО или с неверным ОКАТО? Необходимось указания в общем случае личной произвольной (даже конфиденциальной) информации для любой сущности не означает необходимость дублирования этой сущности. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2006, 13:30 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
Не стоит умножать сущностей сверх необходимого. Это я по поводу моделей ограничения доступа, временных записей, слияния и пр. Налицо есть логическое противоречие. Если мы говорим о проверке клиента на уникальность - это указание на единый справочник клиентов. И это хорошо. Но если при этом мы говорим, что подразделение А никак не должно знать о существовании клиентов, заведенных Б, - то это уже НЕ единый справочник. А свои, местечковые справочники А и Б. И вот тут ответ должен дать бизнес - а что же он, собссна, хочет? Как нужно решать данное противоречие? У меня, кстати, сложилось подозрение, что на самом деле проблема не в том, чтобы А вообще не знать о клиентах Б, а в необходимости разграничений где-то дальше - по платежам, балансам и т п. Не слияние, ни временные записи здесь не помогут - при слиянии могут меняться реквизиты, заведенные в др. подразделении, что опять же раскроет секрет первому подразделению. Я могу только предположить разрешение таких коллизий через администратора системы, имеющего доступ и клиентам А и к клиентам Б. Да, и кстати - это не вертикальное, а горизонтальное разделение прав. Вертикальное - по столбцам, т.е. по реквизитам (в данном примере). Nobody faults but mine... (LZ) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2006, 13:49 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
HibernateЕсть вот такая ситуация: заказчик захотел, чтобы доступ к справочнику клиентов разграничивался по вертикали. Тоесть пользователи подразделения А не видели и даже не догадывались о клиентах подразделения В. Складывается пренеприятнейшая ситуация с общими клиентами - когда пользователь создает клиента, а при вставке записи мы обнаруживаем, что такой клиент уже есть, но у этого пользователя к нему нет доступа.... Кроме варианта посоветовать пользователю обратиться в соседний отдел за правами доступа, в голову ничего не приходит, но тогда права доступа теряют всякий смысл - достаточно всего-лишь тупо пытаться добавить клиента и получать отказ в доступе, чтобы узнать, что такой клиент есть и он является клиентом соседнего подразделения... Заказчика убедить в комичности и нелогичности ситуации не получается. :-( Может кто подскажет дельную мысль? не понимаю, чем не устроит решение в виде промежуточного view (представления_для_отделаА) где будет Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2006, 14:05 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
Необхоидмо, чтобы не сами сотрудники создавали новых контрагентов, а только лишь формировали заявки о них с указанием всех необходимых реквизитов. А лицо(а), полномочные вести справочник(и), уже должно иметь доступ на изменение и т.п. Все равно никуда не деться от централизованного справочника контрагентов (партнеров,поставщиков,...), ибо неверное его ведение - это реальное попадание на деньги. Как минимум, необходим контроль всех существенных реквизитов, которые используются в первичных платежных и налоговых документах, и в случае неверного указания ИНН/КПП где-нибудь в п/п или сч-ф мало не покажется. И еще. Запись о контрагенте должна быть одна и только одна. Она характеризует именно контрагента, а не взаимоотношения с ним, и вся аналитика собирается именно по этой записи. И вопрос указания какой-то личной информации в разрезе подразеления здесь ни при чем. Это должно быть "рядом". Согласен полностью. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2006, 14:09 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
iscrafmПравда если у Вас само наличие клиента А является секретной информацией, а не взаимодействие с ним, тогда да - только дублирование записей и объединение в отчетности. в точку! - в принципе, я понимаю для чего такое может понадобиться - иногда есть клиенты, которые и не клиенты, а сотрудники скажем... других предприятий... но учет вести надобно... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2006, 01:28 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
в принципе, заказчик согласился, что задача нетривиальная. Он даже этот тред почитал :-) уже огромное спасибо всем участникам. Понимание проблемы заказчиком - 90% успеха. пока склоняется к варианту, когда все создают лишь заявки на создание клиента, а есть доверенные люди, которые уже выполняют эти заявки - либо заводят нового, либо дают доступ к существующему, как дополнительный бонус - повышается чистота справочника клиентов. P.S.Предоставление доступа к клиенту не означает предоставления доступа к документам и прочей связанной с этим клиентом информации. Это доступ только к ключевым полям. Остальная инфа - индивидуально по отделам. Тоесть каждый отдел заполняет свою допинформацию о клиенте. Как пример, статус - в одном отделе клиент может быть дилером, а во втором - простым покупателем. P.P.S. - это конечно спорно, я считаю что если клиент работает с подразделением холдинга, но знает, что это не отдельная компания, а всего лишь часть чего-то большего, то этот клиент имеет право рассчитывать на одинаково ровное отношение во всех подразделениях. Но это уж больше проблема постановки задачи - как принято работать с клиентом в конкретной фирме. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2006, 01:41 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
Hibernateто этот клиент имеет право рассчитывать на одинаково ровное отношение во всех подразделениях. А что Вы называете одинаково ровным? И, кстати, сам клиент запросто может являться "неровным". Скажем, вполне вероятна ситуация: у фирм А и Б по два отдела, работают А1<->Б1, А2<->Б2. При этом эти взаимодействия никак не пересекаются и кардинально отличаются; скажем, в А1 работают нормальные люди, а в А2 - моральные уроды. В результате в Б1 относятся к А как к хорошему партнеру, в Б2 - как к "вынуждены обслуживать шоб он сгорел", и при этом те и другие правы. HibernateНо это уж больше проблема постановки задачи - как принято работать с клиентом в конкретной фирме. Это неоспоримо. Плясать надо именно от бизнес-правил заказчика. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2006, 02:23 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
> как дополнительный бонус - повышается чистота справочника клиентов. Это миф. Без внятной информационной политики, которой у Вашего заказчика по определению нет, Вы просто получаете дополнительный геморрой. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2006, 11:25 |
|
Права доступа и повторяющиеся записи....
|
|||
---|---|---|---|
#18+
Сергей Васкецов MainframeЕсли клиент будет один, а пользователей его много, и они не должны знать об этом, то как объяснить пользователям подразделения А, почему изменился телефон клиент, если они этого не делали ? Выход один - все же держать две записи, но с указанием равенства между ними (для выполнения различных суммарных отчетов, расчетов и т.п.). А как объяснить ВСЕМ пользователям ВСЕХ записей, что ОКАТО они должны сами менять и следить за этим? А знаете что будет с платежками без ОКАТО или с неверным ОКАТО? Необходимось указания в общем случае личной произвольной (даже конфиденциальной) информации для любой сущности не означает необходимость дублирования этой сущности. Вопрос автор был в том, чтобы вводили данные каждое подразделение и ничгео не знало о клиентах другого. Вопрос был вроде не о частях , а о всеобщем незнании. Правильно это или нет (с моей точки зрения совершенно неправильно и держать надо одного клиента, а связку с отделом в том числе и финансовую разделять и по правам тоже) - это решать автору. Но в его постановке , придется дублировать. Надеюсь только, автор сменит постановку. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2006, 11:42 |
|
|
start [/forum/topic.php?all=1&fid=33&tid=1549364]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
134ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
82ms |
get tp. blocked users: |
2ms |
others: | 235ms |
total: | 499ms |
0 / 0 |